Implementasi Quality of Service pada Protokol Message Queue Telemetry Transport – Sensor Network (MQTT-SN) Berbasis Arduino dan NRF24L01
Vol. 2, No. 6, Juni 2018, hlm. 2131-2140 http://j-ptiik.ub.ac.id
Implementasi Quality of Service pada Protokol Message Queue Telemetry
Transport- – Sensor Network (MQTT-SN) Berbasis Arduino dan NRF24L01 1 2 3 Sofi Hanifah , Sabriansyah Rizqika Akbar , Kasyful Amron
- - 86 Lembab v v 8 86 Suhu V 7 25 25 Suhu v v 9 Suhu 25 Lembab V -
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 3 Email: hanifah.sofi@gmail.com, kasyful@ub.ac.id
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-SN dibutuhkan 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 contin ue to publish without any reciprocity from the gateway that make publishers don’tknow 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
protokol Message Queuing Telemetry Transport 1.
PENDAHULUAN (MQTT) yang menerapkan konsep publish dan subscribe , namun diterapkannya pada jaringan Message Queue Telemetry Transport -
sensor (Stanford-Clark, 2013). Publish
Sensor Network (MQTT-SN) merupakan
merupakan suatu proses menghasilkan informasi protokol komunikasi dengan desain mirip seperti untuk dikirimkan ke sebuah broker, perangkat
Fakultas Ilmu Komputer Universitas Brawijaya
2131 yang melakukan publish disebut publisher. Sedangkan mekanisme subscribe yaitu ketika
client meminta atau mendapat informasi dari broker , perangkat yang melakukan subscribe
2.1 MQTT-SN Message Queue Telemetry Transport for Sensor Networks (MQTT-SN) merupakan suatu
2.2 QoS
Gambar 1 Arsitektur Protokol MQTT-SN Sumber : Andy Standford-Clark (2013)
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.
gateway . Gateway merupakan sebuah node
Protokol ini diterapkan pada beberapa jaringan sensor, sehingga diperlukannya sebuah
Protokol ini diutamakan digunakan pada jaringan wireless yaitu seperti jaringan sensor dengan bandwidth terbatas, resource terbata, serta pemrosesan yang rendah.
publish-subscribe .
protokol yang berkerja pada jaringan sensor dengan komunikasi tidak langsung menggunakan metode
2. DASAR TEORI
tersebut disebut dengan subscriber. Broker merupakan sebuah perantara publisher dan
Penelitian ini bertujuan untuk mengimplementasikan QoS 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.
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).
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).
Quality of Service (QoS) yang merupakan
publisher dan gateway berkomunikasi, terdapat
gateway dan diterima pula oleh gateway. Ketika
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
Namun yang membedakan antara MQTT dengan MQTT-SN yaitu MQTT-SN dituliskan dengan format pesan yang lebih sederhana dibandingkan MQTT.
subscriber yang bertugas menerima pesan dari publisher dan meneruskan pesan ke subscriber.
QoS didefinisikan sebagai suatu pengukuran tentang seberapa baik jaringan dan merupakan suatu usaha untuk mendefinisikan karakteristik dan sifat dari suatu layanan (Ferguson & Huston, 1998). Kinerja jaringan komputer dapat bervariasi, misalnya dalam masalah QoS yang mengacu pada kemampuan jaringan untuk menyediakan layanan yang lebih baik pada trafik jaringan tertentu melalui teknologi yang berbeda. Tujuan dari QoS yaitu untuk memenuhi kebutuhan layanan yang berbeda dengan menggunakan infrastruktur yang sama. 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
data yang disimpan di penyimpan sementara ke
Terdapat sedikit perbedaan dengan MQTT- SN publisher level 0, berikut merupakan mekanisme pada sistem MQTT-SN publisher QoS level 1 dipaparkan dalam sebuah diagram alir algoritma sistem pada Gambar 4.
Gambar 3 Diagram Alir Publisher QoS 0
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:
3.2 Publisher
gateway .
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
publisher mengirim validasi berupa pubrel ke gateway dan data pubrel masuk ke penyimpanan
apabila terdapat data masuk lagi salah satu akan diabaikan secara acak. Setelah mendapat pubrec,
gateway , digunakan untuk mengirim validasi,
data masuk ke penyimpanan sementara. Data yang masuk ke penyimpanan sementara pada
pubrec , dilakukan publish ulang ke gateway dan
waktu timeout dan publisher tidak mendapat
publisher dengan mengirim pubrec. Apabila
step-handshake , yaitu publisher mengirim pesan publish , kemudian gateway mengirim validasi
yaitu pesan
Sedangkan mekanisme QoS 2 menerapkan four-
publisher tidak mendapatkan puback hingga timeout , maka akan dilakukan publish ulang.
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
Gambar 2 Mekanisme QoS pada MQTT-SN
agar dapat menerima pesan dari publisher melalui komunikasi wireless. Mekanisme QoS yang diterapkan pada MQTT-SN ditunjukkan Gambar 2.
gateway , sistem diterapkan mekanisme tertentu
dengan mekanisme tertentu agar sistem mampu mengakuisisi data sensor dan mengirimkan pesan menggunakan protokol MQTT-SN melalui komunikasi wireless. Sedangkan pada
gateway. MQTT-SN publisher diterapkan
Gambaran sistem ini menjelaskan tahapan perancangan dan implementasi publisher dan
3.1 Gambaran Umum Sistem
IMPLEMENTASI
secara sekuensial.
publish, pubrec, pubrel , dan pubcomp yang dikirim
3. PERANCANGAN DAN
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 ProtocolId ClientId (oktet 0) (oktet 1) (oktet 2) Gambar 6 Format pesan connect pada MQTT-SN
QoS TopicI MsgId MsgT Data Topic (oktet d (oktet yp (oktet Type 0) (oktet 2) (oktet 4) (oktet 1) 3) 5)
Gambar 7 Format pesan publish pada MQTT-SN MsgTyp TopicId MsgId Returncode (oktet 0) (oktet 1) (oktet 2) (oktet 3)
Gambar 4 Diagram Alir publisher Qos 1 Gambar 8 Format pesan pubrel pada MQTT-SN
Berbeda dengan MQTT-SN publisher level 0 dan MQTT-SN publisher level 1, berikut
3.3 Gateway
merupakan mekanisme pada sistem MQTT-SN Dalam mekanisme perancangan sistem
publisher QoS level 2 dipaparkan dalam sebuah
diperlukan diagram alir berupa algoritma kerja diagram alir algoritma sistem pada Gambar 5. 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 5 Diagram Alir publisher QoS 2
Setelah metode pengiriman ditentukan, kemudian dilakukan perancangan pesan yang dikirim sesuai dengan format pesan MQTT-SN.
Gambar 9 Diagram Alir Gateway QoS 0
Pada publisher terdapat 3 format pesan yang akan dikirim yaitu pesan connect, publish, dan Terdapat sedikit perbedaan dengan diagram
pubrel . Pesan connect berfungsi saat MQTT-SN
alir MQTT-SN gateway pada level 0, berikut merupakan diagram alir MQTT-SN gateway kali gateway menerima publish dari MQTT-SN level 1 ditunjukkan pada Gambar 10. 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 dan pesan pubcomp tersebut digunakan
pubrec
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.
Gambar 10 Diagram Alir Gateway QoS 1 MsgTyp (oktet 0) ReturnCode (oktet 1)
Berbeda dengan diagram alir MQTT-SN
Gambar 12 Format pesan connack pada MQTT-SN gateway pada level 0 dan level 1, berikut
merupakan digram alir MQTT-SN gateway pada
MsgTyp TopicTyp MsgId ReturnCode (oktet 0) (oktet 1) (oktet 2) (oktet 3)
level 2 ditunjukkan pada Gambar 11.
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 Gambar 11 Diagram Alir Gateway QoS 2 noise 1 detik Noise ini digunakan untuk mengetahui
Sedangkan untuk dapat menerapkan protokol pengaruh dalam pengiriman pesan pada MQTT- MQTT-SN, diperlukan perancangan tiap pesan
SN. Berikut merupakan hasil pengujian dari yang akan dikirim sesuai dengan format MQTT- pengiriman pesan publish pada publisher dengan
SN. Pada sistem ini digunakan 4 format pesan QoS level 0 ditunjukkan pada Gambar 14. 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
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 14 Pengujian publisher QoS level 0 noise 1 detik
Setelah program gateway selesai upload pada Arduino IDE, maka hasil pengujian MQTT-SN
Gambar 16 Pengujian publisher QoS level 0 gateway dapat dilihat dari serial monitor COM5
Kemudian untuk mengetahui pengaruh noise seperti ditunjukkan pada Gambar 15. 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 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.
Gambar 18 Pengujian gateway QoS 0 noise 12
Media komunikasi yang digunakan gateway dan
detik
MQTT publisher adalah port serial yang sama, Pengujian pengiriman data ke gateway sehingga untuk mengakses keduanya harus dengan noise 12 detik dilakukan sebanyak 10 bergiliran. kali dengan mengirimkan topik suhu dan lembab
Pengujian pengiriman data ke gateway secara bergantian. Hasil pengiriman dan dengan noise 1 detik dilakukan sebanyak 10 kali kesesuaian data ditunjukkan pada dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan
Tabel 2 Hasil pengujian QoS 0 dengan noise 12 kesesuaian data ditunjukkan pada detik
Tabel 1 Hasil pengujian QoS 0 dengan noise 1 detik Data Data Data Topik Data Data
Data Data Data Topik Data Data ID Publisher Gateway dikirim diterima 2 3 1 25 86 25 25 Suhu v v 86 Lembab v v 25 Suhu v v ID Publisher Gateway dikirim diterima 1 3 4 2 86 25 25 86 86 Lembab 86 Lembab 25 Suhu 25 Suhu V V V V V V V V 4 86 86 Lembab v v 65 86 25 Suhu - V V X - X 5 25 25 Suhu v v 7 25 Lembab V X - 6 86
X - 8 86 86 Lembab v v 10 86 Lembab V X 10 9 86 25 86 Lembab v v 25 Suhu v v
X 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
4.3 Pengujian MQTT-SN QoS 1 dengan
Gambar 21 Pengujian gateway QoS 1 noise 1 detik
dapat dilihat dari serial monitor COM13 seperti ditunjukkan pada Gambar 23.
gateway didapatkan. Hasil dari pengujian sistem
Setelah program gateway selesai upload pada Arduino IDE, maka hasil pengujian MQTT-SN
Pesan puback merupakan pesan konfirmasi yang dikirim MQTT-SN gateway bahwa pesan yang dikirim oleh MQTT-SN publisher telah diterima.
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.
Gambar 22 Pengujian Publisher QoS 1 noise 12 detik
Berikut hasil pengujian MQTT-SN publisher dapat dilihat dari serial monitor COM15 seperti ditunjukkan pada Gambar 22.
4.4 Pengujian MQTT-SN QoS 1 dengan noise 12 detik
10 86 86 Lembab v v
4 86 86 Lembab v v 5 25 25 Suhu v v 6 86 86 Lembab v v 7 25 25 Suhu v v 8 86 86 Lembab v v 9 25 25 Suhu v v
Tabel 3 Hasil pengujian QoS 1 dengan noise 1 detik Data ID Data Publisher Data Gateway Topik Data dikirim Data diterima 1 25 25 Suhu v v 2 88 88 Lembab v v 3 25 25 Suhu v v
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 20 delay 1 detik pada QoS 1
yang digunakan adalah 10 detik atau 10000ms sebagai timeout ditunjukkan Gambar 20.
gateway digunakan delay 1 detik karena interval
Untuk menguji QoS 1 dalam best case, pada
puback yang diterima publisher.
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
X MQTT-SN publisher dengan QoS
pengujian
X hasil
Gambar 19 menunjukkan bahwa
Gambar 19 Pengujian publisher QoS 1 noise 1 detik
Berikut merupakan hasil pengujian gateway menerima pesan publish dengan adanya noise ditunjukkan pada Gambar 21.
Gambar 23 Pengujian Gateway QoS 1 noise 12 detik
merupakan rangkaian proses sekuensial hingga mencapai diterimanya pesan ke MQTT-SN
Setelah program gateway selesai upload pada Arduino IDE, maka hasil pengujian MQTT-SN
Gambar 26 Hasil Pengujian publisher QoS level 2
Berikut hasil pengujian MQTT-SN publisher dapat dilihat dari serial monitor COM15 seperti ditunjukkan pada Gambar 26.
4.6 Pengujian MQTT-SN QoS 2 dengan noise 12 detik
10 88 88 Lembab v v
4 88 88 Lembab v v 5 25 25 Suhu v v 6 88 88 Lembab v v 7 25 25 Suhu v v 8 88 88 Lembab v v 9 25 25 Suhu v v
Tabel 5 Hasil pengujian QoS 2 dengan noise 1 detik Data ID Data Publisher Data Gateway Topik Data dikirim Data diterima 1 25 25 Suhu v v 2 88 88 Lembab v v 3 25 25 Suhu v v
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
seperti penjelasan di atas.
gateway . Empat pesan tersebut adalah publish, pubrec, pubrel , dan pubcomp yang berjalan
publish berhasil dikirim dan diterima oleh gateway dengan berhasilnya four-step- handshake pada sistem. Four-step-handshake
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
Gambar 24 dan Gambar 25 menyatakan
1 detik
Gambar 25 Pengujian MQTT-SN Gateway QoS 2 delay
Kemudian hasil pengujian di sisi gateway dapat dilihat dari serial monitor seperti ditunjukkan pada Gambar 25.
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.
Gambar 24 Pengujian publisher QoS 2 delay 1 detik
Hasil dari pengujian dengan noise 1 detik dapat dilihat dari serial monitor seperti ditunjukkan pada Gambar 24 dan Gambar 25.
noise 1 detik
3 25 25 Suhu v v
2 88 88 Lembab v v 3 25 25 Suhu v v 3 25 25 Suhu v v 3 25 25 Suhu v v 3 25 25 Suhu v v 3 25 25 Suhu v v
Tabel 4 Hasil pengujian QoS 1 dengan noise 12 Data detik ID Data Publisher Data Gateway Topik Data dikirim Data diterima 1 25 25 Suhu v v 1 25 25 Suhu v v 2 88 88 Lembab v v
4.5 Pengujian MQTT-SN QoS 2 dengan
gateway didapatkan. Hasil dari pengujian sistem
publisher tidak mengetahui pesan sampai
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. Penerapan QoS level 2, pesan diterima tepat satu kali disebabkan adanya penyimpanan data sementara pada gateway yang akan
gateway , yaitu konfirmasi bahwa data 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
publish dan setiap data publish yang
Kemudian gateway menerima pesan
4. MQTT-SN dengan QoS level 2, publisher mengirim pesan publish ke gateway.
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%.
gateway tidak dapat membedakan data publish saat pertama kali dan data publish
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,
publisher dalam selang waktu tertentu tidak
3. MQTT-SN dengan QoS level 1, publisher mengirimkan pesan publish dan menerima pesan puback dari gateway. Apabila
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%.
adanya timbal balik dari gateway, sehingga
dapat dilihat dari serial monitor COM13 seperti ditunjukkan pada Gambar 27.
publisher terus melakukan publish tanpa
tidak sampai pada gateway karena
gateway . Gateway hanya menerima pesan publish dan tidak memberi balasan ke publisher . Hal ini memungkinkan paket
2. MQTT-SN dengan QoS level 0, publisher hanya mengirimkan pesan publish menuju
Protokol MQTT-SN dapat diterapkan pada modul wireless NRF24L01 mengggunakan mikrokontroler Arduino Nano dengan library mirf.
Berdasarkan hasil perancangan, implementasi, pengujian dan analisis, maka dapat menyimpulkan sebagai berikut : 1.
KESIMPULAN
8 86 86 Lembab v v 88 9 25 25 Suhu v v 24 10 86 86 Lembab v v 86 5.
5 25 25 Suhu v v 24 6 86 86 Lembab v v 88 7 25 25 Suhu v v 25
2 88 88 Lembab v v 88 3 25 25 Suhu v v 25 4 86 86 Lembab v v 86 86
Tabel 6 Hasil pengujian QoS 2 dengan noise 12 Data detik ID Data Publisher Data Gateway Topik Data dikirim Data diterima 1 25 25 Suu v v 25
dengan noise 12 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada
Gambar 27 Hasil Pengujian Gateway QoS level
2 Pengujian pengiriman data ke gateway
mengabaikan data yang tidak diperlukan Protocol Messaging System For Wireless secara acak. Prosentase data sesuai dan Sensor Communication. s.l.:s.n. 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