Menghubungkan ESP12E (NodeMCU) dengan BOT Telegram Via Group Chat
Halo teman – teman semua, pada kesempatan ini DT Production akan memberikan tutorial IoT menggunakan Telegram dan ESP12E atau NodeMCU. Yang berbeda disini kita akan memasukan BOT Telegram kedalam suatu group chat sehingga kita dapat mengontrol atau memonitoring secara bersama – sama dengan member yang lain. contoh impelementasi ketika teman – teman akan membuat proyek dimana data pengukuran harus dikirim ke lebih dari 1 orang. Tentunya jika hanya menggunakan chat id dari setiap user maka kita harus mengirimkan chat ini ke 2 chat id yang berbeda atau kesimpulanya harus dikirim 2x. dengan teknik ini kita bisa mengirimkan ke satu group saja maka sudah dapat dilihat oleh kedua member group tersebut.
Pada percobaan ini DT Production menggunakan library CTbot dan sedikit modifikasi pada sketch example dan untuk board yang digunakan saya menggunakan produk IoT Project Controller. jika teman – teman berminat dengan produk ini, silahkan klik link berikut ini untuk melakukan pembelian via Tokopedia.
Alternatif lain teman – teman dapat menggunakan NodeMCU jika belum punya, teman – teman dapat membeli di toko DT Production yang ada di Tokopedia.
Karna di tutorial ini kita akan menggunakan 2 channel relay, jika teman – teman yang tidak menggunakan board IoT Project Controller maka teman – teman perlu menghubungkan pin IN1 & IN2 dari relay ke pin D1 & D2 yang ada di NodeMCU.
Teman – teman dapat mengikuti tutorialnya pada video berikut ini, jangan lupa like dan subscribe ya.
CTbot Library v3.0 | Download
/*
* ==========FROM==========
* https://dt-production.com
* ========================
*
* ======ONLINE STORE======
* https://www.tokopedia.com/dtproduction
* ========================
*
*/
#include "CTBot.h"
CTBot myBot;
const int R1 = 4;
const int R2 = 5;
String ssid = "XXXXXXXXXXXX" ;
String pass = "XXXXXXXXXXXX";
String token = "1279418750:XXXXXXXXXXXXX" ;
int groupID = -1234567;
void setup() {
Serial.begin(115200);
pinMode(R1, OUTPUT);
pinMode(R2, OUTPUT);
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);
Serial.println("Starting TelegramBot...");
myBot.wifiConnect(ssid, pass);
myBot.setTelegramToken(token);
if (myBot.testConnection())
Serial.println("\ntestConnection OK");
else
Serial.println("\ntestConnection Not OK");
myBot.sendMessage(groupID, "Sistem siap dijalankan");
}
void loop() {
TBMessage group;
if (myBot.getNewMessage(group)) {
if (group.text.equalsIgnoreCase("RELAY 1 ON")) {
myBot.sendMessage(groupID, "Relay 1 dinyalakan");
digitalWrite(R1, HIGH);
delay(2000);
}
else if (group.text.equalsIgnoreCase("RELAY 1 OFF")) {
myBot.sendMessage(groupID, "Relay 1 dimatikan");
digitalWrite(R1, LOW);
delay(2000);
}
if (group.text.equalsIgnoreCase("RELAY 2 ON")) {
myBot.sendMessage(groupID, "Relay 2 dinyalakan");
digitalWrite(R2, HIGH);
delay(2000);
}
else if (group.text.equalsIgnoreCase("RELAY 2 OFF")) {
myBot.sendMessage(groupID, "Relay 2 dimatikan");
digitalWrite(R2, LOW);
delay(2000);
}
}
}
Update CTbot Tidak Jalan
Sejak tanggal 9 Juni 2020 bnyk yg bertanya kepada admin bahwa dengan Library CTbot saat tes koneksi. ketika admin chek example echobot dari library ini ternyata memang benar.
Setelah melakukan kulik pada library tsbt Admin sudah temukan solusinya,
Penyelesaian
Tutup Arduino IDE jika sedang dijalankan. Kemudian masuk ke direktori libraries arduino dan masuk pada direktori src pada library CTbot. Penyimpanan default berada di :
Documents\Arduino\libraries\CTBot\src\
Buka file berikut dengan teks editor atau kode editor :
CTbot.cpp
Copy update IP Address dari website api.telegram.org (cek ip terbarunya, bisa saja berbeda)
149.154.167.220
Pada file CTbot.cpp perhatikan pada listning program :
define TELEGRAM_IP “149.154.167.198”
Ganti IP Address dengan update IP Address dari website api.telegram.org, menjadi :
define TELEGRAM_IP “149.154.167.220”
Copy update SSL Fingerprint dari website api.telegram.org (cek fingerprint terbarunya, bisa saja berbeda dan jika berbeda tambahkan 0x di depan).
0xF2, 0xAD, 0x29, 0x9C, 0x34, 0x48, 0xDD, 0x8D, 0xF4, 0xCF, 0x52, 0x32, 0xF6, 0x57, 0x33, 0x68, 0x2E, 0x81, 0xC1, 0x90
Pengecekan fingerprint dari website api.telegram.org dapat dicek pada website https://www.grc.com/fingerprints.htm
Pada file CTbot.cpp perhatikan pada listning program :
const uint8_t fingerprint[20] = { 0xBB, 0xDC, 0x45, 0x2A, 0x07, 0xE3, 0x4A, 0x71, 0x33, 0x40, 0x32, 0xDA, 0xBE, 0x81, 0xF7, 0x72, 0x6F, 0x4A, 0x2B, 0x6B };
Paste update SSL Fingerprint dari website api.telegram.org diantara {…}
Kurang lebih hasilnya sebagai berikut.
const uint8_t fingerprint[20] = { 0xF2, 0xAD, 0x29, 0x9C, 0x34, 0x48, 0xDD, 0x8D, 0xF4, 0xCF, 0x52, 0x32, 0xF6, 0x57, 0x33, 0x68, 0x2E, 0x81, 0xC1, 0x90 };
Save jika sudah mengubahnya.
Jalankan kembali Arduino IDE, dan teman – teman bisa mengujicoba dengan melakukan upload sketch project kembali. Semoga bisa membantu dan berikut ini Dokumentasinya. Terima kasih.