Tutorial Arduino Uno 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



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 :
  1. Kemudian buatlah rangkain untuk ESP8266 ESP-01 dengan Arduino Uno seperti pada gambar berikut :
  1. kemudian rubah pilihan board pada tool Arduino menjadi Generic ESP8266, jika belum ada coba ikuti tutorial Cara Install Board ESP8266 pada Arduino IDE
  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 

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 :
  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 :

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

chaerul

View Comments

  • 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.

  • 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

  • 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

  • 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

Recent Posts

Panduan Lengkap: Cara Menyiapkan Klaster Kubernetes pada Ubuntu 22.04 LTS

Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…

2 weeks ago

AplikasiAkademik.com: Solusi Terbaik untuk Manajemen Sekolah yang Efisien

Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…

7 months ago

Cara Mudah Menginstal OpenVPN Server di Ubuntu 20.04 di Huaweicloud Panduan Langkah demi Langkah

Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…

12 months ago

Install Docker Portainer dan Nginx Proxy Manager Ubuntu Server

Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…

1 year ago

Tutorial led blinking lengkap, Wiring & Code

Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…

1 year ago

Tutorial LCD Display Lengkap dengan wiring & code untuk pemula

Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…

1 year ago