Analisis Kinerja IoT Middleware Berbasis Event-Driven pada Raspberry Pi Zero dan Raspberry Pi 2

  

Vol. 2, No. 10, Oktober 2018, hlm. 3451-3457 http://j-ptiik.ub.ac.id

Analisis Kinerja IoT Middleware Berbasis Event-Driven pada Raspberry Pi

Zero dan Raspberry Pi 2

1 2 3 Ula Auliya Ilham Irsahnda , Eko Sakti Pramukantoro , Reza Andria Siregar

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: iersanilham@gmail.com, ekosakti@ub.ac.id, reza@ub.ac.id

  

Abstrak

  IoT middleware telah dikembangkan untuk mengatasi masalah syntactical interoperability dengan menggunakan gateway multiprotokol yaitu MQTT, CoAP, dan Websocket. Dengan beragamnya perangkat yang dapat digunakan sebagai host untuk middleware timbul pertanyaan bagaimana spesifikasi minimal untuk perangkat yang dapat digunakan sebagai host untuk middleware sehingga pada penelitian ini host yang digunakan untuk middleware adalah raspberry pi zero dengan mempertimbangkan karakteristik raspberry pi zero yang lebih sederhana untuk mengetahui bagaimana kinerja dari IoT middleware jika dihadapkan pada perangkat yang lebih sederhana dan untuk mengetahui batasan bawah kebutuhan perangkat untuk IoT middleware ini. Hasil dari pengujian menunjukkan bahwa rata-rata penggunaan CPU oleh middleware sebesar 1,25% dan penggunaan memori sekitar 13%.

  

Delay yang dibutuhkan dari publisher hingga sampai ke aplikasi sebesar 0,868 detik untuk protokol

  MQTT dan 0,962 detik untuk protokol CoAP. Dari segi skalabilitas, middleware mampu menangani hingga 81 pesan per detik untuk protokol MQTT, 41 pesan per detik untuk protokol CoAP dengan jumlah publisher sebanyak 100. Sedangkan pada protokol Websocket jumlah subscriber yang dapat ditangani meningkat seiring dengan bertambahnya jumlah klien hingga mencapai 54 pesan per detik. Secara keseluruhan dapat disimpulkan bahwa kinerja dari middleware pada raspberry pi 2 lebih baik daripada kinerja middleware pada raspberry pi zero.

  Kata kunci: kinerja, skalablitas, MQTT, CoAP, WebSocket, middleware

Abstract

  

IoT middleware has been developed to overcome the problem of syntactical interoperability by using

multiprotocol gateway that is MQTT, CoAP, and Websocket. With a variety of devices that can be used

as hosts for middleware arise the question of how the minimum specifications for devices can be used

as hosts for middleware so in this research the host used for middleware is raspberry pi zero by

considering raspberry pi zero characteristics which is simpler to find out how the performance of IoT

middleware if faced with a simpler device and to find out the limits under the device requirements for

this middleware IoT. The results of the test show that the average use of CPU by middleware is 1.25%

and memory usage is about 13%. The required delay from the publisher to the application is 0.868

seconds for the MQTT protocol and 0.962 seconds for the CoAP protocol. In terms of scalability,

middleware is capable of handling up to 81 messages per second for MQTT protocols, 41 messages per

second for CoAP protocols with 100 publisher counters. Overall, it can be concluded that the

performance of middleware on raspberry pi 2 is better than middleware performance on raspberry pi

zero.

  Keywords: performance, scalability, MQTT, CoAP, Websocket, middleware Network interoperability mengacu pada 1.

  berbagai macam protokol komunikasi pada IoT,

   PENDAHULUAN

  khususnya pada protokol daya rendah seperti Desai (2015) menguraikan masalah Zigbee, Zwave, dan BLE (bluetooth low energy). interoperabilitas menjadi tiga kategori yakni

  Syntactical interoperability mengacu pada network interoperability , syntactical

  model data atau protokol pesan pada IoT seperti interoperability , dan semantic interoperability. CoAP, MQTT, dan XMPP. Sedangkan semantic

  Fakultas Ilmu Komputer Universitas Brawijaya

3451

  interoperability

  dan data yang dikirim dapat dimonotoring secara real-time melalui web-app. Middleware yang dibangun memiliki dua fungsi utama yaitu menyediakan gateway multi-protokol untuk pengiriman data sensor melalui protokol CoAP dan MQTT dan juga menyediakan gateway untuk mengirim data yang diterima oleh

  middleware , delay dari middleware ke web-app,

  parameter pengujian yang meliputi penggunaan CPU dan memori, delay dari sensor ke

  host -nya. Parameter pertama pengujian adalah

  Pada penelitian sebelumnya, telah dilakukan pengujian terhadap middleware dengan menggunakan raspberry pi 2 sebagai

  2.2 Kinerja Middleware

  menyediakan interface bagi aplikasi untuk terhubung ke middleware dan membaca data yang dikirimkan melalui protokol websocket.

  unit menyediakan tiga fungsi utama yakni data management, service delivery, dan interface definition . Sedangkan application gateway

  sensor mengirim data ke middleware melalui protokol CoAP atau MQTT. Komponen service

  gateway, service unit, dan application gateway. Sensor gateway menyediakan interface untuk

  menggunakan pola publish-subscribe dan memiliki tiga komponen utama yaitu sensor

  Gambar 1. Arsitektur Middleware Middleware yang dikembangkan

  middleware ke web-app melalui protokol websocket.

  middleware data akan diteruskan ke web-app

  mengacu kepada konten dan konteks transmisi data. Pada penelitian sebelumnya yang berjudul “ Pengembangan IoT

  Pada penelitian sebelumnya telah dikembangkan sebuah middleware yang mampu menangani masalah syntactical interoperability. Sistem middleware yang dibangun terdiri dari satu sensor dengan protokol MQTT dan satu sensor dengan protokol CoAP yang mengirimkan data ke middleware. Oleh

  2.1 IoT Middleware

  2. LANDASAN KEPUSTAKAAN

  klien. Sehingga pada penelitian ini peneliti ingin mengetahui bagaimana kinerja IoT middleware dari segi kinerja dan skalabilitas jika host yang digunakan adalah raspberry pi zero dengan mempertimbangkan karakteristik raspberry pi zero yang lebih sederhana dengan tujuan untuk mengetahui sejauh mana kinerja middleware jika dihadapkan pada perangkat yang lebih sederhana dan untuk mengetahui batasan bawah kebutuhan perangkat untuk IoT middleware ini.

  concurrent seiring dengan meningkatnya jumlah

  ” oleh Rozi (2017) menunjukkan kinerja middleware pada raspberry pi 2 dari segi kinerja dengan rata- rata penggunaan CPU sebesar 1,21% dan memori 10,15%-12,63% dan dari segi skalabilitas dengan mengalami peningkatan

  40 GPIO pins, Ethernet port, dan memiliki ukuran 85,60 mm x 56 mm dengan ketebalan 21 mm. Jika kedua perangkat tesebut digunakan sebagai host hasil dari kinerja IoT middleware pasti berbeda. Pada penelitian sebelumnya dengan judul “Analisis Performa dan Skalabilitas pada Event-based Middleware

  Terdapat banyak perangkat yang dapat digunakan sebagai host untuk IoT middleware, seperti raspberry pi zero dan raspberry pi 2. Secara perbandingan raspberry pi zero dilengkapi dengan 1GHz single-core CPU, 512MB RAM, Mini-HDMI port, Micro-USB OTG port, Micro-USB power, dan memiliki ukuran yang sangat kecil yaitu 65 mm x 20 mm dengan ketebalan 5 mm. Sedangkan untuk raspberry pi 2 memiliki spesifikasi lebih baik yaitu, 900MHz quad-core ARM Cortex-A7 CPU, 1GB RAM, 4 USB port, Full-HDMI port,

  untuk berkomunikasi dengan perangkat sensor IoT menggunakan protokol MQTT dan CoAP, serta mampu berkomunikasi dengan aplikasi lain menggunakan protokol Websocket. Pada implementasinya, sistem yang digunakan pada penelitian tersebut adalah nodeMCU sebagai node sensor, raspberry pi 2 sebagai gateway dan sebagai host untuk IoT middleware tersebut.

  interoperability dengan menyediakan gateway

  ”oleh Anwari (2017) dikembangkan sebuah middleware yang mampu mendukung interoperabilitas berbagai macam perangkat atau sensor. Dari hasil pengujian middleware yang diusulkan mampu mengatasi masalah syntatic

  Middleware Berbasis Event-based dengan Protokol Komunikasi CoAP, MQTT, dan Websocket

  dan end-to-end delay. Parameter kedua adalah parameter skalabilitas yang menganalisis bagaimana kinerja dari middleware ketika jumlah publisher atau subscriber meningkat. Kinerja middleware pada raspberry pi 2 dari segi kinerja dengan rata-rata penggunaan CPU sebesar 1,21% dan memori 10,15%-12,63% dan dari segi skalabilitas dengan mengalami peningkatan concurrent seiring dengan meningkatnya jumlah klien.

  Agar sistem dapat berjalan sesuai dengan harapan, maka perlu dibuat topologi jaringan antar komponen dalam sistem. Topologi jaringan ini menggambarkan bagaimana sensor dapat terhubung dan mengirimkan data ke middleware kemudian diteruskan ke web-app. Topologi jaringan dapat dilihat pada Gambar 2.

  Pada pengujian penggunaan CPU dan memori, data diperoleh dari penggunaan CPU dan memori middleware selama 3 jam dengan menjalankan sebuah program yang mencatat log penggunaan CPU dan memori berdasarkan PID dari middleware setiap 15 detik sekali. Untuk mendapatkan nilai delay dan data transfer dari tiap sensor dan middleware digunakan tool Wireshark. Nilai delay didapatkan dengan cara mengurangi waktu paket saat diterima dengan waktu paket saat dikirimkan. Untuk mendapatkan nilai end-to-end delay adalah dengan menjumlahkan delay dari NodeMCU ke

  Dari hasil pengujian diperoleh rata-rata penggunaan CPU ketika menggunakan nodeMCU MQTT saja sebesar 0,86%, nodeMCU CoAP saja sebesar 0,88%, dan pada saat mengunakana nodeMCU MQTT dan CoAP bersamaan sebesar 1,25%. Secara keseluruhan penggunaan CPU dari middleware tergolong kecil karena hanya menggunakan rata-rata 1.25% dari CPU.

  4.1 Penggunaan CPU dan Memori Gambar 3. CPU Usage

  4. HASIL DAN PEMBAHASAN

  Pengujian skalabilitas dilakukan untuk mengetahui seberapa besar kapasitas sistem untuk menangani berbagai proses ketika dilakukan perubahan menjadi lebih besar dari sebelumnya. Pada pengujian skalabilitas digunakan package async dari npm yang dapat menjalankan program secara asynchronous. Pada pengujian ini ditentukan jumlah publisher dan subscriber dengan variasi 100, 500, 1000.

  publisher .

  aplikasi. Data transfer adalah seberapa banyak data yang berhasil dikirim ke middleware oleh

  middleware dan delay dari middleware ke

  Terdapat tiga macam pengujian pada penelitian ini, pengujian penggunaan CPU dan memori, pengujian delay dan data transfer, dan pengujian skalabilitas.

3. METODE PENELITIAN

3.1. Topologi Jaringan

  Gambar 2. Topologi Jaringan

  3.2. Pengujian

  diakses oleh browser dengan alamat http://10.34.0.35:8000. Untuk pengiriman data, sensor MQTT mengirimkan data dengan topik home/barrack dengan melakukan publish ke alamat middleware mqtt://192.168.43.1:1883. Sedangkan sensor CoAP mengirimkan data dengan topik home/kitchen dengan melakukan POST request ke alamat coap://192.168.42.1:5683/r/home/kitchen. Aplikasi web sebagai subscriber menerima data dari middleware melalui protokol websocket dengan alamat ws://192.168.43.1:3000.

  middleware . Kemudian aplikasi web dapat

  penelitian ini yaitu sebuah aplikasi web. Aplikasi ini dijalankan pada server dengan IP 10.34.0.35 yang terhubung dengan interface eth0 pada

  Subscriber yang digunakan dalam

  sebagai accesspoint . Diperlukan wireless adapter yang difungsikan sebagi accesspoint dan juga USB to LAN sehingga raspi zero memiliki 2 buah interface yaitu wlan0 dengan IP 192.168.43.1 dan eth0 yang terhubung dengan jaringan LAN dengan IP 10.34.8.20. Semua sensor akan berkomunikasi dengan middleware melalui interface wlan0. Middleware yang dikembangkan menggunakan tiga port: 3000 untuk websocket, 5683 untuk CoAP, dan 1883 untuk MQTT.

  middleware antara sensor dan web-app dan juga

  Raspberry pi zero berperan sebagai

  Gambar 4. Memory Usage

  Dari hasil pengujian diperoleh range penggunaan memori ketika menggunakan nodeMCU MQTT sekitar 10,10%-10,37% dan ketika menggunakan nodeMCU CoAP sekitar 9,63%-9,89% sedangkan saat nodeMCU MQTT dan CoAP dijalankan bersamaan penggunaan memori mengalami peningkatan menjadi 12,58%-12,99%.

  Hasil yang diperoleh dari pengujian dengan menggunakan 5 nodeMCU MQTT dan 5 nodeMCU CoAP menunjukkan bahwa pengiriman data dengan menggunakan protokol MQTT dan CoAP memiliki tingkat kesuksesan 100% dimana setiap node berhasil mengirimkan sebanyak 120 data dengan rata-rata delay sebesar 0,373 detik untuk MQTT dan 0,467 detik untuk CoAP. Nilai delay yang diperoleh relatif kecil untuk masing-masing protokol karena ukuran paket yang dikirimkan oleh nodeMCU MQTT dan nodeMCU CoAP kurang dari 1 Kb (269 bytes untuk MQTT dan 287 bytes untuk CoAP).

  Tabel 1. MQTT Delivery Ratio Tabel 2. CoAP Delivery Ratio Tabel 3. Websocket Delivery Ratio Tabel 4. End-to-end Delay

  Pada sisi subscriber, data yang diterima sesuai dengan data yang dikirimkan oleh

  publisher dan tidak terjadi overhead. Rata-rata

  waktu yang dibutuhkan middleware untuk mengirim data ke datacenter sebesar 0,495 detik. Jadi waktu yang dibutuhkan oleh nodeMCU MQTT untuk mengirim data ke datacenter adalah 0,868 detik sedangkan untuk nodeMCU CoAP 0,962 detik.

  4.3 Skalabilitas Gambar 5. Concurrent Publish

4.2 Delay dan Data Transfer

  Gambar 5 menunjukkan rata-rata publisher yang dapat ditangani oleh middleware dalam satu detik. Jumlah maksimal pesan per detik untuk protokol MQTT adalah 81 dan 41 untuk protokol CoAP. Standar deviasi untuk protokol CoAP menurun seiring dengan bertambahnya jumlah klien. Dalam menangani 100 klien, standar deviasi untuk protokol MQTT adalah 41,96 dan 12,94 untuk CoAP. Ketika jumlah klien meningkat menjadi 500, standar deviasi dari MQTT menurun menjadi 10,55 dan untuk CoAP menjadi 4,99. Sedangkan untuk 1000 klien standar deviasi MQTT adalah 13,10 dan CoAP 4,25. Jika dibandingkan dengan CoAP, protokol MQTT lebih baik dengan rata-rata pesan per detik sekitar 50 pesan.

  Gambar 6. Time Publish

  Gambar 6 menunjukkan waktu yang dibutuhkan oleh middleware untuk menyelesaikan query publish untuk masing- masing variasi jumlah klien. Waktu yang dibutuhkan untuk menyelesaikan query publish berbanding lurus dengan banyaknya jumlah klien. Semakin banyak jumlah klien semakin banyak pula waktu yang dibutuhkan untuk menyelesaikan query publish. Dari sisi klien, protokol MQTT lebih cepat daripada protokol CoAP dalam pengiriman pesan.

  Gambar 7. Concurrent Subscribe

  subscribe .

  Seperti ditunjukkan pada Gambar 12, penggunaan memori oleh middleware pada raspberry pi zero mengalami peningkatan jika dibandingkan dengan raspberry pi

  Gambar 10. Memory Usage Comparison

  Gambar 9 menunjukkan penggunaan CPU oleh middleware pada raspberry pi zero mengalami peningkatan jika dibandingkan dengan raspberry pi 2. Penggunaan CPU untuk protokol MQTT pada raspberry pi zero mengalami peningkatan sebesar 0,26%. Untuk protokol CoAP penggunaan CPU meningkat sebesar 0,20%. Sedangkan untuk protokol MQTT+CoAP terjadi peningkatan penggunaan CPU sebesar 0,04%. Peningkatan penggunaan CPU pada raspberry pi zero dikarenakan sumber daya raspberry pi zero lebih kecil jika dibandingkan dengan raspberry pi 2, dimana raspberry pi 2 menggunakan quad-core ARM Cortex-A7 CPU sedangkan raspberry pi zero hanya menggunakan single-core CPU.

  Gambar 9. CPU Usage Comparison

  A. Penggunaan CPU dan Memori

  4.4 Perbandingan Hasil Raspberry Pi Zero dengan Raspberry Pi 2

  dibutuhkan untuk menyelesaikan query

  Pada Gambar 7 menunjukkan rata-rata

  subscriber semakin banyak pula waktu yang

  jumlah subscriber. Semakin banyak jumlah

  subscribe berbanding lurus dengan banyaknya

  Gambar 10 menunjukkan waktu yang dibutuhkan oleh middleware untuk menyelesaikan query subscribe untuk masing- masing variasi jumlah subscribe. Waktu yang dibutuhkan untuk menyelesaikan query

  Gambar 8. Time Subscribe

  yang dapat ditangani tiap detik meningkat seiring dengan meningkatnya jumlah klien dikarenakan mekanisme kerja dari webscoket dalam hal ini adalah dengan membuat sejumlah koneksi yang sama dengan jumlah subscriber dimana biasanya websocket melakukan satu koneksi saja untuk bertukar banyak pesan. Standar deviasi websocket secara berurutan adalah 22,30, 18,28, 15,23. Standar deviasi menurun seiring dengan meningkatnya jumlah klien yang berarti data semakin dekat ke rata-rata nilai sampel. Maksimal jumlah subscriber yang dapat ditangani oleh middleware dalam satu detik adalah 54.

  subscriber yang dapat ditangani oleh middleware dalam satu detik. Jumlah subscriber

  2. Penggunaan memori untuk protokol MQTT pada raspberry pi zero mengalami peningkatan sebesar 0,94%. Untuk protokol CoAP penggunaan memori meningkat sebesar 1,92%. Sedangkan untuk protokol MQTT+CoAP terjadi peningkatan penggunaan memori sebesar 0,16%. Peningkatan penggunaan memori pada raspberry pi zero dikarenakan sumber daya yang dimiliki raspberry pi zero lebih kecil jika dibandingkan dengan raspberry pi 2, dimana raspberry pi 2 memiliki 1GB RAM sedangkan raspberry pi zero hanya setengah dari RAM

  • – Websocket mengalami peningkatan menjadi 0,868 detik dan pada CoAP
  • – Websocket meningkat menjadi 0,962 detik.

  subscriber per detik antara raspberry pi zero dan

  5. KESIMPULAN

  menangani query subscribe jika dibandingkan dengan middleware pada raspberry pi 2.

  host raspberry pi zero lebih cepat dalam

  . Dalam hal ini middleware dengan

  subscribe

  Pada Gambar 14 menunjukkan perbedaan waktu yang dibutuhkan oleh middleware untuk menyelesaikan query subscribe antara raspberry pi zero dan raspberry pi 2. Waktu yang dibutuhkan oleh kedua host berbanding lurus dengan banyaknya jumlah klien. Semakin banyak jumlah klien semakin banyak pula waktu yang dibutuhkan untuk menyelesaikan query

  Gambar 14. Time Subscribe Comparison

  lebih banyak subscriber daripada middleware pada raspberry pi zero namun pada raspberry pi zero dengan jumlah 100 klien jumlah subscriber yang dapat dikelola lebih baik daripada raspberry pi 2 dengan perbedaan 5 subscriber.

  middleware pada raspberry pi 2 dapat mengelola

  raspberry pi 2. Secara keseluruhan memang

  Gambar 13 menunjukkan perbandingan kemampuan middleware dalam mengelola

  raspberry pi 2 yaitu 512MB.

  Gambar 13. Concurrent Subscribe Comparison

  cepat dalam menyelesaikan query publish. Hal ini dikarenakan sumber daya pada raspberry pi 2 lebih baik dari sumber daya di raspberry pi zero.

  publish . Jika dibandingkan secara keseluruhan middleware dengan host raspberry pi 2 lebih

  Waktu yang dibutuhkan oleh kedua host untuk menyelesaikan query publish berbanding lurus dengan banyaknya jumlah klien. Semakin banyak jumlah klien semakin banyak pula waktu yang dibutuhkan untuk menyelesaikan query

  Gambar 11. Concurrent Publish Comparison Gambar 12. Time Publish Comparison

  Pada raspberry pi 2 jumlah publisher yang dapat ditangani berbanding lurus dengan peningkatan jumlah klien. Semakin banyak jumlah klien semakin banyak pula jumlah publisher yang dapat ditangani. Berbeda halnya dengan raspberry pi zero, dimana dapat menangani secara maksimal hanya ketika jumlah klien adalah 100. Ketika jumlah klien meningkat pada raspberry pi zero, maka jumlah publisher yang dapat ditangani mengalami penurunan. Hal ini dikarenakan perbedaan sumber daya pada raspberry pi 2 dan raspberry pi zero.

  C. Skalabilitas

  Sedangkan delay websocket menurun menjadi 0.495 detik. Nilai dari end-to-end delay pada MQTT

  Tabel 5. Delay Comparison Delay MQTT dan CoAP pada raspberry pi zero meningkat menjadi 0.373 dan 0.467 detik.

  B. Delay

  Dari hasil pengujian yang telah dilakukan dapat disimpulkan bahwa kinerja middleware dengan raspberry pi zero sebagai host-nya menunjukkan hasil delay yang yang baik yaitu 0,868 detik untuk protokol MQTT dan 0,962 Host MQTT CoAP Websocket MQTT -> Websocket CoAP -> Websocket Pi 2 0.33 0.358 0.506 0.836 0.864 Pi Zero 0.373 0.467 0.495 0.868 0.962 detik untuk protokol CoAP. Rata-rata penggunaan CPU hanya 1,25% dan penggunaan memory sekitar 13%. Dari pengujian skalabilitas menunjukkan bahwa middleware dapat menangani concurrent publish secara maksimal ketika jumlah klien adalah 100 dengan maksimal 81 pesan per detik untuk MQTT dan 41 pesan per detik untuk CoAP. Sedangkan pada protokol Websocket jumlah subscriber yang dapat ditangani meningkat seiring dengan bertambahnya jumlah klien hingga mencapai 54 pesan per detik. Jika dibandingkan dengan

  middleware yang menggunakan raspberry pi 2

  sebagai host-nya pada raspberry pi zero menunjukkan peningkatan penggunaan CPU sebesar 0,04% dan penggunaan memori meningkat sebesar 0,16%. Dari segi skalabilitas pada raspberry pi zero dapat menangani

  concurrent publish secara maksimal ketika

  jumlah klien adalah 100 berbeda dengan raspberry pi 2 yang mana concurrent publish meningkat seiring dengan meningkatnya jumlah klien. Perbedaan hasil pengujian dikarenakan sumber daya yang dimiliki oleh raspberry pi zero lebih sederhana sehingga terjadi peningkatan kebutuhan sumber daya. Secara keseluruhan dapat disimpulkan bahwa kinerja dari

  middleware pada raspberry pi 2 lebih baik

  daripada kinerja middleware pada raspberry pi zero.

  Untuk penelitian selanjutnya dapat digunakan parameter pengujian dan arsitektur yang berbeda juga dapat melakukan perbandingan kinerja middleware pada penellitian ini dengan kinerja middleware pada penelitian yang lain.

  Pengembangan Iot Middleware Berbasis Event-Based Dengan Protokol Komunikasi CoAP, MQTT Dan Websocket. Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, vol. 1, no. 12, p. 1560-1567, juli 2017. ISSN 2548-964X. Tersedia pada: <http://j- ptiik.ub.ac.id/index.php/j- ptiik/article/view/541>.

  Desai, P.A.S. (2015). Semantic Gateway as a Service Architecture for IoT Interoperability. 2015

  IEEE International Conference on Mobile Services, 313-319. doi:10.1109/MobServ.2015.51 Rozi, M., Pramukantoro, E., & Amron, K.

  Analisis Performansi dan Skalabilitas pada Event-Based IoT Middleware. Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, vol. 1, no. 7, p. 593-601, juni 2017. ISSN 2548- 964X. Tersedia pada: <http://j- ptiik.ub.ac.id/index.php/j- ptiik/article/view/171>. Thangavel, D., Ma, X., Valera, A., Tan, H. X., &

  Tan, C. K. Y. (2014). Performance evaluation of MQTT and CoAP via a common middleware. In IEEE ISSNIP

  2014 - 2014 IEEE 9th International Conference on Intelligent Sensors, Sensor Networks and Information Processing, Conference Proceedings .

  https://doi.org/10.1109/ISSNIP.2014.68 27678