3 Langkah Mudah! Tutorial Menghidupkan Dan Mematikan Lampu Via Telegram

temen terpaksa harus hidupin lampu ruang tamu 3 Langkah Mudah! Tutorial Menghidupkan dan Mematikan Lampu via Telegram

Saat posisi lagi mager banget hehehe, trus temen-temen terpaksa harus hidupin lampu ruang tamu, taman, dapur, mematikan AC, TV dll, gimana perasaan temen-temen? pastinya males banget kan, apalagi dah ngantuk banget dan udah PW di atas kasur tinggal merem trus lupa lampu kamar belum dimatiin, hehehe.

Tenang aja, kali ini ada solusinya dan temen-temen dapat eksklusif mencobanya dengan MUDAH dan MURAH, berikut yakni cara menghidupkan dan mematikan (ON/ OFF) peralatan rumah memakai Telegram.

Alat dan Bahan yang diperlukan :

1. ESP32
2. Relay
3. Komputer/Laptop (Sudah ada aplikasi Arduino IDE)
4. Kabel Data Smartphone, tapi bukan yang Iphone
5. Kabel Jumper
6. LED (barang perhiasan bila temen-temen nggak punya Relay, untuk uji coba saja)
7. Secangkir kopi dan roti semoga nggak baper

Simak baik-baik langkah-langkahnya dibawah ini :

1. Hubungkan ESP32 dengan Relay/LED memakai kabel jumper ibarat gambar di bawah ini. Ingat Led hanya untuk uji coba saja, seharusnya pakai Relay bila mau mematikan lampu rumah, hehehe.



2. Buat akun Telegram bila belum punya, dan buat juga Bot Telegram, bila belum dapat silahkan baca Tutorial Membuat Bot Telegram ada pada artikel sebelumnya yakni "Servo vs Telegram?", sesudah Bot Telegram berhasil dibentuk maka akan terlihat ibarat gambar dibawah ini.


3. Setelah tanggapan dengan urusan akun Telegram dan Bot Telegram, silahkan buka aplikasi Arduino IDE di laptop/komputer dan masukkan isyarat di bawah ini.

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

char ssid[] = "Ganti Dengan Nama Wifi Kalian";   
char password[] = "Ganti dengan Password Wifi Kalian";

// Initialize Telegram BOT
#define BOTtoken "Ganti dengan Bot Token Telegram Kalian"

WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);

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

const int lampu1 = 13;
int status_lampu = 0;

void handleNewMessages(int numNewMessages) {
  Serial.println("handleNewMessages");
  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 == "/lampuon") {
      digitalWrite(lampu1, HIGH);   // turn the LED on (HIGH is the voltage level)
      status_lampu = 1;
      bot.sendMessage(chat_id, "Lampu Dinyalakan!", "");
    }

    if (text == "/lampuoff") {
      status_lampu = 0;
      digitalWrite(lampu1, LOW);    // turn the LED off (LOW is the voltage level)
      bot.sendMessage(chat_id, "Lampu Dimatikan!", "");
    }

    if (text == "/status") {
      if(status_lampu){
        bot.sendMessage(chat_id, "Led is ON", "");
      } else {
        bot.sendMessage(chat_id, "Led is OFF", "");
      }
    }

    if (text == "/start") {
      String welcome = "Selamat Datang di channel kontrol Lampu Online, " + from_name + ".\n";
      welcome += "Ini yakni referensi menyalakan lampu via Telegrarm Bot.\n\n";
      welcome += "/lampuon : untuk menyalakan lampu\n";
      welcome += "/lampuoff : untuk mematikan lampu\n";
      welcome += "/status : cek status lampu -> nyala atau mati\n";
      bot.sendMessage(chat_id, welcome, "Markdown");
    }
  }
}


void setup() {
  Serial.begin(115200);

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

  // Set WiFi to station mode and disconnect from an AP if it was Previously
  // connected
  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());

  pinMode(lampu1, OUTPUT); // initialize digital ledPin as an output.
  delay(10);
  digitalWrite(lampu1, LOW); // initialize pin as off
}

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

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

    Bot_lasttime = millis();
  }
}

Sudah Selesai, bila kalian males ngetik, isyarat programnya dapat kalian download disini.

Berikut ini yakni hasil screenshot project yang sudah jadi.


Comments

Popular posts from this blog

- Cara Mengendalikan Relay Memakai Esp32 + Blynk Wifi Connectify

Solusi Terbaik Untuk Tombol Boot Yang Menyebalkan Pada Esp32 Dev Kit

Tutorial Sensor Pir Dan Esp8266 : Mengirim Notifikasi Ke Telegram Dikala Ada Gerakan