Telegram bot Relay 8ChannelTelagram Arduino, NodeMCU
Apa Telegram Bot
Telegram boot adalah sebuah API ( Application programming interface ) yang memungkin kan seorang programmer mengintegrasikan dua aplikasi berbeda secara bersamaan dalam hal ini aplikasi chat Telagram dengan perangkat lain. Jadi chatting telegram yang biasa nya di aplikasi kan oleh manusia ( human user ), dengan Telegram BOT ini, maka chating bisa di balas oleh sebuah program.
Dengan API Telegram BOT ini bisa di koneksikan antara chat telegram dengan sebuah system, sebagai contoh di sini kita akan integrasikan dengan NodeMCU yang akan kita program dengan Arduino IDE. dengan system ini kita bisa mengontrol perangkat dimana saja di dunia ini dengan koneksi internet dan interface telegram. Tidak hanya mengontrol, kita juga bisa jadi kan sebagai monitoring alarm atau notifikasi yang kita inginkan. Sebagai contoh jika ada kerusakan pada sebuah system maka telegram bot kita akan menampilkan pemberitahuan di chat group bahwa ada kerusakan pada alat ini.

Bagaimana kah langkah langka pembuatan nya, apakah sajakah yang kita butuhkan, mari kita bahas satu-satu. keep reading.
Pembuatan Telegram Bot
Pembuatan telegram bot adalah hal yang penting dalam pembuatan system ini. Telegram bot adalah account kita yang akan kita setting sebagai telegram bot, yang akan kita program sehingga telegram bot akan dapat berinteraksi dengan perangkat NodeMCU nanti nya. Lebih jelas nya bagaiaman cara pembuatan telegram bot bisa di lihat pada video di bawah ini. Keep writing and waching.
untuk mendapat kan botfaher pada telegram, tinggal teman-teman searching aja di telegram nya botfaher. setelah dapat kemudian teman ikuti langkah-langkah seperti video di atas. Kita akan diminta membuat nama-nama telegram nya.
Setelah kita dapat kan nama telegram bot dari botfather, maka langkah selanjut nya adalah menyediakan NodeMCU, saya harap teman-teman sudah paham apa itu nodeMCU, kemudian bagaimana cara menambah board NodeMCU pada Arduino IDE. Sebagai refrensi bisa teman-teman baca di artikel mikroavr pada link di bawah ini
Program NodeMCU
Langkah selanjut nya adalah memprogram NodeMCU. NodeMCU akan bisa kita program jika sudah bertambah board NodeMCU pada Arduino IDE nya. Untuk menambah board NodeMCU bisa baca kembali pada artikel di atas.
Setelah board NodeMCU sudah ditambah di Arduino ide, langkah selanjut nya adalah menambah library telegram bot pada Arduino ide nya. Library nya dapat di download pada link berikut,
Setelah di tambah library nya, Bagaiamana kah program nya? coba kita lihat pada program di bawah ini
#include <ESP8266WiFi.h> #include <WiFiClientSecure.h> #include <ESP8266TelegramBOT.h> // Initialize Wifi connection to the router char ssid[] = "xxxxxxxxxxxxxxxxxxxxxx"; // your network SSID (name) char pass[] = "yyyyyyyy"; // your network key // Initialize Telegram BOT #define BOTtoken "your-token-telegram" //token of FlashledBOT #define BOTname "FlashledBot" #define BOTusername "FlashledBot_bot" TelegramBOT bot(BOTtoken, BOTname, BOTusername); int Bot_mtbs = 1000; //mean time between scan messages long Bot_lasttime; //last time messages' scan has been done bool Start = false; /******************************************** * EchoMessages - function to Echo messages * ********************************************/void Bot_ExecMessages() { for (int i = 1; i < bot.message[0][0].toInt() + 1; i++) { bot.message[i][5]=bot.message[i][5].substring(1,bot.message[i][5].length()); if (bot.message[i][5] == "\/ledon") { digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) bot.sendMessage(bot.message[i][4], "Led is ON", ""); } if (bot.message[i][5] == "\/ledoff") { digitalWrite(13, LOW); // turn the LED off (LOW is the voltage level) bot.sendMessage(bot.message[i][4], "Led is OFF", ""); } if (bot.message[i][5] == "\/start") { String wellcome = "Wellcome from FlashLedBot, your personal Bot on ESP8266 board"; String wellcome1 = "/ledon : to switch the Led ON"; String wellcome2 = "/ledoff : to switch the Led OFF"; bot.sendMessage(bot.message[i][4], wellcome, ""); bot.sendMessage(bot.message[i][4], wellcome1, ""); bot.sendMessage(bot.message[i][4], wellcome2, ""); Start = true; } } bot.message[0][0] = ""; // All messages have been replied - reset new messages } void setup() { Serial.begin(115200); delay(3000); // attempt to connect to Wifi network: Serial.print("Connecting Wifi: "); Serial.println(ssid); while (WiFi.begin(ssid, pass) != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); IPAddress ip = WiFi.localIP(); Serial.println(ip); bot.begin(); // launch Bot functionalities pinMode(2, OUTPUT); // initialize digital pin 2 as an output. } void loop() { if (millis() > Bot_lasttime + Bot_mtbs) { bot.getUpdates(bot.message[0][1]); // launch API GetUpdates up to xxx message Bot_ExecMessages(); // reply to message with Echo Bot_lasttime = millis(); } }
Cara Menjalankan Telegram Bot
Setelah program berhasil kita upload, sekarang coba hidupkan nodeMCU nya, check di Serial terminal, apakah nodeMCU nya sudah masuk ke jaringan wifi kita?
nodeMCU harus terhubung ke wifi yang sudah kita setting di program
jika sudah masuk ke jaringan wifi kita, maka coba ketik perintah seperti pada ganbar di bawa ini, “/ledoff”, “/ledon”, atau “/sensor”. Jika tidak ada masalah, maka telegram bot nya sudah bekerja dengan baik. Silahkan kembangkan program lain nya.

Kekurangan Program ini
Program di atas memiliki kekurangan-kekurangan yang menurut saya harus di sempurnakan pada riset selanjutnya, kekurangan nya antara lain sebagai berikut:
program bisa di akses public. siapa saja bisa mengontrol nya, karena program nya tidak di tentukan nomor siapa saja yang bisa mengakses kode. Untuk pengembang
an nya harus modifikasi library dari telegram ini. Agar telegram bot yang kita buat nanti ya hanya bisa di akses oleh nomor tertentu saja
kelemahan kedua adalah, alat ini tidak bisa di jalankan pada wilayah industry yang memiliki induksi tinggi, wifi modul pada nodeMCU akan terganggu oleh medan magnet di sekitarnya, untuk itu saya sarankan menggunakan modul LAN + Arduino.
Rasanya ingin juga memodifikasi program di atas untuk menjadi lebih baik. tapi seperti biasa, nunggu oprekan yang serupa biar seru.
opsss.. Program di atas sudah kita perbaiki, bagaimana cara membatasi user yang dapat akses telegram bot kita, artikel nya bisa teman-teman bisa klik link di bawah ini.
Semoga tulisan di atas dapat bermanfaat, Thanks