Paper Review: Implementation of Edge Computing Platform for Smart Farm using MQTT and Kafka

Paper Review oleh Anne Devia, Novita Retno Puji L., dan Ayu Artaparamita R.

Editor: Amalia Zahra, S.Kom., Ph.D.

 

Referensi:

Judul : Implementation of Edge Computing Platform for Smart Farm using MQTT and Kafka

Volume : Vol.12 (2022) No.1, pp.158-174

Publikasi : Journal of System and Management Sciences

Tahun : 2022

Penulis : Seokjin Shin, Seonyong Eom dan Min Choi

Latar Belakang

Populasi manusia akan semakin bertambah pada tahun 2050 sehingga akan ada sebanyak 9.6 juta orang, oleh karena itu The Food and Agriculture Organization (FAO) mengestimasikan untuk menaikkan setidaknya 70% dari produksi pangan saat ini. Untuk itu diterapkan sistem Smart farm dengan menggunakan teknologi IoT untuk mengirim dan menerima data secara real-time dari sensor dan mengolahnya.

Penelitian ini dilakukan bertujuan untuk meningkatkan kapasitas produksi hasil pertanian dan peternakan dari smart farm yang menerapkan IoT dengan meminimalisir tantangan salah satunya berupa pemrosesan dan analisis data yang besar dari berbagai macam perangkat. Pengelolaan data yang digunakan pada smart farm saat ini masih tersentralisasi menyebabkan pemrosesan dan analisis data menjadi tidak efisien, tidak praktis karena penyimpanan dan komunikasi antar komputer yang terbatas, serta latensi dan biaya energi yang tidak dapat diprediksi. Melalui penelitian ini penulis mengenalkan edge computing, dimana pemrosesan data dilakukan lebih dekat dengan sumber data menggunakan protokol MQTT dan kafka.

MQTT adalah transport protokol untuk publish/subscribe pesan yang terbuka, sederhana, dan mudah untuk diimplementasikan berbagai macam lingkup, termasuk untuk lingkungan terbatas seperti komunikasi Machine to Machine (M2M) dan Internet of Things (IoT) yang diterapkan pada berbagai macam industri. MQTT memiliki 3 level Quality of Service (QoS). QoS 0 – maksimal sekali, 1- minimal sekali, 2- hanya sekali. Pada penelitian ini QoS diatur pada level 0 karena kecepatan pengiriman data oleh sensor lebih diutamakan daripada keandalan datanya. Setelah data sensor dari smart farm dikumpulkan melalui edge platform, kemudian diproses menjadi komponen MQTT yang diklasifikasikan berdasarkan TOPIC.

Apache Kafka merupakan platform open source dan terdistribusi untuk data streaming. Apache kafka juga menyediakan model publish/subscribe untuk produksi data yang besar secara realtime dan memungkinan penyimpanan data untuk jangka panjang.

Data yang besar tersebut akan lebih efisien apabila langsung dapat diproses pada tepi dari jaringan yang dekat dengan sumber data, dan jika sebelumnya diproses secara sentralisasi menjadi desentralisasi proses komputasi ini dinamakan edge computing yang pada penelitian ini disebut edge platform. Edge platform dapat mengurangi latensi dan digunakan edge computing dimana saja seperti berbasis lokasi, IoT, big data, mobile cloud, dan lain-lain.

Implementasi

Pada penelitian ini, edge platform disimulasikan menggunakan beberapa elemen yang digunakan pada smart farm, yaitu Raspberry pi zero w untuk konfigurasi edge node, termometer MLX90614 untuk pengukuran suhu, serta servo motor SG90 yang diasumsikan sebagai aktuator yang memberikan umpan balik apakah data yang diperoleh dari sensor diproses dengan benar. Perangkat-perangkat tersebut berkomunikasi dengan edge nodes menggunakan protokol MQTT, berinteraksi dengan edge platform dan melakukan pertukaran data yang besar.

Struktur arsitektur perangkat lunak pada penelitian ini terdiri dari: Sensor yang dipasang pada smart farm, broker MQTT sebagai perantara data dengan model publish/subscribe, kemudian edge platform, yang pada penelitian ini digunakan untuk menghubungkan MQTT dengan kafka dan berperan mengurangi beban pada perangkat IoT yang dekat dengan sensor, kafka cluster berkomunikasi menggunakan kafka protokol dan untuk web client menggunakan Thingsboard yang merupakan open-source platform IoT dashboard.

Visualisasi data menggunakan layanan Web Socket yang disediakan oleh Thingsboard dengan lebih dari 30 widget. Data sensor dari edge platform yang disimpan di database divisualisasikan dalam bentuk grafik dengan menggunakan Thingsboard secara realtime dan dapat diakses oleh pengguna (end user). Selain temperature yang menunjukkan status smart farm, informasi lokasi juga ditampilkan dalam peta berupa nilai bujur dan lintang. Fungsi alarm dapat diatur oleh pengguna sehingga jika kriteria berada diluar jangkauan, maka alarm otomatis ditampilkan di dashboard.

Evaluasi

Evaluasi kinerja pada penelitian ini, menggunakan Apache JMeter. JMeter adalah open-source software berbasis Java yang dapat digunakan untuk mengukur performa. Apache JMeter yang digunakan versi 5.4.1 dimana versi ini sudah support untuk mengukur MQTT, namun belum support untuk mengukur Kafka, sehingga perlu penambahan script JSR223. Hal tersebut menyebabkan perbedaan proses diantara keduanya. Pada MQTT proses connect, publish dan disconnect dihitung sebagai tiga proses yang berbeda, sementara pada Kafka dianggap menjadi satu proses secara keseluruhan.

Percobaan dilakukan menggunakan 1 client IoT dengan 30 percobaan, dimana masing-masing percobaan terdapat 50 sampel yang dikirimkan. Hasil evaluasi menunjukkan bahwa rata-rata respon time yang dibutuhkan antara MQTT dan Kafka sekitar 400ms. Hal ini menunjukkan bahwa platform MQTT dan Kafka yang diimplementasikan dalam penelitian ini efektif untuk digunakan di lingkungan dengan bandwidth terbatas maupun pada kondisi dimana data yang ditransmisikan atau diterima dalam jumlah yang besar dan terus menerus.

Kesimpulan

Smart farm dapat dibuat dengan mudah dan cepat melalui edge platform menggunakan MQTT dan Kafka yang diimplementasikan pada penelitian ini. Pada smart farm efisiensi dapat ditingkatkan berdasarkan banyaknya sensor data yang digunakan, dengan bertambahnya efisiensi diharapkan penjualan dapat meningkat seiring dengan meningkatnya produksi. Sebagai tambahan, edge platform diharapkan dapat mengurangi biaya penggantian sensor dengan berkontribusi pada kesesuaian di real farm dimana sensor-sensor perlu diganti secara berkala.

Informasi Penting Lainnya

  • Visualisasi data dan pengendalian device pada Dashboard IoT penelitian ini menggunakan servis berbasis WebSocket dari Thingsboard.
  • Terdapat lebih dari 30 widget tampilan yang dapat digunakan untuk membuat Dashboard untuk berbagai macam IoT use case.
  • MTQQ dan Kafka yang diimplementasikan dalam penelitian ini efektif digunakan di lingkungan dengan bandwidth terbatas atau jumlah data yang ditransmisikan sangat besar.

Amalia Zahra