Tutorial Membuat Pin Masuk Rumah dengan Sistem IoT Telegram

Indobot Update

Pin Masuk Rumah Sistem IoT Telegram
Tutorial Membuat Pin Masuk Rumah dengan Sistem IoT Telegram
[lwptoc numeration=”none” title=”Daftar Isi”]

Halo Sahabat Indobot!Kali ini, kita akan membuat project dengan menggunakan telegram sebagai aplikasi yang dapat menjadi aplikasi keamanan rumah anda. Bagaimana caranya? yuk kita simak.

Telegram adalah aplikasi yang berguna untuk berkomunikasi secara online baik secara personal maupun grup. Aplikasi ini juga memiliki bot yang dapat berfungsi untuk sistem IoT (Internet of Things). Bot ini dapat melakukan pengiriman dan penerimaan pesan. Sehingga dapat berguna untuk kontrol dan monitoring device melalui sistem IoT.

Nah pada project kali ini, kita akan membuat keamanan rumah yang dapat membuka hanya dengan menggunakan telegram. Aplikasi telegram ini menyambung dengan NodeMCU ESP8266 via internet. Selain itu, kita juga dapat menambahkan nomor pin untuk mempersulit pembobolan. Yuk langsung kita coba.

Tutorial Membuat Pin Rumah
Tutorial Membuat Pin Rumah

Tutorial Membuat Pin Masuk Rumah dengan Sistem IoT Telegram

Alat dan Bahan

Alat dan bahan untuk project ini adalah sebagai berikut.

  1. Software Arduino IDE
  2. NodeMCU ESP8266 1
  3. Solenoid Lock 1
  4. Relay 1 Channel 1
  5. Projectboard 1
  6. Kabel jumper Secukupnya

Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO

Rangkaian

Susunlah semua device seperti atas menjadi rangkaian seperti berikut ini. Tetap pastikan semua rangkaian terhubung dengan baik. Rapikan rangkaian agar dapat terlihat dengan baik untuk mengantisipasi kesalahan.

Program

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

Kemudian Jangan lupa untuk memasukkan terlebih dahulu library LiquidCrystal, CTBot dan Arduino Json

 

/* Program pembuatan pin keamanan rumah dengan telegram dibuat oleh Indobot */

#include <LiquidCrystal_I2C.h>  //Library LCD I2C
#include "CTBot.h" //Pendeklarasian Library

#define lock D3
CTBot myBot;
String pinanda = "212121";
String pin;
LiquidCrystal_I2C lcd(0x27, 16, 2); //Alamat I2C

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

void setup() {
  lcd.init();       //Mulai LCD
  lcd.backlight();  //Nyalakan backlight
  Serial.begin(9600);
  pinMode(lock,OUTPUT);
  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)"Pembuka Pintu Rumah Anda \n" +
        "kirimkan pesan >>> pin(nomor pin anda) \n"+
        "Contoh >>> pin111111 \n\n"+
        "Untuk Reset pin, kirimkan pesan >>>resetpin(pinsebelumnya)."
        );
}
 
void loop() {
  
  lcd.setCursor(0,0);     //Koordinat text
  lcd.print("Pintu Terkunci");
  lcd.setCursor(0,1);     //Koordinat text
  lcd.print("Masukkan Pin ");

  delay(1000);            //Jeda pembacaan 1000ms


  if (myBot.getNewMessage(msg)) {
    lcd.clear();            //Hapus tampilan LCD
    String a = msg.text;
    if (a.indexOf ("pin") > -1) {
    pin = a.substring(3);
      if (pin == pinanda){
        myBot.sendMessage(msg.sender.id, (String)"Pin Anda BENAR. \n Silakan Masuk."); 
          digitalWrite(lock,LOW); //Mengaktifkan relay active low
          lcd.setCursor(0,0);     //Koordinat text
          lcd.print("Pintu Terbuka");
          lcd.setCursor(0,1);     //Koordinat text
          lcd.print("Silakan Masuk.");
      }
      else{
        digitalWrite(lock,HIGH); //Menonaktifkan relay active low
        myBot.sendMessage(msg.sender.id, (String)"Pin Anda SALAH. \n Coba Lagi.");
      }
    }
    if (a.indexOf ("resetpin") > -1) {
      pin = a.substring(8);
      digitalWrite(lock,HIGH); //Menonaktifkan relay active low
      if (pin == pinanda){
        myBot.sendMessage(msg.sender.id, (String)"Pin Anda BENAR. \n"+
        "untuk reset kirim >>>pinbaru(pin baru)."+
        "Contoh >> resetpin121212");
      }
      else{
        myBot.sendMessage(msg.sender.id, (String)"Pin Anda SALAH. \n Coba Lagi.");
      }
    }

    if (a.indexOf ("pinbaru") > -1) {
      pinanda = a.substring(7);
      digitalWrite(lock,HIGH); //Menonaktifkan relay active low
      myBot.sendMessage(msg.sender.id, (String)"Pin Anda Telah Diubah Menjadi"+pinanda);
    }
    

    else {                                         
      myBot.sendMessage(msg.sender.id, (String)"Pembuka Pintu Rumah Anda \n" +
        "kirimkan pesan >>> pin(nomor pin anda) \n"+
        "Contoh >>> pin111111 \n\n"+
        "Untuk Reset pin, kirimkan pesan >>>resetpin(pinsebelumnya)."
        );
        digitalWrite(lock,HIGH); //Menonaktifkan relay active low
    }
    }
}

segera baca juga: Memantau Suhu, Kelembaban, Tekanan Udara, dan Gas dengan Menggunakan Sensor BME680 Melalui Telegram

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

https://blog.indobot.co.id/esp8266-iot-telegram/

Token Bot dan ID telegram

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 String ssid = “**********”;

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

String 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: Tutorial IoT Mengatur Maksimal Jumlah Pengunjung dengan Telegram

Hasil dari project ini adalah kita dapat membuka pintu dengan menggunakan kode yang sudah dibuat sebelumnya. Pintu ditutup dengan Solenoid Lock yang dapat aktif terbuka jika diberikan tegangan. Solenoid Lock ini dikendalikan secara online melalui telegram. Jika kita dapat memasukkan kode sesuai dengan setting pin sebelumnya, maka pintu akan terbuka. Jika tidak, maka tidak akan menghasilkan apa-apa. Selain itu, kita juga dapat melakukan reset pin dengan menggunakan telegram juga.

Bagaimana? tertarik untuk membuatnya? Yuk langsung saja kita praktikkan ya gaes.

Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

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

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp