Pada kesempatan kali ini saya akan membahas sebuah teknologi yang menarik untuk di bahas tentunya, yaitu Internet Of Things atau sering disingkat IoT, merupakan konsep yang bertujuan dengan memanfaatkan koneksi internet diharapkan dapat dihasilkan teknologi yang dapat mempermudah pekerjaan manusia, sederhananya penerapannya sebagai remote kontrol jarak jauh, yang akan dibahas pada artikel kali ini.
Adapun penerapan IoT yang akan dibahas kali ini adalah menyalakan dan mematikan lampu dengan menggunakan suara dengan memanfaatkan speech recognition yang ada di smartphone android, nantinya alat yang dibuat mampu mengendalikan lampu melalui jarak jauh dengan syarat adanya koneksi internet.
Masuk ke pembahasan mengenai pengendalian lampu dengan suara dari jarak jauh, adapun komponen yang dibutuhkan untuk membuatnya diataranya, Wemos D1 yang merupakan komponen utama pada project kali ini karena fungsi dari wemos ini sebagai penghubung alat atau perangkat yang akan dikendalikan dengan koneksi internet kelebihan dari wemos ini bisa diprogram dengan menggunakan software Arduino IDE jadi bisa lebih mudah dalam pembuatan program atau codingnya, adapun komponen berikutnya yaitu Relay yang berfungsi sebagai saklar pemutus dan penghubung sumber listrik ke beban lampu.
Komponen yang digunakan
- Wemos D1 Mini
- Module Relay 5V
- Transistor BC557
- Resistor 10k
- Lampu
- Projectboard
- Kabel Jumper Secukupnya
- Smartphone Android
Berikut ini block diagram sistem
Sistem pengendalian ini dirancang agar dapat menyalakan dan mematikan lampu menggunakan suara menggunakan android melalui internet, prinsip kerjanya terdapat wemos sebagai penerima perintah dari android dimana perintah dikirim menggunakan koneksi internet, agar wemos dan android dapat bekomunikasi digunakan sebuah web server thingspeak yang dapat menyimpan data yang kirim oleh android yang kemudian wemos akan menerima data yang dikirim oleh android, kemudian data di proses oleh wemos untuk pengendalian relay.
Rangkaian/Wiring Elektrical
Membuat channel di web thingspeak
- Pergi ke thingspeak.com
- Jika belum memiliki akun silahkan buat akun terlebih dahulu jika sudah langsung Sign In saja
- Kemudian buatlah Channel baru
- Setelah berhasil membuat channel masuk ke Channel setting kemudian tambahkan field
- Masuk ke API Keys catat Channel ID dan Read API Keys
- Setelah itu masukkan Channel ID dan Read API Keys pada coding arduino kemudian upload coding dan tes dengan aplikasi android, kemudian lihat pada Private View apakah data yang dikirim masuk pada field yang dibuat
Silahkan copy program ke software Arduino IDE
Pembaharuan dengan server Firebase ini membuat respon lebih cepat dibandingkan dengan server Thingspeak yang versi gratis, mungin berbeda juka menggunakan thingpeak yang berbayar. Namun pada server firebase versi spark yang merupakan versi gratis dari firebase menurut saya respon server nya sudah cepet, sama - sama gratis kan kalau saya ya mending pilih yang ini.
Tampilan Aplikasi Android
Program terbaru dengan Firebase, lengkapi terlebih dahulu library yang digunakan
/************************** Kontrol lampu dengan suara menggunakan android melalui internet [Speech Recognition] www.muhilham.com 15/07/2018 ***********************/ #include#include WiFiClient TSpeak_client; const char* namawifi = "Roy Anak IndiHome"; // nama acces point wifi const char* password = "1234554321"; // password wifi unsigned long myChannelNumber = 483487; // isi channel ID anda const char* myReadAPIKey = "Read API Key"; // Isi dengan read api key anda const int Lampu1 = D5; const int LED = D4; void setup() { Serial.begin(115200); pinMode(LED, OUTPUT); pinMode(Lampu1, OUTPUT); digitalWrite(Lampu1, HIGH); digitalWrite(LED, HIGH); Serial.println("** SETUP **"); Serial.println(); delay(500); WIFI_Connect(); ThingSpeak.begin(TSpeak_client); } void WIFI_Connect() { digitalWrite(LED, HIGH); WiFi.disconnect(); WiFi.mode(WIFI_AP_STA); WiFi.begin(namawifi, password); Serial.println(); Serial.print("Menghubungkan Dengan "); Serial.println(namawifi); // wait for connection while (WiFi.status() != WL_CONNECTED) { delay(250); digitalWrite(LED, LOW); Serial.print("."); delay(250); digitalWrite(LED, HIGH); } // Terhubung dengan acces point Serial.println(); Serial.println("-- WIFI TERHUBUNG --"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); Serial.println(); digitalWrite(LED, LOW); } void loop() { if (WiFi.status() != WL_CONNECTED) { delay(500); ESP.wdtDisable(); Serial.println("WiFi Terputus, RESET WEMOS !"); digitalWrite(LED, HIGH); } else { int Field1 = ThingSpeak.readIntField(myChannelNumber, 1, myReadAPIKey); // mengambil/membaca data pada filed 1 Serial.print("Field 1 : "); Serial.println(Field1); if (Field1 == 1) { digitalWrite(Lampu, HIGH); Serial.println("LAMPU MATI"); } if (Field1 == 2) { digitalWrite(Lampu1, LOW); Serial.println("LAMPU NYALA"); } } }
Update : Server dengan Google Firebase
Untuk versi update dengan firebase ini rangkaian yang di gunakan tidak berbeda, hanya saja berbeda di aplikasi android dan program wemos nya saja.
Membuat database Google Firebase
- Pergi ke console.firebase.google.com login dengan akun google kamu
- Kemudian buat project baru dengan memilih Add project
- Pada panel sebelah kiri, klik Database pilih Realtime Database
- Buat struktur database seperti berikut
- Catat FirebaseURL kamu
- Selain FirebaseURL kita juga butuh Secret Code database, catat juga
Konfigurasi Aplikasi Android dan Program Wemos
- Pergi ke ai2.appinventor.mit.edu login dengan akun google kamu
- Kemudian Import file .aia aplikasi android yang sudah saya buat, dwonload disini
- Atur Komponen firebase dengan Secret Code dan FirebaseURL yang kamu catat tadi
- Untuk konfigurasi program wemos atur juga dengan Secret Code dan FirebaseURL yang kamu catat tadi, dan jangan lupa mengatur koneksi WiFi
Tampilan Aplikasi Android
Program terbaru dengan Firebase, lengkapi terlebih dahulu library yang digunakan
link aplikasinya gan
ReplyDeleteMantap
ReplyDeleteaplikasinya gak bisa di install gan
ReplyDeleteGan boleh di bagi file aia nya .yg voice recognition.
ReplyDeletehttp://ai2.appinventor.mit.edu/#5231309580533760
Deletebang library database firebasenya itu gimana
ReplyDeleteBang Boleh Minta File .aia nya?
ReplyDeletebaca posting keseluruhan
Deletesaya pakai firebase kok prograp error ya?
ReplyDeletesaya pakai firebase kok program error ya?
ReplyDeleteexit status 1
#include expects "FILENAME" or
muncul itu saat upload program