IoT middleware adalah salah satu layer penting pada IoT. Dengan keterbatasan sumber daya memungkinkan node sensor tidak memiliki fungsi atau akses untuk terhubung langsung ke internet. Selain itu, beberapa perangkat yang tidak bekerja di atas protokol TCP / IP otomatis tidak dapat berkomunikasi secara langsung dengan perangkat yang ada di internet. Hal ini bisa menjadi kendala dalam pengiriman data dari node sensor ke aplikasi IoT yang ada pada inernet. Selain keterbatasan sumber daya, keberagaman sensor dari segi teknologi komunikasi menjadikan tantangan tersendiri, yaitu interoperabilitas. Solusi dari permasalahan itu adalah dengan pendekatan middleware sebagai jembatan anatara infrastruktur IoT dan aplikasi berbasis IoT (Razzaque dkk., 2016).
Middleware didefinisikan menjadi beberapa jenis yaitu :
a. Service based middleware
Sebuah middleware yang dikategorikan dengan fungsi utama untuk pengelolaan data dari sensor dengan dilengkapi fungsi pemrosesan data. Fungsi kedua yaitu melayani permintaan data atau hasil pemrosesan data dari aplikasi yang lain.
b. Cloud-based middleware
Middleware tipe ini memiliki kinerja yang tinggi dan tepat jika diterapkan pada infrastruktur cloud. Umumnya komunikasi yang digunakan adalah berbasis web services RESTfull dengan method POST untuk mengirim data dan method GET untuk meminta sebuah data.
c. Actor-based middleware
Middleware jenis ini dirancang agar lebih dekat dengan infrastruktur IoT, yaitu ke perangkat-perangkat sensor, dan bahkan ke pengguna aplikasi IoT. Konsep middleware ini dirancang untuk menjawab keterbatasan yang ada pada Things. Media dan protokol komunikasi pada middleware ini terdapat dua jenis, satu untuk berinteraksi dengan perangkat-perangkat sensor atau node sensor pada intranet, yang kedua untuk berinteraksi dengan perangkat IoT yang ada pada internet (TerraSwarm, 2017).
Salah satu permasalahan yang ada pada IoT adalah interoperabilitas. Interoperabilitas muncul akibat keberagaman entitas yang ada pada IoT. Contohnya beragam jenis sensor dengan format data yang berbeda pula, antarmuka komunikasi yang berbeda dan protokol komunikasi yang tersedia. Hal ini wajar karena setiap node sensor atau Things mempunyai fungsi yang beragam. Solusi dari masalah ini adalah sebuah middleware yang mampu mengatasi interoperabilitas dengan menyediakan antarmuka, protokol komunikasi yang beragam dan mampu mengolah data dengan data yang beragam.
Pada penelitian sebelumnya, penulis mengusulkan sebuah IoT middleware yang dilengkapi dengan berbagai jenis media komunikasi dan protokol komunikasi (Pramukantoro dan Anwari, 2018) (Pramukantoro et al., 2018). Sebagai gambaran dari IoT middleware tampak pada gambar 1.1 middleware tersebut terdiri dari beberapa network interface, sensor gateway, service unit, application gateway dan internet gateway.
a. Network Interface
Pada bagian network interface, middleware tidak hanya mampu berkomunikasi dengan satu antarmuka atau media komunikasi, terdapat Wi-Fi, BLE, 6LoWPAN dan LoRa. Antarmuka BLE, 6LoWPAN dan LoRa memiliki keunggulan dari segi konsumsi energi yang rendah. Akan tetapi BLE dan LoRa tidak bekerja di atas TCP / IP, oleh karena itu diperlukan sebuah gateway untuk mengubah data yang diterima dari BLE dan LoRa ke dalam format publish / subscribe. Tujuannya adalah agar mempunyai standar yang sama setelah sampai pada IoT middleware.
b. Sensor Gateway
Sensor gateway
bertugas untuk menerima data sebelum diteruskan ke message broker. Message
broker pada umumnya bekerja di atas protokol TCP / IP, hal ini menyebabkan node
sensor yang tidak punya fitur TCP / IP tidak dapat bekerja dengan mekanisme
publish-subscribe. Protokol perpesanan yang umum digunakan adalah MQTT dan
CoAP. Pola komunikasi CoAP adalah client-server, berbeda dengan MQTT yang
menggunakan publish-subscribe, sebagai gantinya perlu menempatkan topik pada
URL CoAP. Contohnya /topik/sensor, sehingga dalam pengiriman pesana dari node
sensor ke IoT middleware menggunakan parameter :
Pada gambar di atas
terdapat dua jenis node sensor yang melakukan publish data dengan protokol CoAP
dan MQTT ke IoT middleware. Data diterima oleh sensor gateway yang bekerja
dengan mekanisme publish-subscribe. Dalam contoh praktik nantinya terdapat BLE
gateway dan LoRa gateway yang bertugas mengubah data yang dikirim dari node
sensor yang tidak berbasis TCP / IP ke protokol MQTT, sehingga data yang
dikirim dapat diterima oleh message broker. Data yang diterima oleh message
broker kemudian didistribusikan ke subscriber sesuai topik yang dilanggan
(Pramukantoro, Kusyanti dan Yazid, 2018).
c. Service Unit
Service unit adalah sebuah message broker yang bertugas menampung data sementara. Data yang tersimpan dalam broker bersifat volatile. Pada umumnya message broker yang dipilih menyimpan dan bekerja pada lingkungan memory dengan alasan kecepatan. Contoh dari message broker adalah redis, mosquito dan MongoDB. Data yang dikirim ke message broker redis dan mosquito bersifat volatile. Akan tetapi sangat memungkinkan jika dibuat non-volatile yaitu menggunakan message broker dari mongoDB.
d. Application Gateway
Pada application gateway bertugas menyediakan layanan bagi subscriber. Subscriber disini adalah pelanggan atau penerima data yang telah dipublish oleh node sensor. Subscriber akan menerima data sesuai dengan topik yang telah dilanggan.
e. Internet Gateway
Fitur ini disediakan sebagai implementasi salah satu tugas dari IoT middleware, yaitu menghubungkan things dengan aplikasi yang ada pada internet. Internet gateway berisi sebuah fungsi untuk berlangganan ke message broker dan meneruskan ke aplikasi dengan protokol RESTfull web services, yang mana membutuhkan sebuah koneksi internet. Untuk itu dapat digunakan antarmuka jaringan seluler GSM atau NB-IoT, agar node ini dapat mengakses perangkat-perangkat yang ada pada internet.
0 on: "Internet of Things Middleware"