Kontrol ESP 8266 ESP 01 via Telegram

Tutorial kendali ESP 8266 ESP 01 via Telegram
Kontrol ESP 8266 ESP 01 via Telegram
Kontrol ESP 8266 via Telegram merupakan salah satu implementasi dari konsep IoT. Tentunya jangan disamakan dengan metode pengendalian dengan SMS karena cara kerjanya sudah sangat berbeda. Telegram merupakan sosial media perpesanan yang memiliki fitur bot. Bot adalah aplikasi pihak ketiga yang berjalan di dalam Telegram. Pengguna dapat berinteraksi dengan bot dengan mengirimi mereka pesan, perintah, dan permintaan sebaris. Kita dapat mengontrol bot menggunakan permintaan HTTPS ke API  (more about telegram bot). Inilah sebebnya untuk saat ini project IoT lebih banyak yang menggunakan telegram. Untuk aplikasi lainnya seperti Whatsapp sepertinya belum memberikan fitur ini secara terbuka (mungkin kedepannya). 
Pada tutorial ini kita akan mencoba mengendalikan ESP 01 via pesan menggunakan Telegram. Pastikan telah melakukan instalasi board ESP pada Arduino IDE (contoh tutorial). Selanjutnya ikuti langkah berikut:
Peralatan dan Bahan
Konfigurasi
Siapkan telegram bot nya. Buka aplikasi telegram (saya menggunakan telegram desktop), Cari Botfather =>pilih start=> buat newbot.
Kontrol ESP 8266 ESP 01 via Telegram
Selanjutnya masukkan nama bot dan username yang akan kita buat. Untuk username harus menyertakan kata "bot" di akhir kata. Misal "paijo_bot" atau "PaijoBot". Setelah itu kita akan mendapatkan Token untuk HTTP API. Token ini sebagai ID bot telegram yang selanjutnya di pasang pada ESP 01.
Kontrol ESP 01 menggunakan Telegram
Kontrol ESP 8266 ESP 01 via Telegram
Konfig bot beres. Selanjutnya konfigurasi donloadernya. Ada banyak alternatif untuk mengupload program dari Arduino IDE ke ESP 01. Pada intinya perangkat yang digunakan adalah converter USB Serial TTL. Salah satu perangkat yang dapat digunakan adalah ESP 01 USB Programmer  hanya saja perlu modifikasi untuk membuat ESP 01 dalam mode program. Yaitu dengan mengkoneksikan (jumper) pin GPIO 0 dengan pin GND dan pin CH_PD ke pin VCC
Kontrol ESP 01 menggunakan Telegram
Untuk mempermudah simulasi pengoperasian, kita dapat menggunakan pin header dan soket jumper. Saat ingin mengupload program ke ESP 01 maka soket dua-duanya harus terpasang. Apabila ingin mengoperasikan maka soket GPIO 0 dilepas terlebih dahulu.
Kontrol Arduino menggunakan Telegram
Kontrol Arduino menggunakan Telegram
Kontrol ESP 8266 ESP 01 via Telegram
Program
Sebelum melakukan coding, install terlebih dahulu library yang dibutuhkan (Telegram Bot dan Arduino Json) pada Arduino IDE.  Selanjutnya tinggal copas program dibawah ini.
**update 15/04/20: terdapat beberapa perubahan terkait library Arduino Json sehingga untuk amannya gunakan library TelegramBot versi 1.2.5 dan ArduinoJson versi 5.13.5

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <TelegramBot.h>
#define LED 1 //esp01 pin GPIO 1

// Initialize Wifi connection to the router
const char* ssid  = "AAAAAAA";         //nama wifi hostpotnya
const char* password = "BBBBBBBB";  //password wifinya


// Initialize Telegram BOT
const char BotToken[] = "CCCCCaBaBCaBccccABaBaBcabcabcB"; //token bot telegram

WiFiClientSecure net_ssl;
TelegramBot bot (BotToken, net_ssl);


void setup() {
  pinMode(LED, OUTPUT);
  while (WiFi.status() != WL_CONNECTED) {
    //led kedip-kedip kalau belum connect wifi
    digitalWrite(LED, 0);
    delay(200);
    digitalWrite(LED, 1);
    delay(200);
  }
  digitalWrite(LED, 1);//Led mati
  bot.begin();
}

void loop() {
    message m = bot.getUpdates(); // Read new messages
    if (m.text.equals("cek")|| m.text.equals("Cek") || m.text.equals("CEK")){   
        bot.sendMessage(m.chat_id, "Device is Active Now");   
    }  
    if (m.text.equals("on")|| m.text.equals("On")|| m.text.equals("ON")){   
        digitalWrite(LED, 0); // led nyala   
        bot.sendMessage(m.chat_id, "The Led is now ON");   
    }   
    if (m.text.equals("off")|| m.text.equals("Off")|| m.text.equals("OFF")) {   
        digitalWrite(LED, 1); //led mati   
        bot.sendMessage(m.chat_id, "The Led is now OFF");   
    }
}
Untuk lebih mudahnya kita akan mengendalikan Led indikator data pada ESP 01. Led tersebut tehubung dengan pin GPIO 1. Jadi logikanya saat menjalankan program ini maka tidak bisa melakukan komunikasi serial. Sebelum Upload program, pastikan Board yang di pilih adalah Generic ESP 8266 Module (Tools=>board=>ESP 8266 modul) dan juga nomor port com nya . Proses Upload Program dari Arduino IDE lumayan lama jadi harap sabar. Bila proses upload selesai, lepas soket GPIO 0 (program mode) dan lakukan uji coba.
mengendalikan relay via Telegram
Control ESP 8266 ESP 01 via Telegram

Saat ESP 01 proses koneksi ke wifi, maka led indikator akan berkedip (biru). Apabila sudah terkoneksi maka led indikator akan mati. Nah kalau sudah konek internet, maka langsung bisa dilakukan pemberian perintah. Dalam program teleh dibuatkan 3 contoh perintah yaitu "CEK" untuk memberikan status kalau perangkat siap digunakan, dan "ON" "OFF" untuk mengendalikan nyala LED.

Ok, itu saja untuk dasar dari kontrol ESP 01 via telegram. Aplikasi selanjutnya silahkan untuk berkreasi sesuai dengan ide dan kemampuan.

Pencarian Terkait:
  1. Mengendalikan ESP 8266 ESP 01 via Telegram
  2. ESP 8266 ESP 01 IoT Telegram
  3. Arduino IoT Telegram
  4. Mengendalikan Lampu dengan Telegram