Fakultas Ilmu Komputer
2131
Implementasi
Quality of Service
pada Protokol
Message Queue Telemetry
Transport
–
Sensor Network
(MQTT-SN) Berbasis Arduino dan NRF24L01
Sofi Hanifah1, Sabriansyah Rizqika Akbar2, Kasyful Amron3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Message Queue Telemetry Transport - Sensor Network (MQTT-SN) merupakan protokol komunikasi turunan dari protokol Message Queuing Telemetry Transport (MQTT) yang diterapkan pada jaringan
sensor. Untuk menerapkan MQTT-SNdibutuhkan Quality of Service (QoS), yang merupakan metode
pengukuran tentang seberapa baik jaringan dan merupakan suatu usaha untuk mendefinisikan karakteristik dan sifat dari suatu servis sehingga pesan diterima. Penerapan QoS pada MQTT-SN sangatlah penting untuk menjamin diterimanya data. Penelitian ini mengimplemenetasikan mekanisme
QoS pada Arduino Nano dengan komunikasi wireless NRF24L01 menggunakan format pesan
MQTT-SN. Pada penelitian ini dilakukan pengujian dengan level QoS yang berbeda, sehingga didapat hasil yang berbeda tiap level QoS. MQTT-SN dengan QoS level 0, memungkinkan paket tidak sampai pada
gateway karena publisher terus melakukan publish tanpa adanya timbal balik dari gateway, sehingga
publisher tidak mengetahui pesan sampai pada tujuan atau tidak dan rata-rata pesan diterima sebanyak
70%. Sedangkan MQTT-SN dengan QOS level 1, gateway tidak dapat membedakan data publish saat
pertama kali dan data publish yang dikirim ulang oleh publisher sehingga terjadi duplikasi pesan sebanyak 30%. MQTT-SN dengan QoS level 2, pesan diterima tepat satu kali disebabkan adanya penyimpanan data sementara pada gateway yang akan mengabaikan data yang tidak diperlukan secara acak dan rata-rata pesan diterima 100%.
Kata kunci: MQTT-SN, QoS, publisher, gateway
Abstract
Message Queue Telemetry Transport - Sensor Network (MQTT-SN) is a communication protocol derived from the Message Queuing Telemetry Transport (MQTT) protocol that applied to the sensor network. To apply MQTT-SN requires Quality of Service (QoS). QoS is a method of measuring the quality of network and an attempt to define the characteristics and properties of a service so that messages are received.The Application of QoS in MQTT-SN is very important to ensure the receipt of data. This research implies QoS mechanism on Arduino Nano with NRF24L01 wireless communication using MQTT-SN message format. In this research is tested with different QoS level to get different result in each level of QoS. MQTT-SN with QoS level 0 allows packets not to reach the gateway because publishers continue to publish without any reciprocity from the gateway that make publishers don’t know wether the message is delivered to the destination or not, and average accepted message 70%. While MQTT-SN with QOS level 1 the gateway can not distinguish publish data at the first time and next so duplicated messages can be happen until 30%. MQTT-SN with QoS level 2, the message is received exactly once due to temporary data storage on the gateway that make protocol will ignore data that is not needed and average accepted message 100%.
Keywords: MQTT-SN, QoS, publisher, gateway
1. PENDAHULUAN
Message Queue Telemetry Transport - Sensor Network (MQTT-SN) merupakan protokol komunikasi dengan desain mirip seperti
protokol Message Queuing Telemetry Transport
(MQTT) yang menerapkan konsep publish dan
subscribe, namun diterapkannya pada jaringan
sensor (Stanford-Clark, 2013). Publish
yang melakukan publish disebut publisher.
Sedangkan mekanisme subscribe yaitu ketika
client meminta atau mendapat informasi dari
broker, perangkat yang melakukan subscribe
tersebut disebut dengan subscriber. Broker
merupakan sebuah perantara publisher dan
subscriber yang bertugas menerima pesan dari
publisher dan meneruskan pesan ke subscriber. Namun yang membedakan antara MQTT dengan MQTT-SN yaitu MQTT-SN dituliskan dengan format pesan yang lebih sederhana dibandingkan MQTT.
Protokol MQTT-SN terdiri atas publisher
dan gateway, publisher pada MQTT-SN memiliki fungsi yang sama seperti publisher
pada MQTT, sedangkan gateway pada
MQTT-SN berfungsi yang sama seperti broker namun
juga dapat berfungsi sebagai subscriber
(Stanford-Clark, 2013). Sehingga data yang dihasilkan oleh publisher dapat dikirim menuju
gateway dan diterima pula oleh gateway. Ketika publisher dan gateway berkomunikasi, terdapat
Quality of Service (QoS) yang merupakan metode pengukuran tentang seberapa baik jaringan dan merupakan suatu usaha untuk mendefinisikan karakteristik dan sifat dari suatu servis sehingga pesan diterima (Ferguson & Huston, 1998). MQTT-SN dapat menerapkan tiga level QoS yaitu level 0, level 1, dan level 2. QoS level 0, hanya mengirim pesan satu kali tanpa adanya konfirmasi. QoS level 1, pesan dikirim setidaknya satu kali dengan adanya konfirmasi. QoS level 2, pesan diterima tepat satu kali dengan empat pesan yang dikirimkan dari publisher ke gateway secara sekuensial, yaitu publish, publish receive, publish release,
dan publish complete (Peeples, 2015).
MQTT-SN pada mulanya diciptakan khusus untuk diimplementasikan ke perangkat Xbee yang merupakan modul komunikasi yang memanfaatkan gelombang frekuensi radio 2.4
Ghz. Namun selain Xbee dapat juga
diimplementasikan pada NRF24L01 karena memiliki frekuensi radio yang sama yaitu 2.4 Ghz. Selain memiliki frekuensi yang sama, modul ini juga memiliki konsumsi daya rendah yaitu 22uA dan juga harga yang lebih murah dibandingkan dengan Xbee (Nordic, 2014).
Penelitian ini bertujuan untuk
mengimplementasikanQoS dengan level 0, level 1, dan level 2 pada protokol MQTT-SN sebagai metode pengukuran tentang seberapa baik jaringan sehingga pesan diterima menggunakan modul komunikasi NRF24L01. Diharapkan penelitian ini mampu memberikan gambaran
terhadap kinerja pengiriman dan penerimaan data pada jaringan sensor sesuai dengan QoS yang digunakan.
2. DASAR TEORI
2.1 MQTT-SN
Message Queue Telemetry Transport for Sensor Networks (MQTT-SN) merupakan suatu protokol yang berkerja pada jaringan sensor
dengan komunikasi tidak langsung
menggunakan metode publish-subscribe.
Protokol ini diutamakan digunakan pada jaringan wireless yaitu seperti jaringan sensor dengan bandwidth terbatas, resource terbata, serta pemrosesan yang rendah.
Protokol ini diterapkan pada beberapa jaringan sensor, sehingga diperlukannya sebuah
gateway. Gateway merupakan sebuah node wireless yang digunakan sebagai perantara pada jaringan sensor node dengan MQTT. Sehingga pada node gateway menerapkan dua protokol untuk berkomunikasi yaitu MQTT-SN dan MQTT. Protokol tersebut digunakan untuk meneruskan data dari lingkungan jaringan sensor
menuju MQTT Broker.
Gambar 1 Arsitektur Protokol MQTT-SN Sumber : Andy Standford-Clark (2013)
2.2 QoS
QoS didefinisikan sebagai suatu
Pada level 0, pesan hanya dikirim satu kali, pesan yang terkirim tergantung dari keberadaan jaringan. Pada level 1, pesan dikirimkan setidaknya satu kali, sehingga client setidaknya akan menerima pesan satu kali, jika subscriber
tidak meng-acknowledge maka gateway akan mengirimkan pesan sampai publisher menerima status pengakuan pesan dari client. Pada level 2, pesan dikirimkan tepat satu kali melalui proses
four-step-handshake yaitu pesan publish, pubrec, pubrel, dan pubcomp yang dikirim secara sekuensial.
3. PERANCANGAN DAN
IMPLEMENTASI
3.1 Gambaran Umum Sistem
Gambaran sistem ini menjelaskan tahapan perancangan dan implementasi publisher dan
gateway. MQTT-SN publisher diterapkan dengan mekanisme tertentu agar sistem mampu mengakuisisi data sensor dan mengirimkan
pesan menggunakan protokol MQTT-SN
melalui komunikasi wireless. Sedangkan pada
gateway, sistem diterapkan mekanisme tertentu agar dapat menerima pesan dari publisher
melalui komunikasi wireless. Mekanisme QoS yang diterapkan pada MQTT-SN ditunjukkan Gambar 2.
Gambar 2 Mekanisme QoS pada MQTT-SN
Mekanisme QoS 0, publisher mengirimkan
pesan publish ke gateway tanpa adanya
konfirmasi dari gateway. Mekanisme pada QoS 1, publisher mengirim pesan publish dengan
menerima puback dari gateway. Apabila
publisher tidak mendapatkan puback hingga
timeout, maka akan dilakukan publish ulang.
Sedangkan mekanisme QoS 2 menerapkan four
-step-handshake, yaitu publisher mengirim pesan
publish, kemudian gateway mengirim validasi data yang disimpan di penyimpan sementara ke
publisher dengan mengirim pubrec. Apabila waktu timeout dan publisher tidak mendapat
pubrec, dilakukan publish ulang ke gateway dan data masuk ke penyimpanan sementara. Data yang masuk ke penyimpanan sementara pada
gateway, digunakan untuk mengirim validasi, apabila terdapat data masuk lagi salah satu akan diabaikan secara acak. Setelah mendapat pubrec, publisher mengirim validasi berupa pubrel ke
gateway dan data pubrel masuk ke penyimpanan
sementara. Kemudian gateway mengirim
validasi data yang disimpan di penyimpan
sementara ke publisher dengan mengirim
pubcomp, yang menandakan data sudah lengkap. Apabila waktu timeout dan publisher tidak mendapat pubcomp, dilakukan pubrel ulang ke
gateway.
3.2 Publisher
Penelitian ini menerapkan tiga level QoS pada tiga sistem perangkat lunak publisher, yaitu tiap sistem menerapkan level QoS yang berbeda. Berikut mekanisme pada sistem MQTT-SN publisher dengan QoS level 0 dipaparkan dalam sebuah diagram alir algoritma sistem pada Gambar 3 berikut:
Gambar 3 Diagram Alir Publisher QoS 0
Terdapat sedikit perbedaan dengan MQTT-SN publisher level 0, berikut merupakan
mekanisme pada sistem MQTT-SN publisher
Gambar 4 Diagram Alir publisher Qos 1
Berbeda dengan MQTT-SN publisher level 0
dan MQTT-SN publisher level 1, berikut
merupakan mekanisme pada sistem MQTT-SN
publisher QoS level 2 dipaparkan dalam sebuah diagram alir algoritma sistem pada Gambar 5.
Gambar 5 Diagram Alir publisher QoS 2
Setelah metode pengiriman ditentukan, kemudian dilakukan perancangan pesan yang dikirim sesuai dengan format pesan MQTT-SN. Pada publisher terdapat 3 format pesan yang akan dikirim yaitu pesan connect, publish, dan
pubrel. Pesan connect berfungsi saat MQTT-SN
publisher membuat koneksi dengan gateway,
pesan publish berfungsi saat MQTT-SN
publisher melakukan publish data, sedangkan pesan pubrel berfungsi mengklarifikasi ulang mengenai data yang dipublish oleh publisher ke
gateway dan pesan pubrel ini hanya digunakan pada QoS 2. Berikut format pesan connect
ditunjukkan pada Gambar 6, format pesan
publish ditunjukkan pada Gambar 7, dan format pesan pubrel ditunjukkan pada Gambar 8.
MsgType (oktet 0)
ProtocolId (oktet 1)
ClientId (oktet 2)
Gambar 6 Format pesan connect pada MQTT-SN
QoS (oktet
0)
TopicI d (oktet
1)
MsgId (oktet 2)
MsgT yp (oktet
3)
Data (oktet
4)
Topic Type (oktet 5)
Gambar 7 Format pesan publish pada MQTT-SN
MsgTyp (oktet 0)
TopicId (oktet 1)
MsgId (oktet 2)
Returncode (oktet 3)
Gambar 8 Format pesan pubrel pada MQTT-SN
3.3 Gateway
Dalam mekanisme perancangan sistem diperlukan diagram alir berupa algoritma kerja sistem. Dengan diterapkan algoritma tersebut, maka gateway dapat bekerja sesuai fungsinya sebagai receiver. Penelitian ini menerapkan tiga level QoS pada tiga sistem perangkat lunak
gateway, yaitu tiap sistem menerapkan level
QoS yang berbeda. Berikut merupakan
mekanisme pada sistem MQTT-SN gateway
dengan QoS level 0 dipaparkan dalam sebuah diagram alir algoritma sistem pada Gambar 9.
Gambar 9 Diagram Alir Gateway QoS 0
merupakan diagram alir MQTT-SN gateway level 1 ditunjukkan pada Gambar 10.
Gambar 10 Diagram Alir Gateway QoS 1
Berbeda dengan diagram alir MQTT-SN
gateway pada level 0 dan level 1, berikut
merupakan digram alir MQTT-SN gateway pada
level 2 ditunjukkan pada Gambar 11.
Gambar 11 Diagram Alir Gateway QoS 2
Sedangkan untuk dapat menerapkan protokol MQTT-SN, diperlukan perancangan tiap pesan yang akan dikirim sesuai dengan format MQTT-SN. Pada sistem ini digunakan 4 format pesan yang akan dikirim yaitu pesan connack, puback,
pubrec, dan pubcomp. Pesan connack berfungsi saat gateway melakukan konfirmasi dengan
MQTT-SN publisher bahwa koneksi sudah
terhubung. Pesan puback berfungsi sebagai balasan atau konfirmasi bahwa pesan yang setiap
kali gateway menerima publish dari MQTT-SN
publisher dan pesan puback ini hanya digunakan pada QoS level 1 untuk memenuhi kebutuhan
sistem. Pesan pubrec berfungsi sebagai
klarifikasi bahwa data publish yang diterima sesuai dengan data publish yang dikirim oleh
MQTT-SN publisher. Sedangkan pesan
pubcomp berfungsi untuk memverifikasi bahwa pesan telah sampai dengan lengkap. Pesan
pubrec dan pesan pubcomp tersebut digunakan untuk memenuhi kebutuhan sistem pada QoS
level 2. Format pesan connack dengan
menggunakan protokol MQTT-SN ditunjukkan
pada Gambar 12. Sedangkan pesan puback,
pubrec, dan pubcomp yang digunakan pada protokol MQTT-SN ditunjukkan pada Gambar 13.
MsgTyp (oktet 0) ReturnCode (oktet 1)
Gambar 12 Format pesan connack pada MQTT-SN
MsgTyp (oktet 0)
TopicTyp (oktet 1)
MsgId (oktet 2)
ReturnCode (oktet 3)
Gambar 13 Format pesan puback, pubrec, dan
pubcomp pada MQTT-SN
Pada gateway juga terdapat perancangan penerimaan dan pembacaan pesan yang diterima dari MQTT-SN publisher yaitu pesan connect, pesan publish, dan pesan pubrel. Pembacaan pesan connect digunakan untuk mengetahui apabila MQTT-SN publisher meminta koneksi untuk saling terhubung. Pembacaan pesan
publish dan pesan pubrel digunakan untuk menentukan benar atau tidak suatu pesan yang diterima. Namun pada pesan publish data akan dapat diteruskan menuju MQTT publisher.
Mengenai format pesan tersebut telah
ditunjukkan pada perancangan perangkat lunak
publisher.
4. PENGUJIAN
4.1 Pengujian MQTT-SN QoS 0 dengan
noise 1 detik
Gambar 14 Pengujian publisher QoS level 0 noise 1 detik
Setelah program gateway selesai upload pada Arduino IDE, maka hasil pengujian MQTT-SN
gateway dapat dilihat dari serial monitor COM5 seperti ditunjukkan pada Gambar 15.
Gambar 15 Pengujian gateway QoS 0 noise 1 detik
MQTT-SN gateway berfungsi sebagai
integrasi antara MQTT-SN dan MQTT pada jaringan lokal. Agar data sensor dapat diterima
oleh MQTT subscriber, MQTT-SN gateway
akan meneruskan data menuju MQTT publisher. Media komunikasi yang digunakan gateway dan MQTT publisher adalah port serial yang sama, sehingga untuk mengakses keduanya harus bergiliran.
Pengujian pengiriman data ke gateway
dengan noise 1 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada Tabel 1.
Tabel 1 Hasil pengujian QoS 0 dengan noise 1 detik
4.2 Pengujian MQTT-SN QoS 0 dengan
noise 12 detik
Berikut merupakan hasil pengujian dari pengiriman pesan publish pada publisher dengan QoS level 0 ditunjukkan pada Gambar 16.
Gambar 16 Pengujian publisher QoS level 0
Kemudian untuk mengetahui pengaruh noise
pada QoS, pengujian ini dilakukan dengan
memberi delay pada gateway ditunjukkan
Gambar 17. Pemberian delay ini menjadi noise
karena pesan sampai ke gateway menjadi
terlambat.
Gambar 17 Pemberian delay
Berikut merupakan hasil pengujian gateway
menerima pesan publish dengan adanya noise
ditunjukkan pada Gambar 18.
Gambar 18 Pengujian gateway QoS 0 noise 12 detik
Pengujian pengiriman data ke gateway
dengan noise 12 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada Tabel 2.
4.3 Pengujian MQTT-SN QoS 1 dengan
noise 1 detik
Publisher mengirim pesan publish dan
mendapatkan pesan puback, jika pesan
konfirmasi berstatus diterima maka program akan menampilkan status puback pada serial monitor yang merupakan hasil dari pengujian ditunjukkan Gambar 19.
Gambar 19 Pengujian publisher QoS 1 noise 1 detik
Gambar 19 menunjukkan bahwaXhasil
pengujianXMQTT-SN publisher dengan QoS
level 1 pada serial monitor yang menampilkan
pesan publish protokol MQTT-SN berhasil
dikirim. Pesan tersebut dikirim secara bergantian sesuai topik yang telah diregister sebelumnya. Pesan tersebut dinyatakan berhasil dikirim dan diterima oleh gateway dengan adanya pesan
puback yang diterima publisher.
Untuk menguji QoS 1 dalam best case, pada
gateway digunakan delay 1 detik karena interval yang digunakan adalah 10 detik atau 10000ms sebagai timeout ditunjukkan Gambar 20.
Gambar 20 delay 1 detik pada QoS 1
Berikut merupakan hasil pengujian gateway
menerima pesan publish dengan adanya noise
ditunjukkan pada Gambar 21.
Gambar 21 Pengujian gateway QoS 1 noise 1 detik
Pengujian pengiriman data ke gateway
dengan noise 1 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada Tabel 3.
Tabel 3 Hasil pengujian QoS 1 dengan noise 1 detik
4.4 Pengujian MQTT-SN QoS 1 dengan
noise 12 detik
Berikut hasil pengujian MQTT-SN publisher
dapat dilihat dari serial monitor COM15 seperti ditunjukkan pada Gambar 22.
Gambar 22 Pengujian Publisher QoS 1 noise 12 detik
Gambar 22 didapatkan bahwa pengujian
MQTT-SN publisher dengan QOS level 1 pada
serial monitor yang menampilkan pesan publish
protokol MQTT-SN berhasil dikirim. Pesan tersebut dikirim secara bergantian sesuai topik yang telah diregister sebelumnya. Pesan tersebut dinyatakan berhasil dikirim dan diterima oleh
MQTT-SN gateway dengan adanya pesan
puback yang diterima MQTT-SN publisher. Pesan puback merupakan pesan konfirmasi yang dikirim MQTT-SN gateway bahwa pesan yang
dikirim oleh MQTT-SN publisher telah
diterima.
Setelah program gateway selesai upload pada Arduino IDE, maka hasil pengujian MQTT-SN
Gambar 23 Pengujian Gateway QoS 1 noise 12 detik
Pengujian pengiriman data ke gateway
dengan noise 12 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada Tabel 4.
Tabel 4 Hasil pengujian QoS 1 dengan noise 12
4.5 Pengujian MQTT-SN QoS 2 dengan
noise 1 detik
Hasil dari pengujian dengan noise 1 detik dapat dilihat dari serial monitor seperti ditunjukkan pada Gambar 24 dan Gambar 25.
Gambar 24 Pengujian publisher QoS 2 delay 1 detik
Gambar 24 menunjukkan bahwa hasil pengujian publisher dengan QoS level 2 pada serial monitor yang menampilkan pesan publish
protokol MQTT-SN berhasil dikirim. Pesan tersebut dikirim secara bergantian sesuai topik yang telah diregister sebelumnya.
Kemudian hasil pengujian di sisi gateway
dapat dilihat dari serial monitor seperti ditunjukkan pada Gambar 25.
Gambar 25 Pengujian MQTT-SN Gateway QoS 2
delay 1 detik
Gambar 24 dan Gambar 25 menyatakan
publish berhasil dikirim dan diterima oleh
gateway dengan berhasilnya four-step-handshake pada sistem. Four-step-handshake
merupakan rangkaian proses sekuensial hingga mencapai diterimanya pesan ke MQTT-SN
gateway. Empat pesan tersebut adalah publish, pubrec, pubrel, dan pubcomp yang berjalan seperti penjelasan di atas.
Pengujian pengiriman data ke gateway
dengan noise 12 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada Tabel 5.
Tabel 5 Hasil pengujian QoS 2 dengan noise 1 detik
4.6 Pengujian MQTT-SN QoS 2 dengan
noise 12 detik
Berikut hasil pengujian MQTT-SN publisher
dapat dilihat dari serial monitor COM15 seperti ditunjukkan pada Gambar 26.
Gambar 26 Hasil Pengujian publisher QoS level 2
gateway didapatkan. Hasil dari pengujian sistem dapat dilihat dari serial monitor COM13 seperti ditunjukkan pada Gambar 27.
Gambar 27 Hasil Pengujian Gateway QoS level 2
Pengujian pengiriman data ke gateway
dengan noise 12 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada Tabel 6.
Tabel 6 Hasil pengujian QoS 2 dengan noise 12
Berdasarkan hasil perancangan,
implementasi, pengujian dan analisis, maka dapat menyimpulkan sebagai berikut :
1. Protokol MQTT-SN dapat diterapkan pada
modul wireless NRF24L01 mengggunakan
mikrokontroler Arduino Nano dengan
librarymirf.
2. MQTT-SN dengan QoS level 0, publisher
hanya mengirimkan pesan publish menuju
gateway. Gateway hanya menerima pesan
publish dan tidak memberi balasan ke
publisher. Hal ini memungkinkan paket
tidak sampai pada gateway karena
publisher terus melakukan publish tanpa adanya timbal balik dari gateway, sehingga
publisher tidak mengetahui pesan sampai pada tujuan atau tidak. Prosentase data sesuai dan diterima pada QoS 0 berdasarkan pengujian dengan noise 1 detik dan noise 12 detik adalah 100% dan 40% dengan rata-rata pesan diterima 70%.
3. MQTT-SN dengan QoS level 1, publisher
mengirimkan pesan publish dan menerima pesan puback dari gateway. Apabila
publisher dalam selang waktu tertentu tidak mendapat pesan puback (timeout) maka dilakukan publish ulang ke gateway.
Gateway terus membaca pesan publish
sampai MQTT-SN publisher mendapat
pesan puback. Penerapan QoS level 1,
gateway tidak dapat membedakan data
publish saat pertama kali dan data publish
yang dikirim ulang oleh publisher sehingga terjadi duplikasi pesan. Prosentase data sesuai dan diterima pada QoS 1 berdasarkan pengujian dengan noise 1 detik dan noise 12 detik adalah 100% dan 100% dengan rata-rata pesan diterima 100% serta duplikasi pesan sebanyak 30%.
4. MQTT-SN dengan QoS level 2, publisher
mengirim pesan publish ke gateway.
Kemudian gateway menerima pesan
publish dan setiap data publish yang
diterima gateway disimpan ke
penyimpanan sementara, lalu data akan divalidasi secara acak dengan pesan pubrec, yaitu suatu konfirmasi validasi data yang
dikirim oleh publisher. Publisher
mengirimkan publish ulang jika belum
medapatkan pesan pubrec sehingga
gateway akan terus membaca publish. Setelah publisher menerima pesan pubrec
akan mengirimkan pesan pubrel ke
gateway, yaitu konfirmasi bahwa data yang
dikirimkan benar. Gateway menerima
pesan pubrel dan setiap data pubrel yang
diterima gateway disimpan ke
penyimpanan sementara kemudian data divalidasi dengan pesan pubcomp, yaitu konfirmasi bahwa data telah lengkap dan sampai pada penerima. Publisher akan
mengirim pubrel ulang jika belum
mendapat pesan pubcomp dan gateway
akan terus menerima pesan pubrel.
mengabaikan data yang tidak diperlukan secara acak. Prosentase data sesuai dan diterima pada QoS 2 berdasarkan pengujian dengan noise 1 detik dan noise 12 detik adalah 100% dan 100% dengan rata-rata pesan diterima 100% tepat satu kali.
DAFTAR PUSTAKA
Anon., t.thn. Internetworking Technologies Handbook. Fourth penyunt. s.l.:Cisco Press.
Arduino, t.thn. Arduino Board Nano. [Online]
Available at:
https://www.arduino.cc/en/Main/Arduino BoardNano
Azzahidin, M. A., 2016. Implementasi Wireless Sensor Network Publisher Menggunakan Protokol Message Queue Telemetry Transport - Sensor Network (MQTT-SN).
Ferguson, P. & Huston, G., 1998. Quality of Service. s.l.:John Willwy & SOns Inc.
Govindan, K., 2015. ENd-to -end Assurance in IoT MQTT-SN.
Khalil, N., 2014. Wireless Sensor Network for Internet of Things.
Kupwade Patil, H. & Szygenza, S. A., 2013.
Security for Wireless Sensor Networks Using Identity-Based Cryptography. New York: CNC Press.
Nordic, S., 2014. Difference between
NRF24L01, Xbee and RF. s.l.:s.n.
Peeples, K., 2015. Internet of Things MQTT Quality of Service Levels. [Online]
Available at:
https://dzone.com/articles/internet-things-mqtt-quality
[Diakses Desember 2017].
Salman, T., 2015. Networking Protocols and Standarts for Internet of Things. [Online]
Available at:
http://www.cse.wustl.edu/~jain/cse570-15/ftp/iot_prot
[Diakses 1 Oktober 2016].
Stanford-Clark, A., 2013. MQTT For Sensor Networks (MQTT-SN) Protocol Specification. 1.2.3rd penyunt. s.l.:International Business Machines Corporation (IBM).
Weiss, B. et al., 2013. A Publish/Subscribe