IoT Project: ESP 01 Kontrol Relay via Telegram
Sebelumnya telah dilakukan percobaan-percobaan kontrol menggunakan ESP01 ini. Aplikasi ini merupakan pengembangan dari postingan sebelumnya yaitu dasar pengendalian ESP 01 via telegram dan desain rangkaian ESP 01 menggunakan relay modul. Pastikan telah memahami langkah langkah pada percobaan sebelumnya. Langsung saja kita uji coba!
1. Desain Hardware
Untuk perancangan alatnya adalah sama seperti disini. Perangkat utama adalah ESP01, Relay Module, dan AC-DC power supply module. Susun perangkat sebagaimana pada wiring diagram.
2. Program
Untuk program ESP 01 dapat dilihat /copas di bawah ini (pastikan telah membuat bot telegramnya sehingga sudah mendapatkan BotTokennya):
**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 I/O 1 #define RELAY 0 //esp01 pin I/O 0 // Initialize Wifi connection to the router const char* ssid = "XXXXX"; //nama wifi hostpotnya const char* password = "XXXXX"; //password wifinya // Initialize Telegram BOT const char BotToken[] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; //bot token dari telegram bot WiFiClientSecure net_ssl; TelegramBot bot (BotToken, net_ssl); void setup() { pinMode(LED, OUTPUT); pinMode(RELAY, OUTPUT); digitalWrite(RELAY, 1);//Led mati 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 //cek device if (m.text.equals("cek")|| m.text.equals("Cek") || m.text.equals("CEK")){ bot.sendMessage(m.chat_id, "Device is Active Now"); } //on command if (m.text.equals("on")|| m.text.equals("On")|| m.text.equals("ON")){ digitalWrite(RELAY, 0); // relay nyala bot.sendMessage(m.chat_id, "The Lamp is now ON"); } //off command if (m.text.equals("off")|| m.text.equals("Off")|| m.text.equals("OFF")) { digitalWrite(RELAY, 1); //relay mati bot.sendMessage(m.chat_id, "The Lamp is now OFF"); } }
Sebelum upload program, pastikan board yang dipilih (ESP8266 Generic). Cara upload program ke ESP 01 juga sudah di jelaskan disini.
Testing
Sama seperti sebelumnya, dalam program terdapat 3 perintah yaitu cek, on dan off (silahkan untuk dikembangkan sesuai kebutuhan). Perintah dikirim melalui telegram kita ke telegram bot yang telah kita buat. Untuk mengetahui apakah perintah sudah terkirim ke bot, maka dibuatlah pesan konfirmasi yang menandakan perintah telah dilaksanakan. Namun model seperti ini bukan termasuk sistem close loop karena proses nyala lampu yang sebenarnya tidak terukur.
4 komentar
Tidak di beritahu?
Dn sya lngsung tes,lampu kedap-kedip terus tidak berhenti sudh nunggu smpe 1 jam bgtu trus knpa ya om.... ??