Lompat ke konten Lompat ke sidebar Lompat ke footer

Apa itu Protokol MQTT? Simak Penjelasannya Berikut!

MQTT merupakan protokol pengiriman pesan terbuka yang ringan dan dikhususkan untuk protokol jaringan dengan bandwidth terbatas atau perangkat IoT dengan latensi sangat tinggi.

Karena MQTT dikhususkan untuk komunikasi pada bandwidth rendah atau lingkungan berlatensi tinggi, maka dari itu menjadi protokol yang ideal untuk komunikasi mesin-ke-mesin (M2M).

Di artikel ini kita akan membahas lebih rinci mengenai protokol MQTT. Simak, ya!

Daftar Isi

Pengertian Protokol MQTT

MQTT adalah singkatan dari Message Queuing Telemetry Transport, sebuah protokol jaringan yang menjadi penghubung komunikasi mesin ke mesin. 

MQTT merupakan protokol yang sangat ringan dan menganut prinsip pengangkutan pesan berbasis publish-subscribe.

Apa itu Protokol MQTT? Simak Penjelasannya Berikut!

Protokol ini berguna untuk koneksi ke lokasi terpencil di mana bandwidth menjadi sesuatu yang mahal/langka.

Karakteristik ini membuat protokol MQTT berguna dalam berbagai situasi, termasuk lingkungan konstan seperti untuk mesin komunikasi ke mesin dan konteks Internet of Things.

MQTT adalah sistem publish-subscribe di mana kita dapat menerbitkan dan menerima pesan sebagai klien. Hal ini memudahkan komunikasi antar beberapa perangkat.

MQTT cukup sederhana dan dirancang untuk perangkat terbatas atau dengan bandwidth rendah, karenanya dapat menjadi solusi terbaik untuk diterapkan pada Internet of Things (IoT).

Seperti yang kita ketahui bahwa sistem IoT utamanya pada bagian perangkat akuisisi data seperti sensor dan embedded device biasanya memakai catu daya yang disediakan oleh baterai, solar panel dll.

Koneksi perangkat ini dengan server atau internet biasanya memakai koneksi WiFi, Bluetooth, GSM, atau gelombang radio, yang memerlukan catu daya cukup besar saat koneksi terjadi apalagi kalau koneksi terjadi tiap waktu.

Batasan lainnya yaitu ukuran media penyimpanan internal dan RAM dari perangkat-perangkat ini biasanya relatif cukup kecil (Arduino, Nucleo STM32, dkk).

Jadi ada beberapa optimasi yang harus diperhatikan dalam pertukaran data pada sistem IoT agar transfer data bisa seefisien mungkin. Optimasi tersebut meliputi:

  • Menekan ukuran paket data sekecil mungkin sehingga trafik bisa meningkat.
  • Meminimalisasi proses komputasi untuk encoding dan decoding dari paket data.
  • Data hanya menggunakan ruang penyimpanan yang sekecil mungkin.

Optimasi-optimasi di atas disediakan oleh protokol MQTT.

Karakteristik MQTT

MQTT memiliki beberapa fitur unik yang jarang ditemukan di protokol lain. Beberapa fitur MQTT di antaranya:

  • Merupakan protokol mesin ke mesin, yaitu protokol yang menyediakan komunikasi antar perangkat.
  • Dirancang sebagai protokol pesan sederhana dan ringan yang menggunakan sistem publish/subscribe untuk bertukar informasi antara klien dan server.
  • MQTT tidak mengharuskan klien dan server membuat koneksi pada saat yang sama.
  • Memberikan transmisi data yang lebih cepat dan realtime.
  • Memungkinkan klien untuk melakukan subscribe pada pilihan topik tertentu sehingga klien dapat menerima informasi yang mereka cari.

Komponen-Komponen MQTT

Sebelum membahas mengenai arsitektur pada MQTT, ada baiknya kita pahami dulu beberapa komponen yang ada ada protokol ini. Komponen-komponen tersebut di antaranya:

  • Pesan
  • Klien
  • Server atau Broker
  • Topik

1. Pesan

Pesan adalah data yang dibawa keluar oleh protokol ke seluruh jaringan. Ketika pesan ditransmisikan melalui jaringan, maka pesan tersebut berisi parameter berikut:

  • Payload
  • Quality of Service (QoS)
  • Property collection
  • Nama Topik
  • Klien

2. Klien

Pada MQTT, subscriber dan publisher adalah dua peran yang dijalankan oleh klien. Klien melakukan subscribe topik untuk mempublikasikan dan menerima pesan.

Dengan istilah yang sederhana,jika ada program atau perangkat yang menggunakan MQTT, maka perangkat tersebut disebut sebagai klien.

Perangkat dikatakan sebagai klien jika membuka koneksi jaringan ke server, melakukan publish pesan yang ingin dilihat klien lain, melakukan subscribe pada pesan yang ingin diterima, berhenti subscibe pesan yang tidak ingin diterima, dan menutup koneksi jaringan ke server.

Di MQTT, klien melakukan dua operasi, yakni

  • Publish: Saat klien mengirim data ke server
  • Subscribe: Ketika klien menerima data dari server

3. Server/Broker

Server atau broker pada MQTT adalah perangkat atau program yang memungkinkan klien untuk subscribe pesan dan publish pesan.

Server menerima koneksi jaringan dari klien, menerima pesan dari klien, memproses permintaan subscribe dan berhenti subscribe, meneruskan pesan aplikasi ke klien, dan menutup koneksi jaringan dari klien.

4. Topik

Dalam MQTT dikenal istilah topik yaitu berupa UTF-8 string yang perannya hampir sama seperti topik pada chat hanya saja lebih sederhana dan berfungsi sebagai filter untuk broker atau server dalam mengirimkan pesan ke tiap klien yang terhubung.

Dengan kata lain, topik adalah kanal bagi klien untuk subscribe.

Arsitektur MQTT

Protokol MQTT berjalan di atas stack TCP/IP dan mempunyai ukuran paket data dengan low overhead yang kecil (minimum 2 bytes) sehingga berefek pada konsumsi catu daya yang juga cukup kecil.

Protokol ini adalah jenis protokol data-agnostic yang artinya kita bisa mengirimkan data apapun seperti data binary, text bahkan XML ataupun JSON.

Protokol MQTT memakai model publish/subscribe daripada model client-server.

Arsitektur MQTT dapat dilihat pada gambar di bawah ini:

Apa itu Protokol MQTT? Simak Penjelasannya Berikut!
Sumber: medium.com

Pada gambar di atas, MQTT membutuhkan dua komponen perangkat lunak utama yaitu

  • MQTT Client yang nantinya akan di install di device. Untuk Arduino kita bisa memakai pubsubclient
  • MQTT Broker yang berfungsi untuk menangani publish dan subscribe data

Keuntungan dari sistem publish/subscribe adalah antara sumber pengirim data (publisher) dan penerima data (klien) tidak saling mengetahui karena ada broker diantara mereka atau istilah kerennya yaitu space decoupling.

Yang juga tidak kalah penting yaitu adanya time decoupling dimana publisher dan klien tidak perlu terkoneksi secara bersamaan, misalnya klien bisa saja disconnect setelah melakukan subscribe ke broker.

Bbeberapa saat kemudian klien connect kembali ke broker dan klien tetap akan menerima data yang terpending sebelumnya proses ini dikenal dengan mode offline.

Untuk memahami arsitektur MQTT secara lebih jelas, kita akan mengambil contoh.

Misalkan sebuah perangkat memiliki sensor suhu dan ingin mengirim peringkat ke server atau broker. Jika ponsel atau aplikasi desktop ingin menerima nilai suhu ini di lokasi lain, maka akan ada dua hal yang terjadi.

Subscriber pertama-tama mendefinisikan topik, suhu kemudian menerbitkan (publish) pesan, yaitu nilai suhu.

Setelah menerbitkan pesan, ponsel atau aplikasi desktop akan berlangganan (subscribe) topik, dalam hal ini suhu dan kemudian menerima pesan yang di-publish.

Peran server atau broker adalah menyampaikan pesan yang dipublikasikan ke ponsel atau aplikasi desktop.

Penutup

Demikianlah penjelasan singkat mengenai protokol MQTT. Semoga informasi yang disajikan bisa bermanfaat dan menambah wawasan pengetahuan kita.

Salam!

Referensi:

Trivusi
Trivusi Ikatlah ilmu dengan menulis. Menebar manfaat dengan berbagi :)

Posting Komentar untuk "Apa itu Protokol MQTT? Simak Penjelasannya Berikut!"