[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 Masuk Rumah dengan Sistem IoT Telegram
Alat dan Bahan
Alat dan bahan untuk project ini adalah sebagai berikut.
- Software Arduino IDE
- NodeMCU ESP8266 1
- Solenoid Lock 1
- Relay 1 Channel 1
- Projectboard 1
- 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!