Smart Home Automation sekarang menjadi bagian penting dari pengaplikasian IOT guna mengontrol peralatan rumah tangga dari mana saja melalui internet.
Untuk saat orang-orang lebih suka menggunakan pengendalian apapun melalui smartphone karena smartphone sudah menjadi kebutuhan premier.
Ada berbagai cara untuk mengontrol perangkat peralatan rumah seperti lampu depan rumah, saluran PAM, ataupun monitoring untuk daya listrik yang sudah digunakan. Contohnya dengan menggunakan microcontroller (ESP8266) yang terhubung ke internet yang dimana menggerakan aktuator relay.
Pada artikel ini akan dibahas bagaimana cara membuat smart home automation menggunakan pesan teks di telegram versi 2.
Artikel ini merupakan kelanjutan dari artikel sebelumnya, yang membedakan pada artikel ini akan digunakan nodemcu esp8266 dan esp-32.
[irp posts=”2143″ name=”Smart Home control relay, ESP8266 use Telegram app”]
Perbedaannya untuk artikel ini menggunakan libraries “telegram” yang berbeda dari artikel sebelumnya.
Pada aplikasi telegram terdapat fitur telegram bot yang akan dimanfaatkan untuk kendali smart home. Lebih tepatnya untuk mengirim pesan teks yang berfungsi mengontrol wemos d1 mini atau nodemcu esp8266 yang dihubungkan ke relay.
Dari relay tersebut itu lah yang dapat dihubungkan ke perangkat listrik misalnya lampu ruang tamu, kamar tidur, dapur, dsb.
Apa itu telegram bot?
Telegram bot merupakan Application Programming Interface atau dikenal dengan nama “API” yang memungkinkan programmer mampu mengintegrasikan 2 aplikasi berbeda secara bersamaan dalam masalah tutorial ini adalah apps chatting Telagram dengan ESP8266.
Dengan adanya token API TelegramBOT ini mampu dihubungkan antara chat telegram dengan sistem perangkat keras, contohnya akan diintegrasikan antara Wemos D1 mini yang diprogram memakai Arduino IDE dengan aplikasi ini.
Simple tutorial Smart home automation kontrol via telegram
Langkah pertama ialah installing app :
- Sediakan smartphone misal android dengan spek minimum 4.4 / kit kat
- Buka Play Store
- Ketik nama aplikasi “telegram” dan searching
- Klik Install
- Wait dan siap digunakan
- Login dengan no hp dan verifikasi
Instalasi libraries Telegram Untuk Arduino IDE
Instalasi secara manual
Library yang digunakan : [ddownload id=”4407″] ,
Dow*load dan ekstrak file Lіbrаries раdа masing OS :
- PC & Laptop (Wіndоwѕ) : Documents\Arduino\libraries
- Mас OSX : (hоmе dіrесtоrу)/Aррlісаtіоnѕ/Arduіnо (Shоw Pасkаgе Cоntеnt) / Cоntеntѕ / Jаvа / Lіbrаrіеѕ
- Lіnux : (hоmе dіrесtоrу)/ѕkеtсhbооk/lіbrаrіеѕ
Instalasi via Arduino IDE secara online
- Buka Arduino IDE yang telah terinstall
- Pastikan komputer atau laptop terhubung dengan internet
- Kemudian klik Sketch > Include Library > Manage Libraries
- Ketikan pada kolom search “telegram”
- Install libraries CTBot by stefano Ledda
Hal selanjutnya ialah mendaftar bot telegram, instruksinya sebagai berikut :
- Buka aplikasi “telegram”
- Arah pada search dan ketikan “botfather”
- Klik Start
- Ketikan perintah /newbot dan enter
- Selanjutnya ketikan nama bot, misal “nyebarilmucom_bot“
- Akan terdapat jawaban “token API” yang dimana akan dimanfaatkan pada program yang akan dibuat
- Dan langkah terakhir search “@nyebarilmucom”, buka dan siap digunakan
Instruksi untuk setting
- Program dapat diambil dari example libraries dengan cara buka File > Examples > CTBot > Lightbot
- Jangan lupa install libraries esp8266, dapat instruksi pada artikel ini apa itu nodemcu? dan pilih nodemcu v.1.0
- Cara setting telegram bot untuk mendapatkan token liat video dibawah
- Masukan nama wifi dan password, serta token
- Verifikasi program dan upload
- Jika menggunakan driver CH340 dapat install drivernya terlebih dahulu seperti yang dijelaskan pada artikel tutorial install usb driver CH340G
Rangkaian sederhana
Untuk program file example bagian ini saja yang dirubah
String ssid = "Blok21no12"; //nama wifimu String pass = "Komponen08"; //passwordnya String token = "988934791:AAEAZ31_JTmQedxUd-Mx0pAjHBhM6Rp1Gms"; //token yang didapat dari fatherbot
Hasil dari trial diatas
Saat diketikan LIGHT ON maka respon dari telegram Light is now ON dan pada nodemcu esp8266 Led Build in nya akan menyala atau ON.
Ini berlaku jika dihubungkan dengan relay maupun aktuator lainnya yang bersifat on off dengan logika high atau low.
Home automation Monitoring suhu dan kelembaban via telegram
Pada contoh tutorial kedua ini, digunakan display i2c LCD untuk menampilkan nilai pembacaan sensor BME280. Dimana yang dapat difungsikan sebagai pencocok data terhadap data yang dikirim ke app telegram.
Bahan – bahan yang diperlukan :
- NodeMCU ESP8266
- Sensor BME280
- I2C PCF8574
- LCD 16×2
- Regulator buck converter LM2596
- Kabel Jumper
Berikut rangkaian yang harus dirangkai :
Untuk token bot dan nama bot dapat menggunakan sama seperti tutorial pertama diatas.
[sociallocker id=”1344″]
//www.nyebarilmu.com //2019 #include "CTBot.h" #include <Wire.h> #include <LiquidCrystal_PCF8574.h> #include <Adafruit_BME280.h> //libraries yang baru saja diinstall seperti cara diatas #include <Adafruit_Sensor.h> #include <ESP8266WiFi.h> #include <WiFiClientSecure.h> LiquidCrystal_PCF8574 lcd(0x27); //dapat dicek menggunakan i2c finder #define SEALEVELPRESSURE_HPA (1013.25) //nilai awal untuk pressure CTBot myBot; Adafruit_BME280 bme; //penggunaan I2C String ssid = "Blok21no12"; String pass = "Komponen08"; String token = "988934791:AAEAZ31_JTmQedxUd-Mx0pAjHBhM6Rp1Gms"; void setup() { Serial.begin(115200); Wire.begin(2,00); //dikarenakan dikoneksikan ke D3, dan D4 cek persamaan GPIO nya lcd.begin(16,2); lcd.setBacklight(255); lcd.setCursor(00,00); lcd.print("Starting"); lcd.setCursor(00,1); lcd.print("TelegramBot..."); delay(1500); lcd.clear(); myBot.wifiConnect(ssid, pass); myBot.setTelegramToken(token); if (myBot.testConnection()){ lcd.setCursor(00,00); lcd.print("Connection OK");} else { lcd.setCursor(00,00); lcd.println("Connection NOK"); } if (!bme.begin(0x76)) { lcd.setCursor(00,00); lcd.print("no sensor BME280"); lcd.setCursor(00,1); lcd.print("Cek rangkaian"); while (1); } lcd.clear(); delay(1000); lcd.setCursor(00,00); lcd.print(" nyebarilmu.com "); lcd.setCursor(00,1); lcd.print("telegram bot"); delay(2000); lcd.clear(); lcd.clear(); } void loop() { TBMessage msg; lcd.setCursor(00,00); lcd.print("T:"); lcd.print(bme.readTemperature()); lcd.print((char)223); lcd.println("C"); //pembacaan data Kelembaban lcd.setCursor(00,1); lcd.print("H:"); lcd.print(bme.readHumidity()); lcd.print("%"); if (myBot.getNewMessage(msg)) { if (msg.text.equalsIgnoreCase("SUHU")) { myBot.sendMessage(msg.sender.id,"Suhu: " + String(bme.readTemperature(),2) + "'C"); } else if (msg.text.equalsIgnoreCase("KELEMBABAN")) { myBot.sendMessage(msg.sender.id, "Kelembaban: " + String(bme.readHumidity(),2) + "%"); } else { String reply; reply = (String)"Welcome " + msg.sender.username + (String)". coba cek suhu dan kelembaban."; myBot.sendMessage(msg.sender.id, reply); } } delay(100); }
[/sociallocker]
Hasil trial program diatas
- “Suhu” >>> “suhu : 29.00’C”
- “Kelembaban” >>> “Kelembaban:80%”
Terimakasih sudah berkunjung di nyebarilmu.com 🙂