Hallo sobat warriornux, pada pembahasan ini kita akan membahas update dari artikel sebelumnya yang membahas mengenai komunikasi nodemcu esp8266 dengan telegram.
Materi ini hanyalah materi update, karena pada artikel sebelumnya kita sudah membahas mengenai cara kontrol relay nodemcu esp8266 melalui telegram. Akan tetapi library yang digunakan pada artikel tersebut sudah tidak dapat digunakan lagi “Abadon”.
Kalian dapat mengakses materi sebelumnya mengenai telegram pada link berikut : ESP8266 IoT TelegramBot – Kontrol Relay Lampu via Internet
Setelah saya melakukan riset kembali, saya menemukan library telegram yang dapat digunakan untuk mengirim pesan dari telegram ke nodemcu esp8266. Yaitu dengan menggunakan library CTBot.
Library ini cukup mudah untuk digunakan, karena scriptnya tidak jauh berbeda dengan TelegramBot yang sudah kita bahas pada artikel sebelumnya. Baik kalau begitu kita langsung saja masuk kedalam pembahasan.
Contents
Persiapan dan Bahan
Komponen yang diperlukan untuk praktik kali ini tidak jauh berbeda dengan artikel sebelumnya, yaitu adalah sebagai berikut :
- Nodemcu/ESP8266
- Relay
- Lampu
- Hanphone yang sudah di install Telegram
Rangkaian
Rangkaian yang kita gunakan pada pembahasan ini masih sama dengan rangkaian pada artikel sebelumnya, kira-kira sebagai berikut :


Membuat TelegramBot
Agar kita dapat mengirimkan pesan dari telegram ke nodemcu esp8266, kita perlu memiliki Bot Telegram sebagai penjembatan komunikasinya. Kita dapat membuatnya menggunakan akun BotFather dan lakukan setup seperti berikut.

Setelah berhasil membuat sebuah bot telegram, disana kita akan diberikan sebuah Token HTTP API yang nantinya akan kita masukan kedalam program nodemcu esp8266.
Sketch Program
Sebelum kita masuk kedalam sketch program, kita harus menambahkan terlebih dahulu library dari CTBot yang dapat kalian download di alamat berikut : https://github.com/shurillu/CTBot
Library tersebut membutuhkan dukungan dari ArduinoJson, maka pastikan kita menginstallkan library tersebut juga di Arduino IDE yang kita miliki dengan versi 5.13.5.
Berikut adalah sketch programnya.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
#include "CTBot.h" CTBot myBot; String ssid = "warriornux.com"; String pass = "1234567890"; String token = "token telegram masukan disini"; const int lampu = 16; void setup() { // initialize the Serial Serial.begin(115200); Serial.println("Starting TelegramBot..."); // connect the ESP8266 to the desired access point myBot.wifiConnect(ssid, pass); // set the telegram bot token myBot.setTelegramToken(token); // check if all things are ok if (myBot.testConnection()) Serial.println("\ntestConnection OK"); else Serial.println("\ntestConnection NOK"); // set the pin connected to the LED to act as output pin pinMode(lampu, OUTPUT); digitalWrite(lampu, HIGH); // turn off the led (inverted logic!) } void loop() { // a variable to store telegram message data TBMessage msg; // if there is an incoming message... if (myBot.getNewMessage(msg)) { if (msg.text.equalsIgnoreCase("On")) { //Perintah dari telegram ke perangkat digitalWrite(lampu, LOW); //Lampi dihidupkan myBot.sendMessage(msg.sender.id, "The Led is now ON"); //Balasan dari perangkat ke Bot Telegram } else if (msg.text.equalsIgnoreCase("Off")) { //Perintah dari telegram ke perangkat digitalWrite(lampu, HIGH); //Lampi dihidupkan myBot.sendMessage(msg.sender.id, "The Led is now OFF"); //Balasan dari perangkat ke Bot Telegram } else { // otherwise... // generate the message for the sender String reply; reply = (String)"Welcome " + msg.sender.username + (String)". Try LIGHT ON or LIGHT OFF."; myBot.sendMessage(msg.sender.id, reply); // and send it } } // wait 500 milliseconds delay(500); } |
Upload program ke perangkat nodemcu esp8266 yang kita miliki, pastikan bahwa kita sudah menghidupkan wifi untuk koneksi internetnya.
Hasil Percobaan
Tahap terakhir, kita coba buka telegram dan masuk ke Bot yang sudah kita buat sebelumnya. Coba berikan perintah untuk menghidupkan atau mematikan relay dari nodemcu esp8266 tersebut. Maka hasilnya tidak akan berbeda dengan gambar dibawah.

Kesimpulan
Kesimpulannya dengan menggunakan CTBot ini kita sudah dapat melakukan komunikasi dari Telegram ke Nodemcu ESP8266, kita bisa modif dan sesuaikan program dengan kebutuhan yang akan kita buat. Dan pastikan ArduinoJson berada pada versi 5.13.5 karena jika lebih dari versi tersebut, program tidak dapat di compile.