Rabu, 06 November 2019

SISTEM MONITORING SUHU JARAK JAUH BERBASIS INTERNET OF THINGS MENGGUNAKAN PROTOKOL MQTT

SISTEM MONITORING SUHU JARAK JAUH BERBASIS INTERNET OF THINGS MENGGUNAKAN PROTOKOL MQTT

SISTEM MONITORING SUHU JARAK JAUH 
BERBASIS INTERNET OF THINGS 
MENGGUNAKAN PROTOKOL MQTT


salah satu perkembangan teknologi internet pada saat ini adalah perkembangan Internet of Things. Internet of  things adalah infrastruktur global untuk masyarakat informasi, memungkinkan layanan yang canggih, dengan menghubungkan objek (things) baik fisik maupun virtual berdasarkan teknologi pertukaran informasi saat ini dan perkembaangannya serta teknologi komunikasi[1].

Monitoring suhu jarak jauh sangat bermanfaat jika dilakukan pada daerah yang luas, daerah yang berbahaya atau untuk kecepatan pengambilan data karena hanya peralatan sensor dan sistem transmisi yang berada di lokasi. Akses jarak jauh dapat melalui media kabel, nirkabel atau serat optik baik secara point to point maupun jaringan. 
Protokol Message Queue Telemetry Transport (MQTT) adalah protokol pesan yang sangat sederhana dan ringan. Protokol MQTTmenggunakan arsitektur publish/subscribe yang dirancang secara terbuka dan mudah untuk diimplementasikan, yang mampu menangani ribuan client jarak jauh dengan hanya satu server. MQTT meminimalkan bandwidth jaringan dan kebutuhan sumber daya perangkat ketika mencoba untuk menjamin kehandalan dan pengiriman. Pendekatan ini membuat protokol MQTT sangat cocok untuk menghubungkan mesin ke mesin (M2M), merupakan aspek penting dari konsep Internet of things [2]. Arsitektur MQTT seperti pada Gambar 1[2]. 
Publikasi yang terkait dengan memonitor atau mengukur suhu jarak jauh sudah ada dengan berbagai metoda baik cara transmisi jarak jauhnya maupun protokol yang digunakan. Pada artikel [3] pengiriman data suhu dilakukan point to point secara nirkabel dengan menggunakan protokol komunikasi Universal Asyncrounous Syncronous Receiver Transmitter (UASRT), yang merupakan protokol standar pengiriman data serial pada mikrokontroler. Pada artikel [4] pengiriman data suhu menggunakan saluran komunikasi seluler dengan protokol Short  Message Service (SMS). Sistem ini mampu menjangkau jarak yang jauh namun masih bersifat point to point. Pada artikel [5] pengiriman data suhu menggunakan SMS dan Web yang dapat diakses melalui perangkat berbasis Android. Sistem ini juga masih bersifat point to point sehingga penambahan titik sensor harus menduplikasi sistem.


Publikasi yang terkait dengan aplikasi protokol MQTT seperti pada artikel[6][7]yang digunakan untuk home automation melalui jaringan internet dan GSM. Sedangkan pada artikel  protokol MQTT digunakan untuk home automation dengan koneksi jaringan nirkabel. 

Tahapan penelitian diawali dengan melakukan perancangan sistem dan menentukan komponen yang akan digunakan, membuat prototip hardware, membuat program node sensor dan node monitor, dan melakukan pengujian.

Arsitektur Sistem  

Koneksi jaringan komputer pada Node Sensor menggunakan wifi. Komponen yang digunakan pada Node Sensor adalah Arduino Uno dan modul wifi esp8266 ver 01 dengan bahasa pemrograman C/C++ sedangkan Node Monitor menggunakan PC Windows atau Linux dengan bahasa pemrograman Java. Server MQTT yang digunakan adalah Mosquitto, untuk tujuan ujicoba server Mosquitto diinstal pada jaringan lokal sedangkan untuk uji coba pada jaringan global menggunakan server mqtt://test.mosquitto.org.

Node Sensor
Node Sensor diimpelentasikan menggunakan sensor suhu LM35, Arduino UNO dan modul wifi Esp8266 ver 01. Board Arduino UNO , Sensor suhu LM35,  dan modul Esp8266 ver 01 masing-masing diperlihatkan pada Gambar 4, 5, dan dan 6.  Sedangkan fungsi pin pada board Arduino UNO,  sensor

Tegangan keluaran LM35 berbanding linear dengan suhu, dengan perbandingan 10mV/OC atau 1V/100 OC[10]. Sedangkan masukan Analog pada board Arduino UNO mempunyai nilai dari 0 –1023 dan tegangan referensi 5V. Sehingga hasil pembacaan data Analog dapat dikonversikan ke suhu Celsius dengan persamaan sebagai berikut .
T = (dataAnalog)/1024 * 5*100 0C              (1)



Pada Node Sensor program diimplementasikan menggunakan bahasa C/C++ menggunakan lingkungan pengembangan Arduino. Ada dua program, pertama untuk board Arduino yang berfungsi membaca data suhu dari sensor suhu LM35 dan yang kedua untuk modul wifi Esp8266 yang berfungsi untuk koneksi wifi dan implementasi protokol client MQTT. Program untuk modul wifi Esp8266 membutuhkan pustaka ESP8266wifi.h untuk koneksi wifi dan  PubSubClient.h untuk implementasi client MQTT merupakan hasil dari proyek Eclipse Paho. Komunikasi data antara Arduino UNO dan modul wifi Esp8266 menggunakan UASRT dengan kecepatan 115200 bps. Diagram alir program untuk Arduino UNO seperti pada Gambar 8 dan untuk modul wifi Esp8266 seperti pada Gambar 9.

            
 Node Monitor menggunakan Personal Computer (PC) dengan koneksi jaringan menggunakan kabel atau wifi. Program diimplemetasikan menggukan bahasa Java pada lingkungan pengembangan Processing versi 3. Ada 3 fungsional program utama, pertama inisialisasi dan loop yang berfungsi untuk inisialisasi variabel atau membuat objek dan melakukan looping terus menerus. Diagram alirnya diperlihatkan pada Gambar 10. Kedua subscribe event handler yaitu program yang berfungsi untuk memproses data yang diterima pada subscribe topik tertentu. 

Ketiga adalah program button event handler yaitu program yang digunakan untuk memproses penekanan tombol. Semua event tombol diproses pada program ini. 

Server/Broker MQTT
Server/Broker MQTT menggunakan Mosquitto yang dapat berjalan pada sistem operasi Windows, Linux. Server MQTT defaultnya mendengar pada protokol TCP port 1883[2]. Untuk tujuan ujicoba lokal, server MQTT diinstal pada sistem operasi Linux Ubuntu LTS 14.04, sedangkan untuk ujicoba koneksi global menggunakan server Mosquitto untuk tujuan pengujian pada alamat mqtt://test.mosquitto.org. Metode Pengujian
Pengujian dilakukan dengan cara menjalankan Node Sensor dan Node Monitor untuk melakukan persambungan ke server MQTT lokal. Persambungan lokal dibuat menggunakan Access Point. Untuk tujuan melakukan debug dan pengujian, program pada Node Sensor dan Node Monitor diberi fungsi tambahan diluar fungsi untuk monitor suhu jarak jauh. Pengujian koneksi ke server global dilakukan dengan menyediakan Access Point yang terkoneksi dengan internet kemudian Node Sensor dan Node Monitor disambungkan ke server Mosquitto pada alamat mqtt://test.mosquitto.org.
Pengujian pembacaan sensor dilakukan dengan mengukur tegangan keluaran sensor dan data yang ditampilkan serta dibandingan dengan termometer digital untuk suhu tubuh.
III. HASIL  
 Hasil pengujian pembacaan sensor suhu LM35 seperti pada Tabel 1. Suhu tertampil diproses menggunakan persamaan 1:
TABEL IV. 
HASIL PENGUKURAN KELUARAN SENSOR LM35
No
Tegangan LM35(mV)
Suhu  Tertampil (0C)
Suhu hitungan(0C)
1
270
26.00
27.00
2
272
26.20
27.20
3
273
26.20
27.30
4
277
26.54
27.70
5
280
26.88
28.00
6
300
29.03
30.00
rerata
278.67
26.70
27.74

Rata-rata kesalahan suhu tertampil terhadap suhu hasil perhitungan sebesar 1.04 0C. Hasil ini lebih jelek jika dibandingan dengan hasil pada artikel[3].
Hasil koneksi server MQTT lokal dan server MQTT global oleh Node Monitor diperlihatkan masingmasing pada  Gambar 10 dan Gambar 11. Tampilan suhu hasil pengukuran didapatkan dari subscribe Node Sensor pada topik “sensor/suhu”.
               
Gambar 10. Koneksi server MQTT Lokal      Gambar 11. Koneksi server MQTT Global

Prototip Node Sensor diperlihatkan pada Gambar 12.
 
Gambar 12. Prototip Node Sensor
 SISTEM MONITORING SUHU JARAK JAUH 

BERBASIS INTERNET OF THINGS 
MENGGUNAKAN PROTOKOL MQTT

sAlah satu perkembangan teknologi internet pada saat ini adalah perkembangan Internet of Things. Internet of  things adalah infrastruktur global untuk masyarakat informasi, memungkinkan layanan yang canggih, dengan menghubungkan objek (things) baik fisik maupun virtual berdasarkan teknologi pertukaran informasi saat ini dan perkembaangannya serta teknologi komunikasi.
Monitoring suhu jarak jauh sangat bermanfaat jika dilakukan pada daerah yang luas, daerah yang berbahaya atau untuk kecepatan pengambilan data karena hanya peralatan sensor dan sistem transmisi yang berada di lokasi. Akses jarak jauh dapat melalui media kabel, nirkabel atau serat optik baik secara point to point maupun jaringan. 
Protokol Message Queue Telemetry Transport (MQTT) adalah protokol pesan yang sangat sederhana dan ringan. Protokol MQTTmenggunakan arsitektur publish/subscribe yang dirancang secara terbuka dan mudah untuk diimplementasikan, yang mampu menangani ribuan client jarak jauh dengan hanya satu server. MQTT meminimalkan bandwidth jaringan dan kebutuhan sumber daya perangkat ketika mencoba untuk menjamin kehandalan dan pengiriman. Pendekatan ini membuat protokol MQTT sangat cocok untuk menghubungkan mesin ke mesin (M2M), merupakan aspek penting dari konsep Internet of things .
Publikasi yang terkait dengan memonitor atau mengukur suhu jarak jauh sudah ada dengan berbagai metoda baik cara transmisi jarak jauhnya maupun protokol yang digunakan. Pada artikel pengiriman data suhu dilakukan point to point secara nirkabel dengan menggunakan protokol komunikasi Universal Asyncrounous Syncronous Receiver Transmitter (UASRT), yang merupakan protokol standar pengiriman data serial pada mikrokontroler. Pada artikel pengiriman data suhu menggunakan saluran komunikasi seluler dengan protokol Short  Message Service (SMS). Sistem ini mampu menjangkau jarak yang jauh namun masih bersifat point to point. Pada artikel pengiriman data suhu menggunakan SMS dan Web yang dapat diakses melalui perangkat berbasis Android. Sistem ini juga masih bersifat point to point sehingga penambahan titik sensor harus menduplikasi sistem. 
Publikasi yang terkait dengan aplikasi protokol MQTT seperti pada artikel yang digunakan untuk home automation melalui jaringan internet dan GSM. Sedangkan pada artikel  protokol MQTT digunakan untuk home automation dengan koneksi jaringan nirkabel.  
Tahapan penelitian diawali dengan melakukan perancangan sistem dan menentukan komponen yang akan digunakan, membuat prototip hardware, membuat program node sensor dan node monitor, dan melakukan pengujian. Diagram alir tahapan penelitian seperti pada Gambar 2.


Arsitektur Sistem

Koneksi jaringan komputer pada Node Sensor menggunakan wifi. Komponen yang digunakan pada Node Sensor adalah Arduino Uno dan modul wifi esp8266 ver 01 dengan bahasa pemrograman C/C++ sedangkan Node Monitor menggunakan PC Windows atau Linux dengan bahasa pemrograman Java. Server MQTT yang digunakan adalah Mosquitto, untuk tujuan ujicoba server Mosquitto diinstal pada jaringan lokal sedangkan untuk uji coba pada jaringan global menggunakan server mqtt://test.mosquitto.org.

Node Sensor
Node Sensor diimpelentasikan menggunakan sensor suhu LM35, Arduino UNO dan modul wifi Esp8266 ver 01. Board Arduino UNO , Sensor suhu LM35,  dan modul Esp8266 ver 01 masing-masing diperlihatkan pada Gambar 4, 5, dan dan 6.  Sedangkan fungsi pin pada board Arduino UNO,  sensor

Tegangan keluaran LM35 berbanding linear dengan suhu, dengan perbandingan 10mV/OC atau 1V/100 OC[10]. Sedangkan masukan Analog pada board Arduino UNO mempunyai nilai dari 0 –1023 dan tegangan referensi 5V. Sehingga hasil pembacaan data Analog dapat dikonversikan ke suhu Celsius dengan persamaan sebagai berikut 
T = (dataAnalog)/1024 * 5*100 0C              (1)
Pada Node Sensor program diimplementasikan menggunakan bahasa C/C++ menggunakan lingkungan pengembangan Arduino. Ada dua program, pertama untuk board Arduino yang berfungsi membaca data suhu dari sensor suhu LM35 dan yang kedua untuk modul wifi Esp8266 yang berfungsi untuk koneksi wifi dan implementasi protokol client MQTT. Program untuk modul wifi Esp8266 membutuhkan pustaka ESP8266wifi.h untuk koneksi wifi dan  PubSubClient.h untuk implementasi client MQTT merupakan hasil dari proyek Eclipse Paho. Komunikasi data antara Arduino UNO dan modul wifi Esp8266 menggunakan UASRT dengan kecepatan 115200 bps. Diagram alir program untuk Arduino UNO seperti pada Gambar 8 dan untuk modul wifi Esp8266 seperti pada Gambar 9.
         

Node Monitor
 Node Monitor menggunakan Personal Computer (PC) dengan koneksi jaringan menggunakan kabel atau wifi. Program diimplemetasikan menggukan bahasa Java pada lingkungan pengembangan Processing versi 3. Ada 3 fungsional program utama, pertama inisialisasi dan loop yang berfungsi untuk inisialisasi variabel atau membuat objek dan melakukan looping terus menerus. Diagram alirnya diperlihatkan pada Gambar 10. Kedua subscribe event handler yaitu program yang berfungsi untuk memproses data yang diterima pada subscribe topik tertentu. Diagram alirnya diperlihatkan pada 
Ketiga adalah program button event handler yaitu program yang digunakan untuk memproses penekanan tombol. Semua event tombol diproses pada program ini. Diagram alirnya diperlihatkan pada Gambar 12.

Server/Broker MQTT
Server/Broker MQTT menggunakan Mosquitto yang dapat berjalan pada sistem operasi Windows, Linux. Server MQTT defaultnya mendengar pada protokol TCP port 1883. Untuk tujuan ujicoba lokal, server MQTT diinstal pada sistem operasi Linux Ubuntu LTS 14.04, sedangkan untuk ujicoba koneksi global menggunakan server Mosquitto untuk tujuan pengujian pada alamat mqtt://test.mosquitto.org. Metode Pengujian
Pengujian dilakukan dengan cara menjalankan Node Sensor dan Node Monitor untuk melakukan persambungan ke server MQTT lokal. Persambungan lokal dibuat menggunakan Access Point. Untuk tujuan melakukan debug dan pengujian, program pada Node Sensor dan Node Monitor diberi fungsi tambahan diluar fungsi untuk monitor suhu jarak jauh. Pengujian koneksi ke server global dilakukan dengan menyediakan Access Point yang terkoneksi dengan internet kemudian Node Sensor dan Node Monitor disambungkan ke server Mosquitto pada alamat mqtt://test.mosquitto.org.
Pengujian pembacaan sensor dilakukan dengan mengukur tegangan keluaran sensor dan data yang ditampilkan serta dibandingan dengan termometer digital untuk suhu tubuh.
III. HASIL  
 Hasil pengujian pembacaan sensor suhu LM35 seperti pada Tabel 1. Suhu tertampil diproses menggunakan persamaan 1:
TABEL IV. 
HASIL PENGUKURAN KELUARAN SENSOR LM35
No
Tegangan LM35(mV)
Suhu  Tertampil (0C)
Suhu hitungan(0C)
1
270
26.00
27.00
2
272
26.20
27.20
3
273
26.20
27.30
4
277
26.54
27.70
5
280
26.88
28.00
6
300
29.03
30.00
rerata
278.67
26.70
27.74

Rata-rata kesalahan suhu tertampil terhadap suhu hasil perhitungan sebesar 1.04 0C. Hasil ini lebih jelek jika dibandingan dengan hasil pada artikel[3].
Hasil koneksi server MQTT lokal dan server MQTT global oleh Node Monitor diperlihatkan masingmasing pada  Gambar 10 dan Gambar 11. Tampilan suhu hasil pengukuran didapatkan dari subscribe Node Sensor pada topik “sensor/suhu”.
               
Prototip Node Sensor diperlihatkan pada Gambar 12.


Gambar 12. Prototip Node Sensor


Tidak ada komentar:

Posting Komentar