Fakultas Ilmu Komputer
Universitas Brawijaya
3863
Implementasi Fitur Pencahayaan Terjadwal dan
Timer
pada
Smart Light
Bulb Pervasive
Berbasis ESP8266 Sebagai
Home Assistant
Menggunakan
Aplikasi Berbasis Android
Vatikan Aulia Makkah1, Sabriansyah Rizqika Akbar2, Rizal Maulana3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Internet of Things (IoT) telah mengubah tren masyarakat dunia akan kebutuhan berkomunikasi. Teknologi IoT mengubah perangkat menjadi sesuatu yang lebih berharga. Konsep Smart Home
merupakan salah satu perkembangan teknologi pada era modern ini. Teknologi Smart Home
memberikan kemudahan bagi pengguna dimana perangkat-perangkat dapat saling terhubung dan mempermudah pekerjaan. Sejalan dengan perkembangan ini, menciptakan sebuah terobosan baru bagi lampu yang umum disebut dengan Smart Light Bulb. Perangkat Smart Light Bulb telah mengubah konsep lampu konvensional yang hanya mampu menerangi menjadi sebuah perangkat yang dapat mengendalikan warna dan intensitas cahaya yang dihasilkan. Namun proses instalasi dalam penggunaan konsep Smart Home tidaklah mudah. Dengan metode Pervasive Device dapat menyelesaikan permasalahan yang ada dan memudahkan penggunaan konsep Smart Home. Penelitian terkait dengan pengembangan Smart Light Bulb yang telah di kembangkan sebelumnya. Pada penelitian ini komponen mikrokontroller yang digunakan adalah NodeMcu ESP8266. Dengan NodeMcu memungkinkan komunikasi wifi sehingga dapat terhubung dengan router. Dengan danya dukungan smartphone dan perangkat, maka pengembangan terhadap Smart Light Bulb dapat diimplementasikan. Aplikasi yang digunakan dibuat berbasis perangkat Android. Fitur timer Smart Light Bulb dikembangkan untuk menyempurnakan perangkat keras. Dengan menggunakan komponen RTC DS1307 pada perangkat keras memungkinkan fitur timer dapat dikembangkan dengan baik. Fitur diuji dengan 10 kali pengujian dan memiliki keberhasilan sebesar 100%.
Kata kunci: Smart Light Bulb, NodeMcu ESP8266, Android, RTC DS1307
Abstract
The Internet of Things (IoT) has changed the habit of the world community about the need to communicate. IoT technology transform the usual device into a device that is more valuable. The lamp is one of the basic needs of modern community as a source of light, that would not be able to be separated from daily activites. The concepts of Smart Home is one of the development of the technology in the modern era. The technology of Smart Home makes user easier to do activites where the devices are able to connect one another and simpllify the work. In the line of the development, creating a breakthrough for lamp named Smart Light Bulb. The Smart Light Bulb device has changed the concept of conventional lamp into a lamp that is able to control the color and intensity of the lamp. In the installation process of the Smart Home might be faced by some difficulties. With Pervasive Device method, the existing problem can be solved and it facilitate the use of Smart Home concept. This research is related to the development os Smart Light Bulb which has been developed previously. In this research the microcontroller component that is used is NodeMcu ESP8266. NodeMcu allows wifi communication so it can be connected to the router. With the device and smartphone, the development of Smart Light Bulb can be implemented. The application is developed in Android device. The feature of the timer in Smart Light Bulb was developed to fine-tune the hardware of Smart Light Bulb. Using the RTC DS 1307 component on the hardware allows timer features to be well developed.The feature was tested 10 times and have the 100% success rate.
1. PENDAHULUAN
Dalam dua dasawarsa terakhir perkembangan teknologi mengalami kemajuan yang sangat pesat dan memberikan dampak terhadap banyak aspek dalam kehidupan manusia. Salah satu pemicu pesatnya perkembangan teknologi adalah komunikasi. Internet of Things (IoT) merupakan istilah dari sebuah konsep sistem komputasi yang dibenamkan pada perangkat keras yang ditujukan untuk memperluas konektivitas pada bidang tertentu seperti smart home, perusahaan industrial, sarana pemerintahan dan sebagainya. (POSTNote, 2006). Smart home merupakan sebuah istilah yang digunakan untuk menggambarkan sebuah sistem yang dirancang guna mengendalikan dan memonitoring rumah dengan perangkat sensor, akuator, dan elemen komputasi di dalamnya. Sistem tersebut berjalan secara independen dan dapat berkomunikasi antara satu perangkat dengan perangkat lainnya (Robles & Kim, 2010).
Saat ini komunikasi smarthome umumnya menggunakan media wireless atau nirkabel. Beberapa teknologi Smart Home yang berkembang saat ini antara lain Smart Door Lock, Smart Mirror dan Smart Lamp. Salah satu Smart Lamp yang baru saja dikembangkan pada tahun 2017 adalah Smart Light Bulb. Smart Light Bulb merupakan sebuah perangkat cerdas yang dapat dikendalikan melalui Smartphone secara otomatis tanpa harus melakukan konfigurasi IP address dengan menggunakan metode Pervasive Device. (Leonardo, 2017)
Pada penelitian sebelumnya perangkat Smart Light Bulb memiliki fitur untuk mengendalikan warna lampu. Perangkat ini masih memiliki kekurangan yaitu mudah panas. Hal tersebut disebabkan tidak adanya komponen yang dapat mengatur tegangan listrik. Oleh karena itu dibutuhkan komponen yang dapat mengatur tegangan listrik juga fitur tambahan yang dapar menghemat penggunaan daya listrik.
Pada penelitian kali ini peneliti mengembangkan perangkat Smart Light Bulb dengan beberapa fitur tambahan yang dapat mencegah terjadinya resiko overheat pada perangkat. Fitur tersebut antara lain timer dan fitur pencahayaan. Fitur timer dapat mengatur waktu operasi perangkat baik nyala ataupun mati sesuai dengan waktu yang diatur. Sedangkan
fitur pada cahaya yaitu pengaturan intensitas dimana terang dan redup cahaya dapat diatur oleh pengguna, dan perubahan warna secara otomatis. Dengan fitur timer dan pengaturan cahaya dapat mengurangi resiko overheat karena penggunaan perangkat dapat diatur oleh pengguna melalui smartphone.
Berdasarkan latar belakang diatas, diharapkan pengembangan fitur timer dan pengaturan intensitas cahaya dapat mencegah resiko terjadinya overheat pada perangkat. Implementasi dilakukan dengan menggunakan perangkat NodeMcu ESP8266 sebagai wujud dari Smart Light Bulb dengan metode Pervasive Device melalui media perantara berupa wifi yang di operasikan menggunakan aplikasi android.
RTC DS1307 merupakan komponen IC yang berfungsi sebagai sumber data waktu yang berupa data detik, menit, jam, hari, bulan, maupun tahun. Beroperasi dengan format 24 jam atau 12 jam dengan indicator AM/PM. Desain tampilan DS1302 disederhanakan dengan menggunakan komunikasi serial sinkron. Hanya membutuhkan 3 kabel untuk berkomunikasi dengan clock/RAM: CE, I/O, dan SCLK (serial clock). DS1307 dirangcang agar dapat beroperasi dengan daya yang sangat rendah, dan menyimpan data serta informasi jam kurang dari 1µW (Integrated, 2015).
Analisis kebutuhan pada penelitian ini ditujukan untuk melakukan analisis pada beberapa kebutuhan yang diperlukan sistem pada penelitian ini. Analisis kebutuhan terbagi atas 2 kategori yaitu analisis kebutuhan komponen perangkat keras dan analisis kebutuhan piranti lunak.
Adapun komponen perangkat keras yang digunakan dalam penelitian ini antara lain:
1. High Power LED (HPL) RGB 10W, komponen pemancar cahaya berupa warna merah, hijau, dan biru.
2. NodeMCU ESP8266 12-F, mikrokontroller untuk mengatur kegiatan komunikasi informasi dan pengendalian lampu HighPowerLED (HPL).
3. Switching 220vac, untuk mengubah tegangan AC menjadi DC dan sebagai sarana kebutuhan tegangan komponen elektronika.
agar dapat digunakan kepada komponen-komponen yang terkait.
5. WS2811, kebutuhan driver LED dapat dilakukan dengan menggunakan komponen transistor menjadi digital switch.
6. RTC DS1307, komponen IC penghitung yang berfungsi sebagai sumber waktu. 7. Laptop, sebagai media transmisi informasi
berupa nirkabel wifi ad hoc dan sebagai media untuk membuat piranti lunak sistem. 8. Perangkat Android, sebagai bahan pengujian dan pembuatan aplikasi Android.
Sedangkan kebutuhan perangkat lunak untuk membuat piranti lunak sistem adalah:
1. Arduino IDE, sebagai IDE yang digunakan untuk mengupload program dengan bahasa C ke perangkat keras NodeMCU.
Android Studio, sebagai IDE yang digunakan untuk mengembangkan aplikasi pada piranti lunak berbasis sistem operasi Android.
2. PERANCANGAN SISTEM 2.1. Mekanisme Perancangan
Dalam melakukan penelitian implementatif diperlukan tahapan implementasi. Pada gambar 1 penelitian akan dimulai dari tahap implementasi perangkat keras. Implementasi perangkat keras dibagi menjadi 2 yaitu pembuatan dan perakitan komponen elektronik, perakitan komponen perangkat keras sama seperti yang telah dikembangkan pada penelitian sebelumnya. Dilanjutkan dengan pembuatan perangkat lunak pada NodeMcu sebagai pusat kendali sistem. Di setiap tahap akan dilakukan
pengujian untuk memenuhi kebutuhan prasyarat pada bab sebelumnya.
Perangkat keras yang dibuat memiliki struktur dan komponen yang sama seperti pada implementasi penelitian Smart Light Bulb
sebelumnya, sehingga akan mampu mengimplementasi algoritma pervasive device yang telah dirancang. Dengan menggunakan algoritma tersebut maka fitur pencahayaan dan timer yang akan dibenamkan pada perangkat lunak dapat diimplementasi dan dapat dilakukan pengujian penelitian.
2.2 Diagram Blok Perangkat Keras
Gambar 1. Diagram Blok Perangkat Keras
Pada Gambar 2, NodeMcu merupakan sistem kendali dari perangkat keras yang telah dibentuk. Pada bagian power supply, tegangan masukan adalah 12v yang kemudian akan diregulasi menjadi 3.3v. Selanjutnya NodeMcu akan melakukan kendali atas LED (LED Driver)
melalui IC WS2811 dan ULN2003 sebagai media konduksi tegangan 12v. Sebelum melalui
optocoupler digunakan BD139 untuk memberi arus yang lebih besar pada pinout ESP8266. Arus listrik akan dialirkan pada pin IC WS2811 untuk melakukan kontrol PWM.Tegangan akan dialirkan IC ULN2003 ke ground dari 12v yang kemudian akan dihasilkan warna sesuai pada LED 10w. Sebelum IC ULN2003 memberikan tegangan, perangkat diberi komponen resistor guna melakukan pembatasan tegangan yang masuk pada LED. Pada NodeMcu terpasang komponen RTC DS1307 yang akan dialirkan tegangan sebesar 4.5v.
2.3 Skematik Perangkat Keras
Perangkat keras yang telah diimplementasi dan akan dikembangkan. Tegangan 3.3v didapatkan dari regulasi tegangan oleh 7085 untuk mengubah tegangan 12v menjadi 5v, dilanjutkan dengan AMS1117-3.3v yang akan menghasilkan tegangan 3.3v tersebut. Komponen ESP8266 dialiri tegangan 3.3v, pada GPIO14 dihubungkan dengan push button
dengan resistor untuk mendapatkan nilai pull down. GPIO12 dihubungkan pada transistor BD139 dan dilanjutkan dengan optocoupler
yang berfungsi sebagai kontrol warna dan intensitas LED. Pada optocoupler bagian receiver diberikan arus listrik dari tegangan 12v untuk mengaktifkan fungsi dari LED.
Bagian LED memiliki komponen IC WS2811 yang mengatur kontrol warna dengan metode PWM melalui IC ULN2003. Komponen yang lainnya berupa resistor yang didapatkan melalui perhitungan dan persyaratan tegangan komponen.
Gambar 2. Skematik RTC dan NodeMcu
Pada Gambar 3, merupakan rangkaian dari RTC DS1307. Kebutuhan batterai yang mengalirkan tegangan sebesar 2v-3.5v. Bentuk komunikasi data dari IC RTC adalah I2C yang menggunakan 2 jalur komunikasi yaitu SCL dan SDA yang dapat dilihat pada gambar. Saluran data untuk komunikasi data antara NodeMcu dengan RTC melalui pin SDA, sedangkan pin SCL sebagai saluran clock. Pin VCC berfungsi sebagai sumber energi utama yang membutuhkan tegangan sebesar 4.5v. Sedangkan VBATT merupakan sumber energi cadangan yang berfungsi agar penghitung pada RTC tidak berhenti. Pin GND dihubungkan ke ground pada NodeMcu yang berfungsi sebagai catu daya pada RTC.
Berikut adalah pin-pin yang digunakan pada keseluruhan sistempada tabel 1, terdiri dari pin RTC DS1307 dan pin dari perangkat Smart Light Bulb yang telah dikembangkan sebelumnya.
Tabel 1 Tabel Konfigurasi Pin Perangkat Keras
No NodeMcu
ESP8266
RTC DS1307 Smart Light Bulb
2.4. Diagram Alir Piranti Lunak
Gambar 4. Diagram Alir Piranti Lunak pada Perangkat Keras
Pada perangkat Smart Light Bulb memiliki diagram alir pada setiap bub-sistem didalamnya, seperti pada Gambar 4. Hal yang pertama kali dilakukan pada sistem perangkat keras adalah melakukan inisialisasi baik secara perangkat keras maupun piranti lunak. Setelah kondisi disesuaikan maka perangkat keras kemudian melakukan pembuatan access point. Fungsi dari
access point ini untuk melakukan akses ketika perangkat belum menemukan host router untuk digunakan sebagai wadah pervasive device.
Apabila terdapat permintaan layanan melalui protokol HTTP maka perangkat akan melakukan proses untuk layanan. Persyaratan akan layanan yang diberikan telah diatur dalam piranti lunak. Terdapat 8 layanan dasar pada fungsi HTTP yang dapat direspon oleh sistem. Bentuk respon menggunakan protokol JSON.
Pengaturan kontrol lampu menggunakan driver LED yang dibentuk melalui perangkat keras dan piranti lunak. Dalam penelitian ini merupakan driver penggunaan timer dan pencahayaan terjadwal.
2.5. Diagram Alir Aplikasi
Gambar 3. Diagram Alir Aplikasi Smart Light Bulb
Aplikasi yang dibuat pada perangkat
smartphone Android memiliki diagram alir pada setiap sub-sistem didalamnya seperti pada Gambar 5. Aplikasi berfungsi untuk melakukan tindakan pervasive dengan mengidentifikasi layanan yang ada pada Smart Light Bulb. Pada awal aplikasi dijalankan, diperlukan scanning wifi access point untuk mengetahui perangkat yang sedang aktif dengan membedakan nama pada access point.
Aplikasi akan melakukan seleksi access point dan melakukan koneksi dengan access point yang dituju. Konfigurasi wifi diberikan kepada perangkat keras melalui protokol HTTP. Kemudian alat akan merespon dengan melakukan koneksi ke perangkat router access point.
Tahap yang terakhir adalah melakukan
identifikasi melalui metode pervasive device. Aplikasi akan melakukan scanning IP guna mengidentifikasi aakan Smart Light Bulb ada disekitar jangkauan. Apabila terdeteksi maka pengguna dapat memilih perangkat dan melakukan pengaturan intensitas warna pada
Smart Light Bulb.
3 Pengujian dan Analisis
3.1 Pengujian Menyalakan dan Mematikan Dengan Timer
Pengujian fitur ini merupakan dasar dari fungsional Smart Light Bulb. Pengujian dilakukan pada aplikasi smartphone dan perangkat Smart Light Bulb. Langkah awal pengujian adalah melakukan koneksi melalui metode pervasive, memastikan alat dalam keadaan terkoneksi dengan router yang sama. Apabila perangkat terdeteksi akan terlihat seperti di gambar 6
Gambar 6. Smart Light Bulb Terdeteksi Pada Screen
Pengujian dilankutkan dengan menekan
timer untuk masuk ke dalam aktivitas timer. Selanjutnya pengguna menekan tombol
“NYALA” untuk mengatur waktu nyala, dan “MATI” untuk mengatur waktu mati pada
perangkat keras. Berikut gambar tampilan antarmuka pengatur waktu.
Pada gambar 7 melakukan pemilihan waktu untuk menyalakan lampu, kemudian tekan
tombol “NYALA” maka pengaturan akan
terkirim piranti lunak Smart Light Bulb untuk mengatur perangkat keras menyala pada waktu yang telah di tentukan. Pada gambar 8 pengaturan waktu menyala pukul 10:12 dan waktu terkini adalah 10:11. Sehingga akan didapatkan lampu menyala 1 menit kemudian.
Gambar 8. Informasi Pengaturan Waktu Diterima
Tabel 2. Pengujian Menyalakan dengan Timer
No Waktu
Sekarang
Waktu Nyala
Hasil
1 10 : 05 10 : 06 Menyala
2 10 : 11 10 : 12 Menyala
3 10 : 16 10 : 17 Menyala
4 10 : 20 10 : 22 Menyala
5 10 : 25 10 : 26 Menyala
6 10 : 31 10 : 33 Menyala
7 10 : 40 18 : 41 Menyala
8 10 : 44 10 : 46 Menyala
9 10 : 50 10 : 52 Menyala
10 10 : 55 10 : 56 Menyala
Dapat dilihat pada tabel 2 bahwa pengujian menggunakan timer pada perangkat Smart
Light Bulb telah dilakukan sebanyak 10 kali
pengujian dengan selisih waktu menyala 1-2 menit. Hasil dari pengujian menunjukkan bahwa lampu menyala di seluruh percobaan, dengan kata lain tingkat keberhasilan adalah 100%. Gambar 9 merupakan kondisi lampu yang menyala menggunakan fitur timer.
Gambar 9. Lampu Menyala denganTimer
Pengujian mematikan Smart Light Bulb
dengan timer juga memiliki langkah yang sama. Pada aktivitas pengaturan timer tekan tombol
“MATI” mengirimkan parameter “off” ke piranti
lunak dan mematikan perangkat Smart Light Bulb. Gambar 10 menunjukkan bahwa pengaturan telah terkirim ke piranti lunak.
Gambar 10. Informasi Pengaturan Waktu Mati
Tabel 3. Pengujian Mematikan dengan Timer
No Waktu
Sekarang
Waktu Nyala
Hasil
1 10 : 07 10 : 09 Mati
2 10 : 13 10 : 14 Mati
3 10 : 18 10 : 19 Mati
4 10 : 23 10 : 24 Mati
5 10 : 28 10 : 30 Mati
6 10 : 34 10 : 36 Mati
7 10 : 42 18 : 43 Mati
8 10 : 47 10 : 49 Mati
9 10 : 53 10 : 54 Mati
Dapat dilihat pada tabel 3 bahwa pengujian mematikan menggunakan timer pada perangkat
Smart Light Bulb telah dilakukan sebanyak 10 kali pengujian dengan selisih waktu menyala 1-2 menit. Hasil dari pengujian menunjukkan bahwa lampu berhasil mati di seluruh percobaan, dengan kata lain tingkat keberhasilan adalah 100%. Pada gambar 11 dapat dilihat bahwa
Smart Light Bulb telah mati menggunakan timer.
Gambar 11. Lampu mati dengan Timer
3.2 Pengujian Fitur Warna Terjadwal
Pengujian fitur ini merupakan fungsional lanjut dari perangkat Smart Light Bulb. Pengujian dilakukan pada perangkat Smart Light Bulb sehingga dapat mengganti warna secara terjadwal dengan kondisi yang telah ditentukan. Langkah awal pengujian adalah melakukan koneksi menggunakan metode pervasive seperti pengujian sebelumnya, memastikan alat dalam keadaan terkoneksi dengan router yang sama dengan smartphone pengguna. Perangkat yang sedang melakukan koneksi akan berwarna biru. setelah perangkat terkoneksi dan terdeteksi oleh aplikasi maka langkah selanjutnya menekan tombol Smart Light Bulb yang terdeteksi dan akan muncul aktivitas seperti gambar 12.
Gambar 12. Tampilan Pengaturan Warna Aplikasi
Kemudian akan tampak tombol-tombol pada tampilan pengaturan warna Smart Light Bulb
seperti pada gambar 12. Tekan tombol “AUTO” untuk mengaktifkan dan meng-non-aktifkan mode terjadwal.
Gambar 13. Mode Terjadwal Diaktifkan
Gambar 15. Warna Lampu Jingga
Gambar 16. Mode Terjadwal di Non-Aktifkan
Penjelasan dari keseluruhan gambar yaitu, Gambar 13 menunjukkan bahwa aplikasi mengirimkan perintah untuk menyalakan
parameter kondisi “on” pada fungsi
setAutoChange() yang kemudian akan menjalankan kondisi autochange pada fungsi loop(). Dan kondisi warna lampu berubah secara terjadwal, dapat dilihat pada gambar 14-15.
Kemudian tombol “AUTO” ditekan kembali pada gambar 16 yang akan mengirimkan
parameter “off” sehingga mode terjadwal akan
berhenti.
4 KESIMPULAN
Berdasarkan rumusan masalah yang dibuat dan hasil dari perancangan, implementasi serta pengujian dari penelitian ini, maka dapat diambil kesimpulan antara lain:
1. Penelitian ini menggunakan NodeMcu yang digunakan sebagai mikrokontroller
perangkat keras. Perangkat NodeMcu memiliki fasilitas wifi Access Point dan mode Station yang dapat difungsikan pada metode pervasive device yang digunakan pada penelitian ini.dalam mengendalikan lampu, NodeMcu tidak dapat secara langsung mengendalikan arus listrik pada lampu LED 10watt. Sehingga diperlukan perancangan
driver LED untuk mengendalikannya.
Driver LED yang digunakan adalah IC WS2811 dan ULN2003. WS2811 sebagai pengatur PWM dari perangkat dan ULN2003 sebagai pengendalian arus listrik pada LED. Penggunaan modul RTC DS1307 harus disesuaikan dengan kebutuhan dari perangkat Smart Light Bulb. Dengan menggunakan NodeMcu maka RTC DS1307 membutuhkan sumber tegangan dan konfigurasi pin yang tepat agar modul dapat berjalan sebagaimana mestinya. Sumber tegangan eksternal pada RTC DS1307 yang berupa batterai harus tetap terjaga, karena sumber tegangan catu daya sangat dibutuhkan untuk menjalankan fungsi real time clock.
2. Pengujian fungsional dilakukan untuk memverifikasi sistem dapat berjalan sesuai dengan yang diharapkan. Tahapan pengujian dilakukan dimulai dari pengujian penggunaan modul RTC DS1307 sebagai timer untuk menyalakan dan mematikan lampu, hal ini dapat menanggulangi faktor kesalahan manusia yang rawan lalai dalam penggunaan Smart Light Bulb
secara terus menerus yang menyebabkan komponen rusak karena panas. Kemudian fitur perubahan warna caya secara terjadwal bertujuan untuk mempercantik Smart Light Bulb. Fitur warn terjadwal dapat berjalan dengan baik sesuai dengan kondisi yang telah terprogram pada piranti lunak.
DAFTAR PUSTAKA