Melanjutkan catatan kecil sebelumnya, sekarang kita masuk ke bagian kode program lengkap pada sisi NodeMCU agar dapat mengontrol lampu rumah melalui WiFi Android. Saya telah menulis bagian logika kode yang akan diprogram ke NodeMCU, bagian kode yang sudah lengkap ini merupakan pengembangan dari analisis kode sebelumnya. Apabila kode sebelumnya hanya untuk menghubungkan NodeMCU ke WiFi Android, maka kode yang sekarang sudah saya tambahkan bagian logika untuk membuat sebuah web server sederhana.
Web server sederhana ini bekerja sebagai penerima perintah dan pengirim data yang kita minta. Karena sistem antarmukanya saya rancang menggunakan teknologi berbasis web moderen, maka diperlukan sebuah web server sederhana yang berjalan di NodeMCU. Saya sempat berpikir bagaimana caranya membuat sistem ini sesederhana mungkin, sehingga bagi kalian yang ingin mencobanya sendiri dapat mengikutinya dengan sangat mudah. Mulai dari keperluan softwarenya, hingga rangkaian elektroniknya saya rancang dengan sangat simpel. Pada sisi softwarenya, saya sepenuhnya menulis kode logikanya pada program Arduino yang akan di-flash ke NodeMCU, jadi kalian tidak perlu ruwet-ruwet lagi ikut ngoding dari awal. Kalian hanya perlu menyalin kodenya, menempelnya di IDE Arduino, lakukan sedikit penyesuaian sesuai dengan konfigurasi kalian, upload dan selesai deh.
Pada sisi hardware, saya juga menggunakan beberapa modul yang sudah jadi. Seperti misalnya modul power supply, modul relay dan pengkabelannya telah saya rancang sesederhana mungkin. Tapi untuk turorial pengkabelan dan rangkaian tidak akan saya bahas disini, tapi nanti di artikel selanjutnya. Saat ini, saya akan fokuskan pada bagian perangkat lunaknya. Untuk perangkat lunak, pada dasarnya dibagi menjadi dua, kode yang ditanam di NodeMCU dan kode antarmuka. Tapi untuk antarmuka yang berbasis web moderen ini tidak perlu kita ulas, karena sudah berbasis web, saya tinggal taruh kodenya di Internet dan kalian dapat menggunakannya untuk mengakses NodeMCU kalian sendiri nantinya. Jadi tidak perlu buat sendiri-sendiri lagi untuk antarmukanya.
Oke, lanjut ke pokok bahasan, kode utama untuk NodeMCU. Berikut langsung saja saya berikan kode lengkapnya, bagi yang belum tau bagaimana cara memprogram NodeMCU, tutorial cara upload dan setup program Arduino IDE + NodeMCU library ada disini, kalian tinggal salin dan sesuaikan beberapa pengaturan dengan kondisi kalian.
https://github.com/NarinLab/SaklarApp
atau bisa clone dengan git
git clone https://github.com/NarinLab/SaklarApp.git
**Update 4 September 2017
Kode sekarang telah dilengkapi dengan sistem pengalamatan otomatis DHCP, sehingga kalian sudah tidak perlu report lagi berurusan dengan IP Address :D
Pada kode diatas, saya telah memberikan batasan komentar dengan /***** PENYESUAIAN DIMULAI DARI SINI *****/, silahkan perhatikan isi dari kode yang diapit oleh komentar tersebut. Semua penyesuaian yang mungkin kalian perlukan ada di dalam batasan komentar ini. Terutama pada bagian SSID WiFi dan password kalian, mohon pastikan untuk merubahnya sesuai dengan konfigurasi yang kalian gunakan. Untuk konfigurasi lainnya seharusnya sudah self explanatory ya, dan yang mungkin perlu saya garis bawahi disini adalah apabila kalian mengikuti dengan pasti tutorial pengkabelannya maka seharusnya tidak perlu lagi melakukan penyesuaian pada bagian selain SSID dan password WiFi. Tetapi apabila kalian menambahkan perangkat lain misalnya, yang pada contoh ini menggunakan tiga lampu/perangkat lalu kemudian kalian menambahkan menjadi empat lampu, maka penyesuaian yang kalian perlukan cukup hanya dengan menyalin beberapa fungsi yang mewakali perangkat yang kalian tambahkan.
Seperti misalnya, kalian dapat menyalin fungsi dibawah komentar //DEVICE 1, kemudian //Fungsi get data Dev 1, //Fungsi untuk handler deviceList, //Fungsi untuk mengendalikan lampu (type: RELAY), terakhir //PIN MODE dan mengubah nomernya menjadi 3 untuk lampu ketiga dan seterusnya. Apabila kalian lihat dengan teliti, kalian dapat melihat pola kodenya dengan sangat mudah. Sebagai bayangan, satu NodeMCU dapat mengontrol hingga 10an lebih relai, yang artinya dapat digunakan untuk 10 lampu. Ini adalah konfigurasi tanpa tambahan rangkaian yang lebih rumit, tetapi apabila kalian perlu, sebenarnya kalian bisa menggunakan puluhan hingga ratusan lampu pada satu NodeMCU dengan menggunakan rangkaian tambahan berupa shift register. Tetapi metode ini tidak saya sarankan karena terlalu rumit dan riskan. Lebih baik gunakan tidak lebih dari 5 lampu pada satu NodeMCU, apabila perlu lebih banyak kita dapat menggunakan lebih dari satu NodeMCU. Penggunaan untuk lebih dari satu NodeMCU akan saya bahasa pada catatan berikutnya sudah ditambahkan secara otomatis pada antarmuka web versi terbaru (update 4 september 2017).
Untuk sekarang, setelah kalian selesai melakukan penyesuaian, seharusnya kalian telah dapat mencobanya langsung di HP kalian tanpa harus menunggu untuk memasang pengkabelan dan rangkaian relai dan lampunya. Caranya adalah, setelah NodeMCU selesai diprogram dengan kode diatas, kalian dapat langsung membuka alamat http://lab.tutorkeren.com/saklar . Kode antarmuka yang berbasis web moderen yang saya singgung tadi saya publikasikan di alamat tersebut, silahkan digunakan dengan bijak. Perlu dicatat bahwa, kalian harus berada dalam satu jaringan WiFi dengan NodeMCU agar dapat menggunakan antarmuka tersebut. Jangan lupa aktifkan tethering HP Android kalian agar NodeMCU dapat menghubung ke HP kalian, dan kalian juga perlu koneksi internet untuk dapat mengakses antarmukanya. Selanjutnya kalian dapat mencoba antarmukanya dulu, sebelum kita masuk ke bagian pengkabelan dan menyelesaikan tutorial singkat dan mudah ini, yaitu bagaimana caranya mengontrol lampu rumah melalui WiFi Android melalui web.
Hasilnya adalah seperti berikut (klik untuk memperbesar):
[[{"fid":"1066","view_mode":"wysiwyg","fields":{"format":"wysiwyg","alignment":"center","field_file_image_alt_text[und][0][value]":"Kontrol Lampu Rumah via WiFi Android dengan antarmuka web","field_file_image_title_text[und][0][value]":"Kontrol Lampu Rumah via WiFi Android dengan antarmuka web","external_url":""},"type":"media","field_deltas":{"1":{"format":"wysiwyg","alignment":"center","field_file_image_alt_text[und][0][value]":"Kontrol Lampu Rumah via WiFi Android dengan antarmuka web","field_file_image_title_text[und][0][value]":"Kontrol Lampu Rumah via WiFi Android dengan antarmuka web","external_url":""}},"link_text":null,"attributes":{"alt":"Kontrol Lampu Rumah via WiFi Android dengan antarmuka web","title":"Kontrol Lampu Rumah via WiFi Android dengan antarmuka web","class":"media-element file-wysiwyg media-wysiwyg-align-center","data-delta":"1"}}]]
Pada antarmuka, secara ringkas terdapat informasi penggunaan daya listrik, biaya yang dihabiskan, dan waktu dari perangkat tersebut menyala. Jadi sangat berguna untuk kita dapat memantau penggunaan listrik dengan mudah melalui HP Android kita, selanjutnya saya juga berencana menambahkan fitur auto off dan on untuk lebih jossnya, jadi ikuti terus ya. :D
Oke sekian catatan singkatn ini. See u next, apabila ada yang ingin didiskusikan jangan sungkan kirim komentar dibawah, *emo_50*
saya sudah tidak sabar mencoba lampunya *emo_9*
Komentar Terbaru