ESP8266 IoT Telegram- Kontrol Relay via Telegram dengan CTBot

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.

Persiapan dan Bahan

Komponen yang diperlukan untuk praktik kali ini tidak jauh berbeda dengan artikel sebelumnya, yaitu adalah sebagai berikut :

  1. Nodemcu/ESP8266
  2. Relay
  3. Lampu
  4. 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 :

Rangkaian ESP8266-12E Relay
Rangkaian Relay ESP8266 untuk Telegram
Rangkaian NodeMCU Relay
Rangkaian Relay Nodemcu untuk Telegram

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.

Membuat Bot Telegram dengan BotFather

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.

#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.

Hasil Pengiriman pesan Telegram ke Nodemcu ESP8266

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.

Tresna Widiyaman Avatar
Subscribe
Notify of
1 Comment
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
Khairul pad
Khairul pad
4 years ago

bismillah
bang ad contoh utk 2relay atau lebih ?