Kirim Pesan Dari NodeMCU ke Telegram – TelegramBot #1
Pengumuman: Karena Banyaknya laporan Pesan Tidak Terkirim, saya ganti library dengan CTBot, dan sudah di uji coba sukses terkirim.
Tutorial ini merupakan kelanjutan dari tutorial sebelumnya:
- Apa Itu NodeMCU ESP8266? Bagaimana Cara Pakenya?
- 2 Cara Sukses Menambahkan Board ESP8226 ke Arduino IDE!
- Program NodeMCU ESP8266 – Blink
Jadi biar gak bingung, agan harus nyoba terlebih dahulu Tutorial sebelumnya. (WAJIB, Bagi Yang Belum Nyoba).
***
Untuk mencoba mengirim pesan dari NodeMCU ke Applikasi telegram sangat mudah sekali, agan hanya perlu menyiapkan:
- NodeMCU – BELI KLIK DISINI
- Kabel USB – BELI KLIK DISINI
Ya hanya NodeMCU dan Kabel USB buat Upload program dari Arduino IDE ke NodeMCU. Jadi kali ini tidak ada rangkaian apa-apa ya, langsung ke pemrograman saja.
BUAT BOT di TELEGRAM dengan BotFather
Ssttt… Sebelum Program Arduino agan harus bikin dulu Bot di Telegram. Caranya:
1. Buka Applikasi Telegram, terus cari BotFather.
2. Lalu buka BotFather, Klik START. Lalu ketik /newbot , selanjutnya akan diminta memberikan nama bot dan username bot. Jika sudah makan akan muncul Token, seperti yang dilingkari merah dibawah ini. Simpan Token tersebut.
3. Kita juga harus mengetahui Id Telegram kita, caranya cari IDBot.
4. Klik /start , lalu ketik /getid. Nanti akan muncul id telegram kamu seperti yang dilingkari dibawah ini:
Oke sekarang agan sudah membuat Bot dan juga sudah mengetahui Token dan id telegram agan. Selanjutnya yang tidak kalah penting agan perlu masuk ke Bot yang sudah agan buat dan klik /start.
***
Sekarang waktunya buka Arduino IDE untuk Ngoding…
ADD LIBRARY CTBot dan ArduinoJson ke Arduino IDE
Nah sebelum koding, harus Add dulu 2 Library dibawah ini. WAJIB!
1. Download Library CTBot
2. Download Library ArduinoJson
Bagi yang belum tau cara Add Library ke Arduino IDE, silahkan buka Link berikut:
Bagaimana Cara Memasukan Library Ke Aplikasi Arduino IDE?
***
CONTOH PROGRAM KIRIM PESAN KE TELEGRAM
Jika sudah sukses Add library ke Arduino IDE, sekarang kita lanjut kepemrograman. Silahkan agan ketik ulang atau salin program dibawah ini
#include "CTBot.h"
CTBot myBot;
String ssid = "XXXX";
String pass = "XXXX";
String token = "XXXX";
const int id = 1234;
void setup() {
Serial.begin(9600);
Serial.println("Starting TelegramBot...");
myBot.wifiConnect(ssid, pass);
myBot.setTelegramToken(token);
if (myBot.testConnection()) {
Serial.println("Koneksi Bagus");
} else {
Serial.println("Koneksi Jelek");
}
myBot.sendMessage(id, "Tes Kelas Robot");
Serial.println("Pesan Terkirim");
}
void loop() {
}
Catatan:
String ssid = “XXXX”; –> pada koding bagian XXXX diganti dengan nama ssid atau username hotspot / wifi agan.
String pass = “XXXX”; –> yang bagian XXXX nya ganti dengan password hotspot / wifi agan.
String token = “XXXX”; –> yang bagian XXXX ini ganti dengan Token yang tadi udah kita buat Bot nya.
const int id = 1234; –> yang bagian 1234 ganti dengan id agan yang tadi udah diketahui.
myBot.sendMessage(id, “Tes Kelas Robot”); –> ini isi pesan yang dikirim “Tes Kelas Robot“, bisa agan ganti dengan yang agan inginkan.
Terkahir tinggal agan Upload, sampai Done Uploading.
Tunggu beberapa detik dan munculah pesan di Telegram dari Bot yang tadi udah agan buat.
Oke. Selamat mencoba ya agan-agan semua. Jika berhasil silahkan share dikomentar ya, biar teman-teman lainnya juga pada bersemangat, jika ada yang bingung juga share juga ya.
Tutorial selanjutnya:
NodeMCU Terima Pesan – TelegramBot #2
Kok gagal ya gan ?
Arduino: 1.8.13 (Windows 10), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200”
C:\Users\User\Documents\Arduino\libraries\CTBot\src\CTBotSecureConnection.cpp: In member function ‘String CTBotSecureConnection::send(const String&) const’:
C:\Users\User\Documents\Arduino\libraries\CTBot\src\CTBotSecureConnection.cpp:50:2: error: ‘BearSSL’ has not been declared
BearSSL::WiFiClientSecure telegramServer;
^
C:\Users\User\Documents\Arduino\libraries\CTBot\src\CTBotSecureConnection.cpp:50:28: error: expected ‘;’ before ‘telegramServer’
BearSSL::WiFiClientSecure telegramServer;
^
C:\Users\User\Documents\Arduino\libraries\CTBot\src\CTBotSecureConnection.cpp:51:2: error: ‘telegramServer’ was not declared in this scope
telegramServer.setFingerprint(m_fingerprint);
^
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
Untuk ERROR tersebut silakan Update Dulu …
Caranya:
1. di Arduino IDE klik Menu TOOLS
2. kemudian ke Board, Board Manager
3. Cari ESP8266 terus UPDATE
apakah tidak perlu menggunakan library wifi.h
Tidak perlu.
Dengan memilih pilihan Board NodeMCU 1.0, otomatis library wifi yang di perlukan udah ke Add.
saya sudah program sesuai dengan code diatas, tapi kok botnya di ada respon ya?
Coba cek di Serial Monitor terus tekan Tombol Reset, muncul apa
Kalo koneksi jelek, kemungkinan Salah masukin Token
atau SSID sama pass nya tidak sesuai
Ko ga mau konek ke tokennya ya, padahal kalo wifinya udah konek
Cek lagi tokennya udah bener apa belum… sesuaikan ya
mas library arduinojsonnya fungsinya buat apa ya mas?
Karena dalam Library CTBot ini sebenarnya menggunakan ArduinoJson
yang mana fungsinya untuk terima dan kirim data Json ke API Telegram nya.