Cara Kontrol Relay Menggunakan Telegram NodeMCU Wemos

Pada kehidupan sehari-hari sering kita berpergian keluar rumah dengan waktu yang lama, entah karena ada keperluan kerja, jalan-jalan dan lain sebagainya. Kemudian rumah kosong dan biasanya kita menitipkan kunci rumah ke tetangga atau saudara untuk menyalakan lampu rumah ketika hari sudah petang dan mematikannya menjelang pagi. Hal ini tentu merepotkan ya, dan alangkah enaknya pada zaman modern ini kita harusnya dapat memanfaatkan teknologi yang sudah ada.

Nah pada kesempatan kali ini, ayo kita belajar bersama untuk memberikan solusi dari permasalahan di atas yaitu dengan memanfaatkan telegram. Sesuai judulnya kontrol relay menggunakan telegram dan NodeMCU/Wemos dimana relay ini dapat kita fungsikan untuk lampu rumah kita. Caranya hanya dengan menggunakan beberapa perintah Chat via telegram, kita sudah dapat menyalakan dan mematikan lampu rumah dari jarak jauh via internet. Oke langsung saja kita mulai....

Untuk membuatnya adapun bahan-bahan yang dibutuhkan :
- NodeMCU / Wemos atau board ESP lainnya
- Kabel Micro USB (bisa menggunakan kabel data smartphone android)
- Modul relay 1 Channel
- Kabel jumper female to female 3 pcs cukup

Library :
- ArduinJson_master, download
- UniversalTelegramBot, download

Untuk membuatnya kita memerlukan beberapa langkah, antara lain :
  1. Membuat Bot telegram, untuk mendapatkan token
  2. Merangkai rangkaian yang diperlukan
  3. Upload program Arduino IDE ke NodeMCU

Mari kita bahas satu persatu.

Membuat bot telegram

Temen-temen bisa mengikuti pembuatannya pada artikel yang sudah di bahas pada awal kita belajar  teIelgram di :

dan hasilnya bawah ini :

api token

Perlu diperhatikan pembuatan username harus berbeda dengan yang saya buat, yang terpenting adalah terdapat akhiran Bot ataupun _bot. Jika sudah simpan baik-baik API token yang sudah didapat seperti gambar di atas( (lihat tanda panah).

Rangkaian

telegram
Keterangan :

- Pin IN dihubungkan dengan pin D4
- GND dihubungkan ke pin GND
- VCC dihubungkan ke pin VV/VU atau ke catu daya eksternal

Untuk rangkaian wemos atau board esp lainnya sama saja ya. dan silahkan upload program di bawah ini.

Upload Program

Perhatikan program di bawah ini

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>

char ssid[] = "isi dengan nama wifi";
char password[] = "isi dengan password wifi";

#define BOTtoken "893692030:AAEg94jOKT01gxxxxxxxxxxxxkUUc"
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);

int Bot_mtbs = 1000;
long Bot_lasttime;
bool Start = false;

#define relayPin D4
int ledStatus;

void handleNewMessages(int numNewMessages) {
Serial.println("Pesan baru...");
Serial.println(String(numNewMessages));

for (int i = 0; i < numNewMessages; i++) {
String chat_id = String(bot.messages[i].chat_id);
String text = bot.messages[i].text;
String from_name = bot.messages[i].from_name;

if (from_name == "") {
from_name = "Guest";
}

if (text == "/nyalakan_lampu") {
digitalWrite(relayPin, LOW);
ledStatus = 1;
bot.sendMessage(chat_id, "Siap Bos, lampu sudah nyala", "");
}
else if (text == "/matikan_lampu") {
ledStatus = 0;
digitalWrite(relayPin, HIGH);
bot.sendMessage(chat_id, "Siap Bos, lampu sudah mati", "");
}
else if (text == "/status") {
if (ledStatus) {
bot.sendMessage(chat_id, "Lampu Nyala", "");
}
else {
bot.sendMessage(chat_id, "Lampu mati", "");
}
}
else if (text == "/start") {
String welcome = "Selamat datang " + from_name + ".\n";
welcome += "/nyalakan_lampu : untuk menghidupkan lampu\n";
welcome += "/matikan_lampu : untuk mematikan lampu\n";
welcome += "/status : untuk memeriksa status lampu";
bot.sendMessage(chat_id, welcome, " ");
}
}
}

void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect();

delay(100);
Serial.print("Mengkoneksikan dengan Wi-fi : ");
Serial.println(ssid);
WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}

Serial.println("");
Serial.println("Terhubung dengan wi-fi");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // matikan led
}

Silahkan download sketch lengkapnya relay_telegram.ino

Upload sketch program di atas, sampai done uploading, kemudian buka serial monitornya dengan baudrate 115200. Untuk memulainya silahkan buka telegramnya.
  • Ketikkan di pencarian nama username bot telegram yang sudah dibuat. Di sini yang saya buat adalah relay_meBot atau bisa nama bot telegramnya Control Relay
  • Klik Start
  • hasilnya seperti di bawah ini
telegram

Baca juga :


Note :
  • Pemanfaatan relay ini bukan hanya untuk lampu saja, bisa bermacam-macam seperti solenoid door lock, kipas, televisi dan masih banyak peralatan listrik lainnya.
  • Adanya masalah tidak ada respon ke telegram solusinya adalah silahkan temen-temen turunkan Versi Arduino IDE nya. Admin sendiri disini memakai versi 1.8.3.

    Link download Arduino IDE versi old. DOWNLOAD

Mudah bukan, semoga temen-temen bisa mengikutinya dan berhasil. Jika ada pertanyaan, silahkan komen di bawah ini/ hubungi saya langsung via WA. Terima kasih.

0 Response to "Cara Kontrol Relay Menggunakan Telegram NodeMCU Wemos"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel

Iklan Bawah Artikel