Apa Itu Prokol MQTT

  • IntialBoard
  • Oct 01, 2019
Apa Itu Prokol MQTT

MQTT (Message Queuing Telemetry Transport) adalah sebuah protokol komunikasi yang digunakan untuk mengirimkan data melalui jaringan IoT (Internet of Things). Protokol ini dirancang untuk digunakan pada jaringan terbatas seperti jaringan M2M (machine-to-machine) dan IoT, sehingga membuatnya sangat sesuai untuk digunakan pada aplikasi yang membutuhkan keterbatasan bandwith dan sumber daya.

MQTT menggunakan topik (topic) untuk mengirimkan pesan dari publisher ke subscriber. Publisher adalah perangkat atau aplikasi yang mengirimkan data, sedangkan subscriber adalah perangkat atau aplikasi yang menerima data. MQTT memastikan bahwa pesan yang diterima oleh subscriber adalah pesan yang sesuai dengan topik yang diterima.

MQTT memiliki beberapa fitur seperti overhead bandwidth yang rendah, keandalan koneksi, dan mudah dipelajari dan digunakan. Oleh karena itu, MQTT sering digunakan pada aplikasi IoT seperti smart home, sistem monitoring, dan lainnya.

Ada banyak macam protokol yang digunakan untuk komunikasi, yang umum kita dengar biasanya ada TCP, UDP, FTP, ICMP, HTTP, Protokol COAP, yang mana setiap protokol memiliki fungsi, teknologi, logikal dan tujuan yang berbeda beda pula.

pada saat membahas Internet Of Things, yang lebih terstruktural dan komprehensif, anda akan dikenalkan dengan protokol MQTT.

Apa Itu Prokol MQTT

Protokol Message Queue Telemetry Transport atau yang di singkat menjadi MQTT, merupakan protokol yang sedari awalnya dirancang khusus untuk komunikasi “machine to machine“.

Yang unik dari protkol MQTT ini, karena ia memiliki kemampuan publish dan subscribe, jadi 2 device dapat saling berkomunikasi meskipun tidak memiliki alamat khusus. baik antara server ataupun dengan device yang lain

kalo masih belum mudeng, gampangnya gini deh.

normalnya, 2 perangkat yang saling berkomunikasi itu pasti alamat di setiap perangkatnya masing masing, seminimalnya Mac Address. kalo yang paling umum ya IP Address.

Perancang Protokol ini Andy Standford – Clark (IBM) dan Arlen Nipper di tahun 1999, yang semula dibuat untuk menghubungkan sistem telemetri jalur pipa minyak melalui satelit.

Meskipun awalnya MQTT adalah protokol yang bersifat proprietary, namun pada 2010 dirilis dengan lisensi Royalty free, Dan pada tahun 2019 MQTT v5.0 menjadi official OASIS standard.

Protokol MQTT ini sangat mendukung untuk jaringan WAN, karena WAN mencakup area yang luas. Protokol MQTT mempunyai kelebihan yaitu dapat bekerja dengan energi dan media penyimpanan yang minimum.

Pada hasil Peneltian yang berjudul “PENERAPAN PROTOKOL MQTT PADA TEKNOLOGI WAN”  dengan STUDI KASUS SISTEM PARKIR UNIVERISTAS BRAWIJAYA, hasil simulasi penelitian protokol MQTT dapat diterapkan pada teknologi WAN dengan average delay sebesar 0.028183014 second.

membuktikan bahwa protokol MQTT mempunyai kualitas yang baik berdasarkan parameter nilai delay. Selain itu packet loss dari publisher ke server pada protokol MQTT yaitu sebesar 0%, hal ini membuktikan bahwa akurasi pengiriman pada MQTT adalah 100%.

 

Perbandingan Protokol MQTT dan Protokol HTTP

Pada Protokol MQTT bersifat datasentris, sedangkan Protokol HTTP bersifat dokumensentris.

HTTP yang mana merupakan protokol request-response untuk kebutuhan komputerisasi klien server yang tidak optimal untuk perangkat mobile(device IoT).

MQTT mengirim data sebagai byte array, yang mana ini menjadi kelebihan Kelebihan Protokol MQTT karna kecilnya data yang dikirimkan. Pada saat Protokol MQTT di uji dengan jaringan 3G, Protokol MQTT 93 kali lebih cepat daripada HTTP.

gimana ga cepet ya, Paket Header nya saja hanya 2 byte.

Disamping itu dibandingkan dengan HTTP, MQTT memastikan kemampuan pengiriman lebih tinggi. Ada 3 level Quality of Service (QoS)

Protokol MQTT juga menyediakan pilihan penggunaan dengan opsi Last will & Testament dan Retained Messages.

dengan menggunaan MQTT, Maker dapat mengoptimasi pertukaran data pada sistem IoT agar transfer datanya bisa dilakukan seefisien mungkin, yaitu dengan :

  • Menekan ukuran paket data agar menjadi sekecil mungkin
  • Meminimalisir proses komputasi untuk encoding dan decoding dari paket data.
  • Meminimalisir penggunaan ruang penyimpanan.

Cara Kerja Prokol MQTT

Beberapa istilah penting dalam Protokol MQTT :

  1. Publish dan Subscribe
  2. Topic
  3. Messages
  4. Broker
simulasi Cara Kerja Prokol MQTT
simulasi Cara Kerja Prokol MQTT

1. Publish dan Subscribe

MQTT tidak menggunakan metode client server konvensional. disini protokol MQTT menggunakan metode Publish & Subscribe.

Publisher adalah peran yang memberikan suatu pesan kepada “topik” tertentu. Subscriber yaitu klien yang subscribe suatu topik, sehingga ketika publisher mengirimkan pesan ke topik tersebut, subscriber dengan topik yang sama akan menerima pesan tersebut.

Lalu, yang terakhir yaitu broker, ia berperan sebagai perantara antara publisher dan subscriber. Broker akan meneruskan pesan dari publisher untuk dikonsumsi oleh subscriber.

Jadi, Publish dan Topic ini pengiriman seperti tipe data khusus untuk membagikan atau berlangganan suatu topic.

2. Topic

Jika dianalogikan dengan berlangganan suatu majalah atau koran, topic adalah koran atau majalah tersebut. Misalkan, jika anda berlangganan koran Pikiran Rakyat, tapi anda tidak berlangganan koran Tempo. Artinya anda tidak tahu apa isi koran tempo.

Subscribe pun demikian, ketika mensubscribe suatu topic A, maka topic B tidak anda ketahui. Topik adalah suatu string dan dipisahkan dengan tanda “/” untuk sub sub topiknya sehingga tanda “/” menunjukkan level topic.

Lalu perlu diingat kalau topic ini bersifat Case Sensitive yang artinya kapital tidaknya huruf akan berpengaruh. misalkan “Suhu” dan “suhu” adalah suatu hal yang berbeda.

3. Messages

Messages adalah isi dari suatu topik, bisa berisi suatu data, misal nilai temperatur 25 derajat Celcius. Bisa juga berisi suatu perintah misalkan “menyalakan lampu” atau “mematikan lampu“.

Seperti halnya berlangganan koran, anda akan mendapatkan koran tiap harinya, demikian juga pada protokol ini, jika sudah subscribe suatu topic misalnya topic suhu. Maka subscriber akan mendapatkan nilai suhu dari topic tersebut setiap jangka waktu tertentu, misalnya tiap 5 detik, subscriber akan menerima data suhu.

Jangka waktu ini kemudian bisa diatur di program.

4. Broker

Broker berfungsi untuk menerima semua pesan, lalu mengolah atau menyaring semua pesan tersebut agar pesan-pesan hanya sampai pada subscriber topik yang bersesuaian.

Protokol MQTT juga mendukung Quality of Service dengan tiga level yaitu QoS 0, QoS 1, dan QoS 2. Semakin besar levelnya, maka akan semakin ketat MQTT dalam aturan penerimaan paket dengan catatan akan mungkin terjadi peningkatan overhead.

Pada kasus di Internet of Things, MQTT banyak dijadikan pilihan dalam membuat solusi IoT setelah HTTP. Karena, MQTT cenderung mudah dalam penggunaannya. Contoh broker yang mendukung MQTT antara lain mosquitto, RabbitMQ, HiveMQ, ActiveMQ, dan lain-lain.

Sementara itu untuk perangkat yang mendukung IoT juga cukup banyak seperti seri Arduino, ESP8266, Raspberry Pi, OpenWRT router, dan lain-lain.

Sinyal Kontrol di Protkol MQTT

  • CONNECT – Client request to connect to Server
  • CONNACK – Connection Acknowledgement
  • PUBLISH – A message which represents a new/separate publish
  • PUBACK – QoS 1 Response to a PUBLISH message
  • PUBREC – First part of QoS 2 message flow
  • PUBREL – Second part of QoS 2 message flow
  • PUBCOMP – Last part of the QoS 2 message flow
  • SUBSCRIBE – A message used by clients to subscribe to specific topics
  • SUBACK – Acknowledgement of a SUBSCRIBE message
  • UNSUBSCRIBE – A message used by clients to unsubscribe from specific topics
  • UNSUBACK – Acknowledgement of an UNSUBSCRIBE message
  • PINGREQ – Heartbeat message
  • PINGRESP – Heartbeat message acknowledgement
  • DISCONNECT – Graceful disconnect message sent by clients before disconnecting

 

Kelebihan dan Kekurangan MQTT

Berikut adalah beberapa kelebihan dan kekurangan dari protokol MQTT

Kelebihan MQTT

  • Overhead bandwidth yang rendah : MQTT memiliki overhead bandwidth yang rendah sehingga sangat sesuai untuk digunakan pada jaringan IoT yang memiliki keterbatasan bandwith.
  • Keterbatasan sumber daya : MQTT dapat berjalan pada perangkat dengan sumber daya terbatas seperti microcontroller.
  • Keandalan koneksi : MQTT menggunakan sistem publish-subscribe sehingga memastikan bahwa pesan akan diterima meskipun ada kesalahan jaringan.
  • Mudah dipelajari dan digunakan : MQTT memiliki syntax yang mudah dipahami dan sederhana sehingga mudah untuk dipelajari dan digunakan.

Kekurangan MQTT

  • Keamanan : MQTT tidak memiliki enkripsi bawaan sehingga membutuhkan solusi tambahan untuk menjamin keamanan data.
  • Skalabilitas : MQTT tidak memiliki fitur skalabilitas yang baik sehingga mungkin menjadi masalah saat digunakan pada jaringan yang besar.
  • Latensi tinggi : MQTT memiliki latensi yang lebih tinggi dibandingkan dengan protokol komunikasi lain seperti HTTP.
  • Ketergantungan broker : MQTT sangat bergantung pada broker untuk mengirimkan dan menerima pesan sehingga menjadi masalah saat broker tidak tersedia.

Sebagai kesimpulan, MQTT memiliki beberapa kelebihan dan kekurangan yang harus dipertimbangkan saat digunakan pada aplikasi IoT. Kelebihan MQTT seperti overhead bandwidth yang rendah dan keandalan koneksi sangat penting untuk aplikasi IoT, sementara kekurangan seperti keamanan dan skalabilitas perlu diatasi dengan solusi tambahan.

Lanjutkan Ke :  Cara Memasang LCD ke Arduino

Related Post :

One thought on “Apa Itu Prokol MQTT

  1. Keren mas artikelnya, sangat mudah dicerna. Terus semangat menulisnya mas. Butuh banyak penulis yang kya gini nih membahasakan dengan bahasa kekinian yang mudah di cerna

Leave a Reply

Your email address will not be published. Required fields are marked *