Tutorial IoT Mengendalikan Lampu Halaman dengan Telegram

Indobot Update

Halo Sahabat Indobot! Jumpa lagi di artikel tutorial IoT

Sedang ada project apa hari ini?

Kali ini, kita akan belajar untuk menyalakan dan mematikan lampu dengan aplikasi telegram.

Telegram adalah aplikasi yang digunakan untuk berkomunikasi secara online. Aplikasi ini sudah sangat populer di Indonesia, bahkan dunia. Tampilannya yang simpel dan aplikasinya yang tidak terlalu memberatkan smartphone, membuat aplikasi ini tak pernah sepi peminat. Selain itu, aplikasi ini juga memiliki bot yang dapat kita gunakan untuk melakukan pengiriman data berbasis Internet of Things (IoT). Cara ini juga cukup populer dikalangan anak-anak IoT. Penggunaannya yang praktis sangat memudahkan kita untuk bisa melakukan kontrol dan monitoring device melalui sistem IoT. 

Penyusunan sistem IoT ini dapat kita lakukan dengan device mikrokontroler yang sudah terfasilitasi wifi seperti NodeMCU ESP8266. NodeMCU ESP8266 adalah salah satu mikrokontroler yang memiliki fasilitas wifi dan bluetooth. NodeMCU ESP8266 cukup terkenal dalam bidang IoT. Mulai dari ukurannya yang kecil, hingga fasilitasnya yang sesuai dengan kebutuhan IoT.

Nah. Pada project kita kali ini, kita akan menghubungkan NodeMCU ESP8266 dengan relay yang akan dihubungkan dengan lampu yang membutuhkan sumber tegangan AC (220VAC). NodeMCU ESP8266 juga perlu dihubungkan dengan telegram via internet. Sehingga membutuhkan koneksi wifi untuk saling berkirim pesan antara smartphone dan NodeMCU. Bagaimana cara membuatnya? yuk kita simak caranya.

Alat dan Bahan

Alat dan bahan untuk project ini adalah sebagai berikut.

  1. Software Arduino ID
  2. NodeMCU ESP8266 1
  3. Relay 1 channel 1
  4. Projectboard 1
  5. Kabel jumper Secukupnya

Rangkaian

Susun device di atas menjadi rangkaian seperti berikut. Pastikan semua terhubung dengan baik.

Program

Tahap selanjutnya adalah penulisan program pada Arduino IDE. Buatlah program seperti berikut. Perhatikan keterangan (comment) untuk memahami program dengan baik.

Jangan lupa untuk memasukkan terlebih dahulu library CTBot dan Arduino Json

 
#include "CTBot.h" //Pendeklarasian Library
#define lamp D1
#define LDR D2
CTBot myBot;
TBMessage msg;

String ssid = "*********";    //nama ssid wifi kalian
String pass = "*********";  //password wifi kalian
String token = "XXXX";    //token bot baru kalian
const int id = XXXX;      //id telegram kalian

void setup() { //Pengaturan Variabel
  Serial.begin(9600);
  pinMode(lamp,OUTPUT);
  pinMode(LDR,INPUT);
  Serial.println("Starting TelegramBot...");
  myBot.wifiConnect(ssid, pass);
  myBot.setTelegramToken(token);
  if (myBot.testConnection()) {
    Serial.println("Koneksi Bagus");
  } else {
    Serial.println("Koneksi Jelek");
  }
    myBot.sendMessage(msg.sender.id, (String)"Untuk Menghidupkan Lampu" +
        "\nKirimkan pesan >>> hidup" +
        "\n \nUntuk Mematikan Lampu" +
        "\nKirimkan pesan >>> mati" +
        "\n\nMengecek Kondisi Lampu"+
        "\nKirimkan pesan >>> cek"
        );
}

void loop() {}  //Perulangan Programvoid setup() {
   int nilai = analogRead(LDR);
   int kondisi = 0;
   Serial.print("Nilai LDR: ");
    Serial.println(nilai);
    if (nilai <500) {
      digitalWrite(lamp, HIGH); //lampu akan menyala
      kondisi = 1;
    }
    else {
      digitalWrite(lamp, LOW); //lampu akan mati
      kondisi = 0;
    }
   if (myBot.getNewMessage(msg)) {
    if (msg.text.equalsIgnoreCase("hidup")) {     //Perintah dari telegram ke perangkat
      digitalWrite(lamp, HIGH); //lampu akan menyala
      kondisi = 1;
      myBot.sendMessage(msg.sender.id, (String)"Lampu Halaman Menyala"); //Balasan dari perangkat ke Bot Telegram
    }
    if else(msg.text.equalsIgnoreCase("mati")) {     //Perintah dari telegram ke perangkat
      digitalWrite(lamp, LOW); //lampu akan mati
      kondisi = 0;
      myBot.sendMessage(msg.sender.id, (String)"Lampu Halaman Mati"); //Balasan dari perangkat ke Bot Telegram
    }
    if else(msg.text.equalsIgnoreCase("cek")) {     //Perintah dari telegram ke perangkat
      if (kondisi == 0) {
       myBot.sendMessage(msg.sender.id, (String)"Lampu Halaman Mati"); //Balasan dari perangkat ke Bot Telegram 
      }
      else {
        myBot.sendMessage(msg.sender.id, (String)"Lampu Halaman Hidup"); //Balasan dari perangkat ke Bot Telegram 
      }
    
    }
    else {                                         
        myBot.sendMessage(msg.sender.id, (String)"Untuk Menghidupkan Lampu" +
        "\nKirimkan pesan >>> hidup" +
        "\n \nUntuk Mematikan Lampu" +
        "\nKirimkan pesan >>> mati"
        );
    }
}

baca juga: Penerapan Langsung Lampu Taman Otomatis

Untuk mendapatkan Token Bot dan ID telegram, kita dapat melakukan cara berikut.

  • cari BotFather

  • Buka BotFather > klik Start > ketik /newbot > beri nama bot > beri username bot > Simpan token yang diberikan untuk dimasukkan program nanti. Untuk masuk ke bot yang baru dibuat, bisa klik link yang diberikan pada bagian setelah “You will find it at …”, dan jika sudah masuk bisa ketik /start

Gambar pembuatan bot baru

Gambar token yang didapat

  • Setelah itu diperlukan id telegram kita dengan cara : cari IDBot > klik Start > ketik /getid

  • Maka token dan ID Telegram sudah kita dapatkan.

Masukkan nama hotspot, password hotspot, token, dan ID yang anda gunakan di

 ssid = “**********”;

 pass = “**********”; 

 token = “XXXXX”;

const int id = XXXXXX;

Upload program di atas, kemudian kita dapat mulai mencobanya dengan di awali ke telegram bot milik kita dan klik start.

baca juga: Detektor Kebocoran Gas IoT Telegram

Hasil dari project ini adalah ketika ingin menyalakan lampu halaman, kita hanya perlu mengirimkan pesan melalui telegram, dengan pesan berisi “hidup”. Sedangkan untuk mematikannya, kita juga dapat mengirimkan pesan dengan pesan berisi “mati”. Kode ini adalah kode yang sudah di buat dalam program, jika kita ingin merubah kode in, kita hanya perlu mengganti pada bagian msg.text.equalsIgnoreCase(“mati”).

Baca juga : Apa Perbedaan Edge Computing dan Cloud Computing

Program di atas bisa kita kembangkan dengan menambahkan sensor yang dapat kita baca di telegram dengan mengirimkan kode, ataupun secara otomatis mengirimkan suatu peringatan pada kondisi tertentu. Bagaimana? Tertarik untuk membuatnya? Yuk bisa di coba. Bisa di kembangkan sendiri yaa.

Semangat!

 

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Satu pemikiran pada “Tutorial IoT Mengendalikan Lampu Halaman dengan Telegram”

Tinggalkan komentar

whatsapp whatsapp