Telegram? ya dengan fitur robot chat di telegram kita bisa mengontrol device dengan mudah dan praktis. Misal kita kelupaan mematikan peralatan di rumah, sedangkan kita sedang jauh entah dimana. Dengan fitur ini sangat bermanfaat karena bisa kita akses kapan dan dimana saja selama terhubung dengan internet.

Kontroler yang dipakai yaitu esp-01 kemudian dihubungkan dengan shiled relay esp-01.

Alat dan bahan :

  • ESP-01 Shiled Relay Iot, BELI
  • USB to Serial FTDI/yang lain, BELI
  • Kabel jumper, BELI
  • Breadboard, BELI
  • Push Button, BELI

Untuk cara upload programnya silahkan rangkai sesuai gambar di bawah dengan Flash Mode.

keterangan :

Untuk menggunakan telegram silahkan anda ikuti tutorial di bawah.

MEMULAI MENGGUNAKAN TELEGRAM PADA NODEMCU

Selanjutnya pindah ke sketch program dulu untuk mengupload program ke esp-01, dan jangan lupa untuk memasukan API token yang sudah didapat.

Sketch Program

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

char ssid[] = "xxxxxxx";
char password[] = "xxxxxx";

#define BOTtoken "863019812:AAHrau-2-AewdkuEap5Di_A" //token
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);

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

#define relayPin 0 //gpio 0
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 == "/on") {
      digitalWrite(relayPin, LOW);
      ledStatus = 1;
      bot.sendMessage(chat_id, "Lampu sudah nyala", "");
    }
    else if (text == "/off") {
      ledStatus = 0;
      digitalWrite(relayPin, HIGH);
      bot.sendMessage(chat_id, "Lampu sudah mati", "");
    }
    else if (text == "/status") {
      if (ledStatus) {
        bot.sendMessage(chat_id, "Status lampu nyala", "");
      }
      else {
        bot.sendMessage(chat_id, "Status lampu mati", "");
      }
    }
    else if (text == "/start") {
      String welcome = "Perintah : \n";
      welcome += "/on\n";
      welcome += "/off\n";
      welcome += "/status";
      bot.sendMessage(chat_id, welcome);
    }
  }
}

void setup() {
  Serial.begin(9600);
  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, HIGH); // matikan led
}

void loop() {
  if (millis() > Bot_lasttime + Bot_mtbs) {
    int numNewMessages = bot.getUpdates(bot.last_message_received + 1);

    while (numNewMessages) {
      Serial.println("Memeriksa Respon");
      handleNewMessages(numNewMessages);
      numNewMessages = bot.getUpdates(bot.last_message_received + 1);
    }

    Bot_lasttime = millis();
  }
}

Upload dengan board : Generic ESP8266 Module

Buka Serial Monitornya baudrate 9600, pastikan sudah terhubung dengan wifi anda.

Lepas ESP-01 hubungkan ke ESP-01 Shield Relay dilanjut supply dengan tegangan 5V.

  • Buka telegram¬† > cari di pencarian nama bot telegram yang sudah dibuat sebelumnya > Start
  • Dsini terdapat 3 buah perintah :
    – /on : untuk menghidupkan relay
    – /off : untuk mematikan relay
    – /status : untuk mengecek status relay sekarang
  • Selanjutanya silahkan uji coba dengan mengirim perintah di atas.

Untuk respon jawaban dari telegram sekitar 1 menit, jadi tunggu aja sampai ada jawaban.

Selamat sampai disini anda sudah bisa mengontrol relay menggunakan telegram dan ESP-01. Semoga bermanfaat.

Kategori: NodeMCU

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Scroll Up
id_IDIndonesian
en_USEnglish id_IDIndonesian