Lompat ke konten Lompat ke sidebar Lompat ke footer

Kontrol Relay dengan Telegram Bot 2022



 Halo semuanya, pada kesempatan kali ini kita akan belajar membuat alat yang fungsinya untuk mengendalikan peralatan listrik yan dimana di sini kita akan mengendalikan reay lalu relay itu berfungsi untuk membuka dan menutup tegangan.

Pada kali ini kita memanfaatkan bot yang ada di telegram, yang dimana bot tersebut akan mengirimkan atau menerima sinyal dari bot telegram ke node-mcu atau sebaliknya dari node mcu ke bot telegram, jadi node-mcu dan bot telegram ini dapat berkomunikasi dua arah ya. 

Sekedar menginformasikan saja kalau telegrambot ini dapat kita gunakan secara gratis tanpa biaya sama sekali, dan kita juga dapat menggunakanya kapan pun dan tanpa batasan.

Oke Pertama-tama kita membuat bot telegramnya terlebih dahulu, yang belum punya aplikasi telegram bisa di download terlebih dahulu di playstore atau di appstore, setelah terinstall, silahkan ketik di kolom pencarian yaitu BotFather sama seperti yang saya contohkan pada gambar di bawah ini.



Setelah terbuka Botfather nya silahkan klik kirim pesan /newbot untuk membuat bot telegram baru, setelah ada balasan Alright silahkan buat nama bot yang akan di buat, nama disini nggak harus unik jadi bebas untuk membuat nama bot nya dan juga di izinkan untuk menyertakan spasi untuk nama botnya, setelah ada balasan Good, silahkan kirimkan nama link untuk botnya, nah nama ini harus unik yang berarti jika sudah ada yang menggunakan kita tidak bisa menggunakan kembali, buat lik nya seunik mungkin, jikaada balasan Done! berarti bot kita sudah siap di gunakan, tapi jika balasanya tidak done, silahkan buat nama link nye yang lebih unik lagi.


Nah gambar di atas adalah contoh bot yang sudah saya buat, menurut saya bot di atas terlalu simple dan mudah di tebak, maka di sini saya akan membuat bot kembali yang lebih susah di tebak dengan cara membuat link yang aga rumit.

Oke disini saya membuat bot seperti biasa, yang membedakanya adalah link bot nya yang sangat unik dan sangat susah di tebak, oiya sekedar informasi aja kalau pembuatan link nya tidak bolaeh diawali dengan angka ya, di sini saya mencoba mengawalinya dengan ngka namun gagal, dengan belasan Sorry, oiya untuk pebuatan link bot harus diakhiri dengan bot ya, jadi setiap pembuatan link boh harus diakhiri dengan bot

Setelah terbuat bot nya, silahkan di catat API nya, api itu bisa kita umpamakan sebagai identitas dari bot yang kita buat.

Okey sekarang kita buat di bagian programnya, sebelu itu kita perlu downloag library yang bernama CTBot fungsi librari ini untuk memuahkan kita untuk membuat projek, jadi dengan adanya liibrary inikita tidak perlu menuliskan program yang cukup rumit semua program yang kita butuhkan untuk berkomunikasi dengan bot yang telah kita buat tadi sudah terinclude pada library ini, jadi kita hanya perlu memanggil fungsi-fungsinya saja.

Sedikit pejelasan tentang API

Tadi pada aat kita membuat bot telegram kita di berikan sebuah token API, apa sih API itu?, API merupakan kepanjangan dari Application Programming Interface (Antarmuka Pemrograman Aplikasi), api ini berfungsi untuk menyimpan data berupa text, data-data tersebuat di simpan pada suatu server data yang tersimpan tersebut tersebut dapat di ubah an di ganti isinta, bisa di analoginak API ini seperti variable yang sifatnya online, dapat di akses kapanpun dan di manapun.
Jadi API bot telegram ini menyimpan identitas dari bot yang kita buat tadi dan pesan yang kita kirim dan kita terima juga disimpan pada API ini, bahkan data waktu pesan yang kita kirimkan juga tersimpan di api ini, jadi api ini menyimpan semua lalulintas data yang kita lakukan.

Okey saatnya kita buat upload programya, dibawah ini ada contoh program untuk mengetas apakah bot yang kita berfungsi dengan baik.

sbelum di upload ada beberapa yang harus di isi seperti nama wifi, password wifi dan tokon api yang sudah kita uat tadi, di sini saya contohkan menguakan token api yang sudah saya buat tadi, silahkan token itu di ganti dengan token bot yang kmu buat.

Untuk library yang kita gunakan adalah library CTbot, jika di komputer teman teman belum terinstal librarinya silhkan downlod di SINI seteleh di download silahkan di ekstrak ke sini C:\Users\user\Documents\Arduino\libraries, setelah semuanya sudah siap saatnya program di bawah ini di upload

Arduino Code
#include "CTBot.h"
CTBot myBot;

String ssid  = "mySSID"    ; // Masukan Nama Wi-Fi
String pass  = "myPassword"; // Masukan Password Wi-Fi 
String token = "5397791019:AAEoZL5urOxn3BGK2ozNh8CZa6we82G-c9Q"   ; // Masukan Token Telegram bot

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");
}

void loop() {
	// a variable to store telegram message data
	TBMessage msg;

	// if there is an incoming message...
	if (CTBotMessageText == myBot.getNewMessage(msg))
		// ...forward it to the sender
		myBot.sendMessage(msg.sender.id, msg.text);
	 
	// wait 500 milliseconds
	delay(500);
}
stelah program terupload silahkan klik lik yang terletakpada gambar di bawah, link itu untuk menuju bot yang kita buat tadi 


Maka tampilanya akan seperti ini, ini adalah tampilan bot uang telah kita buat.


Setelah terbuak silahkan klik start untuk memulai, oiya progran yang telah terupload tadi berfungsi untuk membalas setiap pesan yang kita kirimkan, pesan yang kita kirimkan akan di kirimkan kembali oleh kontroller kita. 


Bisa kalian lihat gambar di atas, saya mencoba mengirim pesan ke bot telegram, dan bot tersebut selalu membalas pesan yang saya kirimkan dan balasan dati bot tersebut selalu sama dengan pesan yang saya kirimkan, nah di sini suah cukup membuktikan bahwa bot yag kita buat sudah berfungsi dengan baik, dari bot ini kita dapat memanfaatkan bot tersebut untuk menjalankan perintah pada kontroller kita, contohnya utuk menyalahak lampu melalu relay dan peralatan lainya yang apat di kontrol melalui relay.

Kontrol relay dengan Bot telegram

Sekarang kita akan mengendalikan relay dengan bot telegram sebelum itu silahkan siapakan terlebih dahulu bahan-bahan yang kita perlukan seperti berikut ini.
  • NodeMCU
  • Relay 5v
  • kabl jumper
Seteleh bahan-bahan terkumpul, silahkan rangkai seperti bambar dibawah ini, jangan sampai ada yang terbalik atas salah dalam pemasangan ya, jika ada yang salah maka projek kita tidak akan berjalan seperti semestinya.






Setelah selesai merangai seperti schematic di atas, selanjutnya silahkan upload program berikut ini 
Arduino Code
String ssid  = "SSID";          // Masukan Nama Wi-Fi
String pass  = "Password";      // Masukan Password Wi-Fi 
String token = "tokenTelegram"; // Masukan Token Telegram bot
uint8_t relay = D3;             // Pin Relay

void setup() {
	Serial.begin(115200);
	Serial.println("Starting TelegramBot...");

	myBot.wifiConnect(ssid, pass); // Konek ke wifi
	myBot.setTelegramToken(token); //konfigurasi token

	if (myBot.testConnection())// ngecek apakah dapat terhubung dengan server telegram
		Serial.println("\ntestConnection OK"); //jika dapat terhubung dengan server
	else
		Serial.println("\ntestConnection NOK"); //jika tidak bisa terhubung dengan server

	pinMode(relay, OUTPUT); //menjadikan pin menjadi output
	digitalWrite(relay, HIGH); // memaikan relay

}

void loop() {
	TBMessage msg; //variable pesan 

	if (CTBotMessageText == myBot.getNewMessage(msg)) {

		if (msg.text.equalsIgnoreCase("nyalakan relay")) {                 // jika pesan masuk adalah "nyalakan relay" maka blok if akan di eksekusi
			digitalWrite(relay, LOW);                                        // menyalakan relay
			myBot.sendMessage(msg.sender.id, "okay relay sudah nyala nih");  // akan mengirimkan balasan ke pengguna dengan pesan "okay relay sudah nyala nih"
		}
		else if (msg.text.equalsIgnoreCase("matikan relay")) {             // jika pesan masuk adalah "matikan relay" maka blok if akan di eksekusi
			digitalWrite(relay, HIGH);                                       // mematikan relay
			myBot.sendMessage(msg.sender.id, "okay relay sudah mati nih");   // akan mengirimkan balasan ke pengguna dengan pesan "okay relay sudah mati nih"
		}
		else {                                                             // jika syarat if diatas tida ada yang teroenuhi maka blok ini akan di eksekusi
			myBot.sendMessage(msg.sender.id, "Pesan Tidak Terdaftar");       // akan menginformasikan bahwa pesan yang di kirim belum terdaftar atai tidak terdeftar
		}
	}
	delay(500);                                                          //jeda setengah detik untuk mengulangi siklus berikutnya
}

Sebelum di upload silahkan diisi dengan wifi dan token teman-teman terlebih dahulu, jika semua sudah di setting silahkan di upload. 



Setelah program terupload silahkan di kirim prsan melalui pesan telegram bot dengan perintah "nyalakan relay" maka akan menyalak relay dan akan mengirimkan balasan ke kita dengan isi pesan "okay relay sudah nyala nih", kalau kita kirimkan pesan "matikan relay" maka akan mematikan relay dan akan ada balasan "okay relay sudah mati nih", tapi jika kita kirimkan pesan berbeda dengan pesan di atas maka akan mengirimkan pesan "Pesan Tidak Terdaftar"...

oke itu dia titorial ada kali ini, jangan lupa kunjungi sosial media badar teknok lainya di Youtube dan intagram.