169
Smart Home - Sistem Pemberi Peringatan Secara Realtime Berbasis Mikrokontroler Arduino dan Web Socket
Indra Waspada1, Sutikno 2
1,2Departemen Ilmu Komputer/Informatika, Universitas Diponegoro Email: 1[email protected], 2[email protected]
Abstrak
Smart Home atau Rumah Pintar memberikan kemudahan bagi penghuni rumah dalam memantau kondisi rumah serta mengendalikan perangkat rumah. Perkembangan teknologi interkoneksi jaringan komputer telah menjangkau seluruh dunia sehingga sudah saatnya Rumah Pintar menuju pada interaksi secara interaktif, realtime, dan dua arah.
Arsitektur Sistem Rumah Pintar berbasis web pada umumnya masih menggunakan teknologi HTTP yang bersifat stateless. Pada penelitian ini dibangun sistem pemberi peringatan secara realtime dan otomatis dengan memanfaatkan protokol WebSocket untuk memberi kemampuan komunikasi dua arah melalui suatu socket tunggal sehingga dapat mereduksi overhead komunikasi yang tidak perlu dan koneksi TCP yang redundan. Sistem peringatan yang dibangun terdiri dari tiga subsistem yaitu subsistem sensor dan mikrokontroler, subsistem server, serta subsistem klien. Hasil yang diperoleh adalah sistem yang dapat memberi peringatan dan bereaksi secara realtime serta interaktif terhadap pengguna. Peringatan disampaikan secara visual berupa perubahan warna yang mencolok (warna merah) dan secara audio berupa suara alarm.
Kata Kunci: Smart Home, pemberi peringatan, otomatis, realtime, WebSocket Abstract
Smart Home Solutions makes it easy for residents to monitor the condition of the house as well as controlling home devices. The development of computer network interconnect technology has reached all over the world so it's time to the Smart House on the interaction of an interactive, realtime, and two-way. Smart Home System Architecture web based generally still use HTTP technologies that are stateless. In this study built warning system in realtime and automatically by utilizing the WebSocket protocol to provide two-way communication capabilities through a single socket so it can reduce unnecessary communication overhead and redundant TCP connection. Warning system built consists of three subsystems are subsystems sensor and microcontroller subsystem, server, and client subsystem. The result is a system that can give a warning and react in realtime and interactive to the user. Warning presented visually in the form of a striking color change (red) and audio in the form of an alarm.
Keyword: Smart Home, warner, automatic, realtime, WebSocket
1. PENDAHULUAN
Rumah sebagai tempat tinggal merupakan lingkungan yang sangat membutuhkan penerapan obyek pintar.
Rumah pintar (Smart Home) dapat mendukung otomasi perangkat di rumah serta memberi kemudahan interaksi antara perangkat dengan penghuni/ pemilik rumah. Sistem pemberi peringatan merupakan salah satu fitur penting dalam Rumah Pintar yang dapat memberikan informasi secara cepat dan akurat kepada penghuni/ pemilik rumah. Beberapa sistem pemberi peringatan pernah dibahas antara lain sistem peringatan dini banjir [1], gempa [2], polusi udara [3] dan kesehatan [4, 5].
Berbagai penelitian telah mengusulkan arsitektur dalam membangun rumah pintar [6-11]. Secara mendasar sistem untuk Smart Home terdiri dari tiga bagian penting yaitu sensor, pemroses, serta jaringan komunikasi. Berbagai jenis sensor telah dikenal antara lain sensor suhu, cahaya, kelembaban, gerakan, dsb. Pemroses pada umumnya menggunakan mikrokontroler, sedangkan jaringan komunikasi yang dipakai dapat menggunakan kabel ataupun yang nirkabel misalnya Bluetooth, WiFi, GSM, atau 3G/4G.
Salah satu karakteristik pada sistem berbasis obyek pintar adalah kemampuan untuk menangkap dan mengirimkan data secara kontinyu. Data ini dapat disimpan ataupun langsung diproses sebagai informasi bagi pengguna. Teknologi yang diusulkan pada berbagai penelitian membutuhkan perangkat klien melakukan request (permintaan) ke server [12-15]. Hal ini berpengaruh pada jumlah trafik (bandwidth) dan meningkatnya penggunaan daya pada perangkat (klien) yang digunakan untuk mengakses.
Untuk membangun sistem pemberi peringatan otomatis berbasis web, idealnya klien tidak perlu terus menerus (pooling) menanyakan status ke server. Teknologi WebSocket [16] dapat digunakan sebagai solusi komunikasi secara dua arah (duplex). Dengan WebSocket informasi dari server dapat seketika
170
dikirimkan ke klien tanpa menunggu permintaan dari klien. Dengan demikian dapat menghemat bandwidth dan energi yang dikeluarkan oleh klien menjadi sangat efisien karena tidak perlu memantau data di server.
2. METODE
Metodologi yang digunakan dalam pengembangan sistem meliputi tahapan-tahapan sekuensial linier seperti yang diilustrasikan pada Gambar 1:
Gambar 1. Metodologi Pengembangan Sistem Penjelasan tahapan pengembangan pada Gambar 1 adalah sebagai berikut:
1. Analisis sistem
Pada tahap awal tim peneliti melakukan studi literatur untuk mengetahui perkembangan terakhir teknologi yang akan digunakan kemudian menganalisis kebutuhan sistem yang akan dibangun terkait dengan arsitektur yang akan di buat.
2. Perancangan sistem
Pada tahap ini dilakukan perancangan pada sistem sensor dan mikrokontroler arduino, merancang perangkat lunak pada server berbasis node.js, serta merancang template front-end pada klien web.
3. Pembuatan sistem
Mengimplementasikan hasil desain sistem dalam bentuk perangkat sensor yang dapat mengirim pesan secara realtime ke klien web. Implementasi secara full-stack menggunakan javascript sebagai bahasa pemrograman, yang diterapkan untuk pengaturan sensor, server, serta klien.
4. Pengujian sistem
Pengujian dilakukan secara blackbox, sehingga pengujian dilakukan dengan mengamati hasil eksekusi (input dan output) melalui data uji dan memeriksa fungsional dari perangkat lunak. Evaluasi hanya dari tampilan luar dan fungsionalitasnya.
3. HASIL DAN PEMBAHASAN
Pada bagian ini dijelaskan hasil-hasil yang telah dicapai dalam pengerjaan penelitian ini. Pembahasan hasil dimulai dari analisis sistem, perancangan sistem, dan implementasi sistem.
3.1 Analisis Sistem
Subbab ini menjelaskan deskripsi sistem yang dibangun serta Software Requirement Specification (SRS).
3.1.1 Deskripsi Sistem
Sistem terdiri dari pendeteksi lingkungan menggunakan perangkat sensor suhu dan penerangan berbasis arduino, server sebagai pusat pengolah data, dan klien sebagai antar muka dengan pengguna. Data yang didapatkan dari sensor harus dapat dikirimkan ke Server secara kontinyu. Server yang menerima data akan menganalisa. Jika server mengenali suatu nilai indikator tertentu yang perlu diinformasikan sebagai peringatan maka server dapat langsung mengirimkannya ke klien web menggunakan protokol WebSocket.
Dengan demikian peringatan yang diberikan bersifat realtime dan langsung diinformasikan secara otomatis tanpa membutuhkan pemeriksaan dari pengguna (pemilik rumah).
3.1.2 Software Requirement Specification
Software Requirement Spesification (SRS) pada RealSmart ini dapat dijabarkan seperti dalam Tabel 1.
Tabel 1. Software Requirement Spesification RealSmart
ID SRS Deskripsi
SRS- RealSmart-F01 Sistem dapat mendeteksi nilai suhu dan nilai penerangan dari lingkungan sekitar secara kontinyu dan realtime
SRS- RealSmart-F02 Jika nilai yang dikirim oleh sensor terdeteksi melampaui ambang tertentu maka server mengirim peringatan ke semua klien secara otomatis
SRS- RealSmart-F03 Sistem dapat menampilkan data dari sensor berupa dashboard pada perangkat klien SRS- RealSmart-F04 Sistem dapat memunculkan alarm peringatan dalam bentuk visual dan suara
Tinjauan tahap sebelumnya/modifikasi ulang Analisis
Sistem
Perancangan Sistem
Pembuatan Sistem
Pengujian Sistem
171 3.1.3 Use Case
Berdasarkan uraian pada SRS maka dapat dimodelkan interaksi antara aktor-aktor dengan Sistem RealSmart seperti yang disajikan pada Gambar 2.
Gambar 2. Use Case Diagram Sistem RealSmart 3.1.4 Activity Diagram
Untuk memperjelas aktivitas pada tiap use case pada Gambar 2 maka dimodelkan aktivitas-aktivitas tersebut sebagai aktivitas memproses data sensor dapat dilihat pada Gambar 3, aktivitas membangun koneksi WebSocket dapat dilihat pada Gambar 4, aktivitas menampilkan data dan peringatan ke pengguna dapat dilihat pada Gambar 5.
Gambar 3. Activity diagram memproses data sensor
172
Gambar 4. Activity diagram membangun koneksi WebSocket
Gambar 5. Activity diagram menampilkan data dan peringatan bagi pengguna 3.2 Perancangan Sistem
Pada tahap perancangan sistem dibuat rancangan antar muka aplikasi serta deployment diagram.
3.2.1 Rancangan antar muka aplikasi
Aplikasi pada sisi klien diakses menggunakan browser dengan fungsi sebagai penyaji dalam bentuk Dashboard yang menyajikan data monitoring serta peringatan dari server. Rancangan antar muka aplikasi tersebut disajikan pada Gambar 6.
Jika server mengirimkan peringatan pada salah satu modul, misal pada modul penerangan maka modul tersebut akan memberikan warna merah pada gambar lampu serta membunyikan suara alarm. Demikian pula jika peringatan terjadi pada modul Suhu maka warna background modul tersebut berubah merah serta membunyikan suara alarm.
173 SMARTHOME
PENERANGAN SUHU
25.0 ˚C
Gambar 6. Rancangan antar muka pada klien RealSmart
3.2.2 Deployment Diagram
Untuk memodelkan sistem secara fisik digunakan Deployment diagram seperti yang disajikan pada Gambar 7.
Gambar 7. Deployment diagram sistem RealSmart 3.3 Implementasi Sistem
Pada tahap implementasi dibahas hasil berupa tampilan antar muka klien, perangkat arduino dan rangkaian pendukung.
3.3.1 Tampilan antar muka klien
Antarmuka klien pada Gambar 8 menampilkan data dari sensor cahaya dan sensor suhu. Fitur peringatan dikendalikan melalui server yang diteruskan ke sisi klien. Informasi yang disampaikan bagi pengguna meliputi status penerangan berdasarkan prosenstase intensitas cahaya, dan nilai suhu yang ditampilkan dalam satuan Celcius.
174
Gambar 8. Tampilan antar muka klien 3.3.2 Perangkat arduino dan rangkaian pendukung
Sebagai prototype sensor digunakan LM35 (sensor suhu) dan LDR (sensor cahaya). Keduanya terhubung ke perangkat mikrokontroller arduino melalui pin input analog. Pada perangkat arduino dipasang program standar Firmata yang menyediakan kemampuan komunikasi dengan server melalui bahasa tingkat tinggi, yang dalam hal ini adalah Java script, melalui platform Johnny-five. Gambar 9 menampilkan rangkaian arduino beserta perangkat sensor yang digunakan.
Gambar 9. Arduino beserta sensor suhu, sensor cahaya, dan potensiometer 3.4 Pengujian Sistem
Pengujian sistem dilakukan untuk mengamati berbagai kondisi terkait kemampuan penyajian informasi pada sisi klien. Salah satu bagian penting adalah ketika muncul peringatan. Untuk melakukan pengujian dilakukan dengan cara:
1) Variasi penerangan
Untuk mendapatkan nilai penerangan yang bervariasi maka pengujian dilakukan di tempat yang cukup terang untuk memperoleh nilai penerangan maksimum. Untuk mengamati respon terhadap kondisi gelap maka pada sensor cahaya kita tutup dengan suatu benda atau membuat kondisi ruangan menjadi gelap.
2) Variasi suhu
Untuk melihat respon sistem terhadap perubahan suhu dapat dilakukan dengan mendekatkan sensor ke lingkungan yang panas atau dingin. Namun percobaan menggunakan sensor suhu cukup sulit untuk diamati. Oleh karena itu sebagai alternatif digunakan potensiometer sebagai pengirim nilai suhu (sebagai ganti sensor suhu) sehingga lebih mudah dalam memantau reaksi dan respon server dan klien terhadap perubahan-perubahan yang dilakukan pada sensor.
Hasil pengujian pada Gambar 10 dan 11 menunjukkan respon dari klien ketika suhu berubah dari dingin ke kondisi suhu kamar yang ditunjukkan perubahan warna dari biru muda menjadi hijau.
175
Gambar 10. Penerangan baik, suhu dingin Gambar 11. Penerangan baik, suhu kamar Sedangkan pada Gambar 12 menampilkan reaksi klien ketika menampilkan peringatan karena kondisi penerangan yang kurang (Gelap). Selain lampu yang berwarna merah juga dibunyikan suara alarm. Demikian pula pada Gambar 13 klien menampilkan warna merah pada warna background suhu serta membunyikan alarm.
Untuk menguji akses dan tampilan pada beberapa platform yang berbeda maka digunakan perangkat Laptop, tablet, dan smartphone sebagai klien web. Gambar 14 menunjukkan sistem RealSmart yang diakses melalui klien yang berbeda platform, semua klien dapat merespon data maupun peringatan secara realtime yang diteruskan oleh server melalui jaringan TCP/IP.
Gambar 14. Berbagai platform klien merespon secara realtime Gambar 12. Modul penerangan menampilkan
peringatan dan membunyikan alarm
Gambar 13. Modul suhu menampilkan peringatan dan membunyikan alarm
176 4. SIMPULAN
Sistem yang dibangun dapat menerima data sensor dan meneruskan melalui server ke semua klien berbasis protokol WebSocket secara realtime. Klien tidak perlu melakukan polling ke server melainkan cukup membangun koneksi WebSocket untuk menerima pembaruan dari server secara realtime. Sistem dapat mengirimkan peringatan ke klien secara visual melalui perubahan warna yang mencolok (warna merah) dan secara audio berupa suara alarm.
5. REFERENSI
[1] Plate, E. J. 2007. Early Warning & Flood Forecasting for Large Rivers with the Lower Mekong asExample. J. Hydro-Environment Res. vol. 1 (2): 80-94.
[2] Horiuchi, S., Y. Horiuchi, et al. 2009. Home Seismometer for Earthquake Early Warning. Geophys.
Res. Lett. vol. 36 (5): 1–5.
[3] Khedo, K. K., R. Perseedoss, A. Mungur. 2010. A Wireless Sensor Network Air Pollution Monitoring System. IJWMN. vol. 2 (2): 31-45.
[4] Piyare, R., S. R. Lee, & S. Member. 2014, Mobile Sensing Platform for Personal Health Management, in Consumer Electronics (ISCE 2014), The 18th IEEE International Symposium on, no. 2014: 1-2.
[5] Jingjing, Y., H. Shangfu, Z. Xiao, et al. 2015. Family Health Monitoring System Based on the Four Sessions Internet of Things. TELKOMNIKA (Telecommunication Comput. Electron. Control. Vol.
13 (1): 314-320.
[6] Yan, M. & H. Shi. 2013. Smart Living Using Bluetooth-Based Android Smartphone. Int. J. Wirel.
Mob. Networks. vol. 5(1): 65-72.
[7] Caytiles, R. D. & B. Park. 2012. Mobile IP-Based Architecture for Smart Homes. Int. J. Smart Home. Vol. 6 (1): 29-36.
[8] Kamilaris, A., A. Pitsillides, & V. Trifa. 2011. The Smart Home meets the Web of Things. Int. J. Ad Hoc Ubiquitous Comput. vol. 7 (3): 145-154.
[9] Le Vinh, T., S. Bouzefrane, J.-M. Farinone, A. Attar, & B. P. Kennedy. 2015. Middleware to Integrate Mobile Devices, Sensors and Cloud Computing. Procedia Comput. Sci. Vol. 52(2015):
234-243.
[10] Kelly, S. D. T., N. K. Suryadevara, & S. C. Mukhopadhyay. 2013. Towards the implementation of IoT for environmental condition monitoring in homes. IEEE Sens. J. Vol. 13(10): 3846–3853.
[11] Jain, S., A. V. Hcl, & L. Goyal. 2014, Raspberry Pi Based Interactive Home Automation System Through E-mail, in International Conference on Reliability, Optimization and Information Technology. November 2015: 277-280.
[12] Han, D.-M. & J.-H. Lim. 2010. Design and Implementation of Smart Home Energy Management Systems Based on Zigbee. IEEE Trans. Consum. Electron. vol. 56 (3): 1417-1425.
[13] Kamilaris, A., V. Trifa, & A. Pitsillides. 2011. Home Web : An Application Framework for Web- Based Smart Homes. 2011 18th Int. Conf. Telecommun: 134-139.
[14] Soliman, M., T. Abiodun, T. Hamouda, J. Zhou, & C.-H. Lung. 2013. Smart Home: Integrating Internet of Things with Web Services and Cloud Computing. 2013 IEEE 5th Int. Conf. Cloud Comput. Technol. Sci. no. DECEMBER: 317-320.
[15] Lee, H., N. Park, J. Jang, & H. Kim. 2015, Providing of SoT Collaboration System for Interworking with Smart Home Devices, in 2015 IEEE International Conference on Consumer Electronics (ICCE) III: 255-256.
[16] Fuguo, H. 2013, Web Technologies for the Internet of Things. Aalto University.