By | 03/12/2020
Arduino dan ESP-01 Kontrol Relay Telegram Bot

Pada kesempatan kali ini saya akan menuliskan artikel tentangĀ ESP8266, Tutorial Arduino Uno dan ESP-01 Kontrol Relay Telegram Bot.

Arduino dan ESP-01 Kontrol Relay Telegram Bot
Arduino dan ESP-01 Kontrol Relay Telegram Bot



ESP8266
untuk tipe ESP-01 hanya memiliki dua buah GPIO, namun meskipun begitu esp-01 sendiri sudah bisa di isi program langsung. untuk itu tutorial kali ini kita akan mengisi program untuk ESP-01 sendiri dan juga untuk Arduino Uno sendiri.

Baiklah berikut adalah langkah ESP8266,Tutorial Arduino Uno + ESP-01, Kontrol Relay Telegram Bot

  1. Upload Program Kosong pada Arduino Uno, seperti gambar berikut :
ESP8266,Tutorial Arduino Uno + ESP-01, Kontrol Relay Telegram Bot
 
  1. Kemudian buatlah rangkain untuk ESP8266 ESP-01 dengan Arduino Uno seperti pada gambar berikut :
ESP8266,Tutorial Arduino Uno + ESP-01, Kontrol Relay Telegram Bot
  1. kemudian rubah pilihan board pada tool Arduino menjadi Generic ESP8266, jika belum ada coba ikuti tutorial Cara Install Board ESP8266 pada Arduino IDE
ESP8266,Tutorial Arduino Uno + ESP-01, Kontrol Relay Telegram Bot
  1. Download library UniversalTelegram bot pada link Berikut
    https://github.com/witnessmenow/Universal-Arduino-Telegram-Bot

pasang kedua library tersebut pada arduino IDE.

  1. Kemudian buatlah program seperti berikut :

Kode ESP-01 dengan Arduino IDE

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
// Initialize Wifi connection to the router
char ssid[] = "KOST_RAMA";     // your network SSID (name)
char password[] = "bayardulu500"; // your network key
// Initialize Telegram BOT
#define BOTtoken "518247654:AAGnJ3bwQoixeX4nDDLb-JdmA1vPsD85gRo"  // your Bot Token (Get from Botfather)
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
int Bot_mtbs = 1000; //mean time between scan messages
long Bot_lasttime;   //last time messages' scan has been done
bool Start = false;
const int ledPin = 13;
int ledStatus = 0;
void handleNewMessages(int 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";
    Serial.print(text);
  }
}

void setup() {
  Serial.begin(9600);
  // Set WiFi to station mode and disconnect from an AP if it was Previously
  // connected
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);
  // attempt to connect to Wifi network:
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}
void loop() {
  if (millis() > Bot_lasttime + Bot_mtbs)  {
    int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
    while(numNewMessages) {
      handleNewMessages(numNewMessages);
      numNewMessages = bot.getUpdates(bot.last_message_received + 1);
    }
    Bot_lasttime = millis();
  }
}

Jika berhasil di upload silahkan cek terlebih dahulu dengan mengirimkan kata atau kalimat dari telegram melalui Bot yang sudah di buat, jika belum bisa membuat bot nya, coba baca artikel berikut Tutorial Telegram Bot dengan Nodemcu + Cara Membuat Bot Telegram 

ESP8266,Tutorial Arduino Uno + ESP-01, Kontrol Relay Telegram Bot

karena tujuan kita akan mengontrol sesuatu pada Arduino Uno, maka selanjutnya kita akan membuat program untuk Arduino itu sendiri. kita lanjutkan tutorialnya

  1. Rubahlah rangkaianya menjadi seperti pada gambar berikut :
ESP8266,Tutorial Arduino Uno + ESP-01, Kontrol Relay Telegram Bot
  1. Rubahlah pilihan Board pada tool Arduino menjadi Arduino Uno kembali.
  2. Uploadlah program berikut ini untuk mengontrol LED pada pin13 Arduino Uno melalui Telegram

Kode Arduino IDE untuk Arduino Uno

#include <SoftwareSerial.h>
SoftwareSerial serial(2,3);
String data;
char c;
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
while (serial.available()>0){
  delay(10);
  c =serial.read();
  data+=c;
}
if (data.length()>0){
  Serial.println(data);
  if (data=="13 on"){
    digitalWrite(13, 1);
  }
  else if (data=="13 off"){
    digitalWrite(13, 0);
  }
  data="";
}
}

Download Project Program diatas : Download 
berikut adalah gambar hasilnya :

ESP8266,Tutorial Arduino Uno + ESP-01, Kontrol Relay Telegram Bot

mungkin cukup sekian tutorial kali ini semoga bermanfaat, dan jika ada yang ingin di tanyakan silahakn berkomentar di bawah atau kita berdiskusi di WA, klik Icon WA untuk terhubung langsung dengan Saya.

tambahan :

– Hubungkan GND ke GPIO0 ESP
-Sebelum board di set ke GENERIC ESP8266 pastikan Board Arduino Uno tidak menyimpan program (Upload program kosong terlebih dahulu)
-saat upload program kosong untuk Arduino Uno, jangan hubungkan TX RX ESP ke TX RX Arduino
– setelah Arduino Uno tidak menyimpan Program lagi, lepas Kabel USB kemudian pasang kembali.
– baru pilih Board untuk Generic ESP8266 Module

Keyword

ESP-01 Arduino Uno Telegram,
Cara Mengakses Arduino Uno dengan Telegram,
Cara Kontrol Relay dengan Telegram menggunakan Arduino Uno,
Kontrol Relay Telegram Arduino Uno + ESP8266 ESP-01,
ESP-01 Telegram Bot,
Tutorial ESP-01 Telegram Bot,
Tutorial Arduino Uno Telegram

6 Replies to “Tutorial Arduino Uno dan ESP-01 Kontrol Relay Telegram Bot”

  1. ESP

    Gan kok untuk program ke ModulESP8266 eror terus ya, saya make arudino mega coba dengan arduino nano ttp status exit, board kebaca yang arduino terus.

    Reply
  2. ESP

    Gan kok untuk program ke ModulESP8266 eror terus ya, saya make arudino mega coba dengan arduino nano ttp status exit, board kebaca yang arduino terus. Terimakasih

    Reply
  3. indra

    bang code yang ke esp nya eror bang bagian yg ini –>>for (int i=0; i<numNewMessages; i++)
    “lt” was not declared in thi sc0pe ada solusi nga bang?
    mkasih bang

    Reply
    1. admin Post author

      tambahkan deklarasi varibalenya bang

      Reply
  4. biu

    bg, apakah ini bisa juga untuk notifikasi ke telegram spt jika ada kebakaran maka akan ada notif ke telegram. dan apakah pembacaan sensor yg di arduino tidak akan berubah jika di serialkan dengan modul wifi esp-01 ini?
    terimakasih sebelumnya

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *