esp8266

Tutorial ESP8266 Mengirim ChatBot Ke Telegram

Tutorial ESP8266 Mengirim ChatBot Ke Telegram. Hallo pada tutorial kali ini kami akan membahas mengenai cara mengakses esp8266 agar dapat mengirim ChatBot Ke Platform Chat yang terkenal yaitu Telegram. Cara kerjanya yaitu ESP8266 mengakses sensor PIR (Passive Infra Red) Sensor, ketika sensor mendeteksi pergerakan, maka ESP8266 akan mengirimkan pesan notifikasi ke Telegram, tentu saja jika menggunakan ESP8266 maka komunikasi yang digunakan adalah menggunakan sinyal Wi-Fi.

Alur Diagram Proyek Telegram ChatBot

Apa itu ChatBot Telegram

Chatbot Telegram adalah program komputer yang dirancang untuk berinteraksi dengan pengguna melalui aplikasi Telegram, yang merupakan salah satu platform pesan instan yang paling populer di dunia. Chatbot ini memiliki kemampuan untuk menjawab pertanyaan, memberikan informasi, melakukan tugas tertentu, dan bahkan memahami perintah suara atau teks.

Bagaimana Chatbot Telegram Bekerja?

Chatbot Telegram bekerja berdasarkan berbagai prinsip teknis, termasuk pemrosesan bahasa alami (Natural Language Processing – NLP) dan pemrograman berbasis aturan. Berikut adalah langkah-langkah dasar bagaimana chatbot Telegram berinteraksi dengan pengguna:

  1. Penerimaan Pesan: Chatbot menerima pesan dari pengguna melalui Telegram.
  2. Pemrosesan Pesan: Chatbot memproses pesan tersebut untuk memahami maksud dan konteksnya. Ini melibatkan analisis teks, pemahaman kata kunci, dan pengenalan pola.
  3. Respon: Setelah memproses pesan, chatbot menghasilkan respon sesuai dengan pemahaman dan pengetahuannya. Ini bisa berupa teks, gambar, video, tautan, atau tindakan lainnya.
  4. Interaksi: Pengguna dan chatbot dapat berinteraksi secara terus-menerus. Chatbot dapat menanggapi pertanyaan berkelanjutan, memberikan informasi lebih lanjut, atau melakukan tugas yang diminta.

Cara Membuat Telegram ChatBot

Install Library Pada Arduino IDE

  1. Arduino IDE (dengan dukungan untuk ESP8266)
  2. Library “UniversalTelegramBot” untuk Arduino IDE (dapat diunduh dari Library Manager Arduino)

Sekarang, mari ikuti langkah-langkahnya:

Persiapan Akun Telegram

  1. Buka aplikasi Telegram di ponsel Anda.
  2. Cari bot “BotFather” dan mulai percakapan dengan BotFather.
  3. Gunakan perintah /newbot untuk membuat bot baru. Ikuti petunjuknya dan berikan nama bot Anda dan username bot (harus diakhiri dengan “_bot”). BotFather akan memberikan token bot yang akan kita gunakan nanti.

Instalasi dan Konfigurasi Arduino IDE

  1. Unduh dan instal Arduino IDE jika belum terinstal.
  2. Buka Arduino IDE dan pergi ke Preferences.
  3. Tambahkan URL tambahan dalam “Additional Boards Manager URLs”: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  4. Buka “Board Manager” (dalam “Tools > Board > Boards Manager”) dan cari “esp8266.” Instal paket “esp8266” oleh ESP8266 Community.

Menulis Kode Chatbot Telegram

Sekarang, mari tulis kode untuk chatbot Telegram dengan ESP8266. Contoh kode berikut mengontrol LED dengan pesan dari Telegram. Pastikan untuk mengganti yourSSID, yourPassword, dan yourBotToken dengan informasi yang sesuai.

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

// Replace with your network credentials
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

// Initialize Telegram BOT
#define BOTtoken "XXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"  // your Bot Token (Get from Botfather)

// Use @myidbot to find out the chat ID of an individual or a group
// Also note that you need to click "start" on a bot before it can
// message you
#define CHAT_ID "XXXXXXXXXX"

X509List cert(TELEGRAM_CERTIFICATE_ROOT);
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);

const int motionSensor = 14; // PIR Motion Sensor
bool motionDetected = false;

// Indicates when motion is detected
void ICACHE_RAM_ATTR detectsMovement() {
  //Serial.println("MOTION DETECTED!!!");
  motionDetected = true;
}

void setup() {
  Serial.begin(115200);
  configTime(0, 0, "pool.ntp.org");      // get UTC time via NTP
  client.setTrustAnchors(&cert); // Add root certificate for api.telegram.org

  // PIR Motion Sensor mode INPUT_PULLUP
  pinMode(motionSensor, INPUT_PULLUP);
  // Set motionSensor pin as interrupt, assign interrupt function and set RISING mode
  attachInterrupt(digitalPinToInterrupt(motionSensor), detectsMovement, RISING);

  // Attempt to connect to Wifi network:
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);

  WiFi.mode(WIFI_STA);
  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());

  bot.sendMessage(CHAT_ID, "Bot started up", "");
}

void loop() {
  if(motionDetected){
    bot.sendMessage(CHAT_ID, "Motion detected!!", "");
    Serial.println("Motion Detected");
    motionDetected = false;
  }
}

Sekarang, Anda telah berhasil membuat chatbot Telegram sederhana yang dapat mengendalikan perangkat menggunakan ESP8266. Anda dapat memperluas dan menyesuaikan fungsionalitas chatbot sesuai dengan kebutuhan Anda, seperti mengontrol perangkat lain, mengambil data sensor, atau melakukan tugas-tugas lainnya. Selamat mencoba!

NB: Jika teman-teman masih kesulitan untuk menyelesaikan proyek Arduino anda, Silahkan bisa konsultasi dan menggunakan Jasa Arduino Kami dengan meng klik Link Berikut ini!

Related Articles

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button
0
Would love your thoughts, please comment.x
()
x