Anda di sini

Pemrograman

Kode Program Untuk Kontrol Lampu Rumah Via WiFi Android

Aditya Suranata - 21 Agustus 2017 21:53:20 2

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 Biggrin

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):

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. Biggrin

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

1.748
Daftar Artikel Terkait
Image

Aditya Suranata

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika. Selain itu juga gemar menulis mengenai hal-hal umum, seperti ilmu alam, sosial dan beberapa pengalamannya yang mungkin bisa berguna untuk orang lain.

Artikel Menarik Lainnya

Komentar

gan ane mau lanjutin yg kemaren, gimana caranya setting IP static pada wifi di nodemcu?

ane udah hapus syntax // dan set IPnya misal jadi 192.168.72.145 dst, tapi ga connect itu kenapa ya? mohon bantuannya gan

Halo gan, sorry late reply

Untuk setting IP Statik bisa uncomment bagian:

//Menggunakan DHCP, tidak perlu setting IP 
const IPAddress WIFI_IP(192, 168, 0, 2);
const IPAddress WIFI_GATEWAY(192, 168, 0, 1);
const IPAddress WIFI_SUBNET(255, 255, 255, 0);
const IPAddress WIFI_DNS_1(192, 168, 0, 1);
const IPAddress WIFI_DNS_2(8, 8, 8, 8);

//Versi DHCP, tidak menggunakan config().
WiFi.config(WIFI_IP, WIFI_GATEWAY, WIFI_SUBNET, WIFI_DNS_1, WIFI_DNS_2);

Kode terbaru ada di sini: https://github.com/NarinLab/SaklarApp/blob/master/firmware/firmware.ino

Silahkan dicoba, apabila ada kendala bisa pos lagi disini. Emo 58

HTSL://HIGH THINKING SIMPLE LIVING . ME

Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.