Kontrol ESP 8266 ESP 01 via Telegram
Tutorial kendali ESP 8266 ESP 01 via Telegram
Kontrol ESP 8266 via Telegram merupakan salah satu implementasi dari konsep IoT. Tentunya jangan disamakan dengan metode pengendalian dengan SMS karena cara kerjanya sudah sangat berbeda. Telegram merupakan sosial media perpesanan yang memiliki fitur bot. Bot adalah aplikasi pihak ketiga yang berjalan di dalam Telegram. Pengguna dapat berinteraksi dengan bot dengan mengirimi mereka pesan, perintah, dan permintaan sebaris. Kita dapat mengontrol bot menggunakan permintaan HTTPS ke API (more about telegram bot). Inilah sebebnya untuk saat ini project IoT lebih banyak yang menggunakan telegram. Untuk aplikasi lainnya seperti Whatsapp sepertinya belum memberikan fitur ini secara terbuka (mungkin kedepannya).
Pada tutorial ini kita akan mencoba mengendalikan ESP 01 via pesan menggunakan Telegram. Pastikan telah melakukan instalasi board ESP pada Arduino IDE (contoh tutorial). Selanjutnya ikuti langkah berikut:
Peralatan dan Bahan
- ESP 01
- ESP 01 USB Programmer
Konfigurasi
Siapkan telegram bot nya. Buka aplikasi telegram (saya menggunakan telegram desktop), Cari Botfather =>pilih start=> buat newbot.
Selanjutnya masukkan nama bot dan username yang akan kita buat. Untuk username harus menyertakan kata "bot" di akhir kata. Misal "paijo_bot" atau "PaijoBot". Setelah itu kita akan mendapatkan Token untuk HTTP API. Token ini sebagai ID bot telegram yang selanjutnya di pasang pada ESP 01.
Konfig bot beres. Selanjutnya konfigurasi donloadernya. Ada banyak alternatif untuk mengupload program dari Arduino IDE ke ESP 01. Pada intinya perangkat yang digunakan adalah converter USB Serial TTL. Salah satu perangkat yang dapat digunakan adalah ESP 01 USB Programmer hanya saja perlu modifikasi untuk membuat ESP 01 dalam mode program. Yaitu dengan mengkoneksikan (jumper) pin GPIO 0 dengan pin GND dan pin CH_PD ke pin VCC
Untuk mempermudah simulasi pengoperasian, kita dapat menggunakan pin header dan soket jumper. Saat ingin mengupload program ke ESP 01 maka soket dua-duanya harus terpasang. Apabila ingin mengoperasikan maka soket GPIO 0 dilepas terlebih dahulu.
Program
Sebelum melakukan coding, install terlebih dahulu library yang dibutuhkan (Telegram Bot dan Arduino Json) pada Arduino IDE. Selanjutnya tinggal copas program dibawah ini.
**update 15/04/20: terdapat beberapa perubahan terkait library Arduino Json sehingga untuk amannya gunakan library TelegramBot versi 1.2.5 dan ArduinoJson versi 5.13.5
Untuk lebih mudahnya kita akan mengendalikan Led indikator data pada ESP 01. Led tersebut tehubung dengan pin GPIO 1. Jadi logikanya saat menjalankan program ini maka tidak bisa melakukan komunikasi serial. Sebelum Upload program, pastikan Board yang di pilih adalah Generic ESP 8266 Module (Tools=>board=>ESP 8266 modul) dan juga nomor port com nya . Proses Upload Program dari Arduino IDE lumayan lama jadi harap sabar. Bila proses upload selesai, lepas soket GPIO 0 (program mode) dan lakukan uji coba.
Saat ESP 01 proses koneksi ke wifi, maka led indikator akan berkedip (biru). Apabila sudah terkoneksi maka led indikator akan mati. Nah kalau sudah konek internet, maka langsung bisa dilakukan pemberian perintah. Dalam program teleh dibuatkan 3 contoh perintah yaitu "CEK" untuk memberikan status kalau perangkat siap digunakan, dan "ON" "OFF" untuk mengendalikan nyala LED.
Untuk mempermudah simulasi pengoperasian, kita dapat menggunakan pin header dan soket jumper. Saat ingin mengupload program ke ESP 01 maka soket dua-duanya harus terpasang. Apabila ingin mengoperasikan maka soket GPIO 0 dilepas terlebih dahulu.
Program
Sebelum melakukan coding, install terlebih dahulu library yang dibutuhkan (Telegram Bot dan Arduino Json) pada Arduino IDE. Selanjutnya tinggal copas program dibawah ini.
**update 15/04/20: terdapat beberapa perubahan terkait library Arduino Json sehingga untuk amannya gunakan library TelegramBot versi 1.2.5 dan ArduinoJson versi 5.13.5
#include <ESP8266WiFi.h> #include <WiFiClientSecure.h> #include <TelegramBot.h> #define LED 1 //esp01 pin GPIO 1 // Initialize Wifi connection to the router const char* ssid = "AAAAAAA"; //nama wifi hostpotnya const char* password = "BBBBBBBB"; //password wifinya // Initialize Telegram BOT const char BotToken[] = "CCCCCaBaBCaBccccABaBaBcabcabcB"; //token bot telegram WiFiClientSecure net_ssl; TelegramBot bot (BotToken, net_ssl); void setup() { pinMode(LED, OUTPUT); while (WiFi.status() != WL_CONNECTED) { //led kedip-kedip kalau belum connect wifi digitalWrite(LED, 0); delay(200); digitalWrite(LED, 1); delay(200); } digitalWrite(LED, 1);//Led mati bot.begin(); } void loop() { message m = bot.getUpdates(); // Read new messages if (m.text.equals("cek")|| m.text.equals("Cek") || m.text.equals("CEK")){ bot.sendMessage(m.chat_id, "Device is Active Now"); } if (m.text.equals("on")|| m.text.equals("On")|| m.text.equals("ON")){ digitalWrite(LED, 0); // led nyala bot.sendMessage(m.chat_id, "The Led is now ON"); } if (m.text.equals("off")|| m.text.equals("Off")|| m.text.equals("OFF")) { digitalWrite(LED, 1); //led mati bot.sendMessage(m.chat_id, "The Led is now OFF"); } }
Saat ESP 01 proses koneksi ke wifi, maka led indikator akan berkedip (biru). Apabila sudah terkoneksi maka led indikator akan mati. Nah kalau sudah konek internet, maka langsung bisa dilakukan pemberian perintah. Dalam program teleh dibuatkan 3 contoh perintah yaitu "CEK" untuk memberikan status kalau perangkat siap digunakan, dan "ON" "OFF" untuk mengendalikan nyala LED.
Ok, itu saja untuk dasar dari kontrol ESP 01 via telegram. Aplikasi selanjutnya silahkan untuk berkreasi sesuai dengan ide dan kemampuan.
Pencarian Terkait:
16 komentar
saya ijin bertanya mas, jadi saya punya rangkaian arduino uno dengan 2 sensor mq, untuk data yang di dapatkan dari sensor tersebut apakah bisa ditampilkan di telegram app seperti artikel ini...
mohon jawaban dan referensi rangkaian ataupun sketchnya bila ada mas, terimakasih sebelumnya...
klo mau pake kabel jumper baru ke bread board
Sya sudah upload coding,dn sudah sukses..
Lmpu led esp 01 nya sudah kedap kedip,tpi terus ja sperti itu tidak berhenti,knpa bisa gtu mas ya ?...
Mhon pencerahannya,dn terima kasih jwbnnya.