Mengenal Protokol MQTT dan Perbedaan dengan HTTP

Indobot Academy

pengertian protokol MQTT adalah
cara kerja protokol MQTT

MQTT (Message Queuing Telemetry Transport) adalah protokol publish-subscribe yang dirancang khusus untuk mengirimkan pesan antara perangkat IoT dengan overhead yang rendah dan konsumsi energi yang efisien. Dalam era Internet of Things (IoT) yang semakin berkembang, di mana jutaan perangkat terhubung dan bertukar data, diperlukan protokol komunikasi yang ringan, efisien, dan andal.

Salah satu protokol yang memenuhi persyaratan ini adalah MQTT.  Artikel ini akan membahas tentang MQTT, bagaimana protokol ini bekerja, dan keunggulannya dalam menghubungkan perangkat IoT.

[lwptoc]

Apa itu MQTT?

MQTT adalah protokol komunikasi yang awalnya dikembangkan pada tahun 1999 oleh Andy Stanford-Clark dari IBM dan Arlen Nipper dari Arcom (sekarang Cirrus Link). Protokol ini didesain dengan fokus pada konektivitas yang handal, biaya pengiriman yang rendah, dan penggunaan daya yang efisien untuk perangkat dengan sumber daya terbatas, seperti sensor atau perangkat mikrokontroler.

Bagaimana MQTT Bekerja?

MQTT menggunakan model komunikasi publish-subscribe, di mana perangkat pengirim (publisher) mengirim pesan ke topik (topic), dan perangkat penerima (subscriber) menerima pesan dari topik yang telah mereka langganan. Arsitektur ini memungkinkan perangkat untuk berkomunikasi secara asinkron, yang berarti mereka tidak perlu terhubung secara langsung pada saat yang sama untuk bertukar pesan.

MQTT memiliki tiga komponen utama: publisher, broker, dan subscriber. Publisher adalah perangkat yang mengirimkan pesan ke broker. Broker bertindak sebagai perantara yang menerima pesan dari publisher dan mengirimkannya kepada subscriber yang berlangganan topik yang sesuai. Subscriber adalah perangkat yang menerima pesan dari broker berdasarkan topik yang mereka langganan.

Baca Juga Protokol Jaringan 5G Bagaimana Cara Kerjanya?

Komunikasi antara publisher, broker, dan subscriber menggunakan format pesan yang ringan. Pesan dalam MQTT terdiri dari topik (topic) dan payload (isi pesan). Topik digunakan untuk mengorganisir pesan-pesan dalam hierarki yang terstruktur, sementara payload berisi data yang dikirimkan. Pesan-pesan MQTT dikirim menggunakan protokol TCP/IP melalui port default 1883 (dapat menggunakan enkripsi TLS/SSL pada port 8883).

Keunggulan MQTT dalam IoT

Ringan dan Efisien

MQTT memiliki overhead yang rendah karena ukuran header pesan yang kecil dan penggunaan bandwidth yang minim. Hal ini membuatnya cocok untuk perangkat dengan sumber daya terbatas, seperti sensor atau perangkat baterai.

Koneksi yang Handal

MQTT dirancang untuk menjaga koneksi yang andal di lingkungan jaringan yang tidak stabil. Jika koneksi terputus, protokol ini memiliki mekanisme untuk menyimpan pesan-pesan yang belum terkirim dan mengirimkannya kembali setelah koneksi terhubung kembali.

Skalabilitas

MQTT dapat dengan mudah mengakomodasi jutaan perangkat terhubung secara bersamaan. Dengan arsitektur publish-subscribe, pesan dapat dikirim ke banyak subscriber secara bersamaan, sehingga memungkinkan skalabilitas tinggi dalam sistem IoT yang besar.

Desain yang Sederhana

MQTT memiliki desain yang sederhana dan mudah diimplementasikan. Hal ini membuatnya menjadi pilihan yang populer bagi pengembang perangkat IoT.

Dukungan untuk Quality of Service (QoS)

MQTT mendukung tiga level Quality of Service: QoS 0 (fire and forget), QoS 1 (setidaknya sekali), dan QoS 2 (pastikan persis sekali). Ini memungkinkan pengiriman pesan yang dapat diandalkan dan menyesuaikan kebutuhan aplikasi.

Baca Juga Lorawan Solusi untuk IoT Seluler

Perbedaan MQTT dan HTTP

MQTT (Message Queuing Telemetry Transport) dan HTTP (Hypertext Transfer Protocol) adalah dua protokol yang sering digunakan dalam komunikasi antara perangkat dan sistem dalam konteks Internet of Things (IoT) dan jaringan komputer secara umum. Meskipun keduanya di gunakan untuk pertukaran data, ada beberapa perbedaan signifikan antara MQTT dan HTTP. Berikut ini adalah perbedaan utama antara keduanya:

Model Komunikasi:

  • MQTT: MQTT menggunakan model komunikasi publish-subscribe, di mana perangkat pengirim (publisher) mengirim pesan ke topik (topic), dan perangkat penerima (subscriber) menerima pesan dari topik yang telah mereka langganan. Arsitektur ini memungkinkan komunikasi asinkron antara perangkat, di mana publisher dan subscriber tidak perlu terhubung secara langsung pada saat yang sama.
  • HTTP: HTTP menggunakan model komunikasi request-response, di mana klien (misalnya, browser web) mengirim permintaan (request) ke server, dan server memberikan respons (response) yang sesuai. Komunikasi ini bersifat sinkron, di mana klien harus menunggu respons dari server sebelum dapat melanjutkan interaksi.

Baca Juga Apa yang Di pelajari di Kelas IoT Dasar Lanjutan

Overhead dan Efisiensi

  • MQTT: MQTT memiliki overhead yang lebih rendah di bandingkan HTTP. Ukuran header pesan MQTT relatif kecil, dan protokol ini di rancang untuk penggunaan bandwidth yang minim. Hal ini membuatnya efisien untuk perangkat dengan sumber daya terbatas atau kondisi jaringan yang lemah.
  • HTTP: HTTP memiliki overhead yang lebih besar di bandingkan MQTT. Setiap permintaan dan respons HTTP membutuhkan header yang lebih besar dan kompleks, yang dapat mengakibatkan peningkatan penggunaan bandwidth dan konsumsi daya.

Penggunaan

  • MQTT: MQTT banyak di gunakan dalam aplikasi IoT, terutama di lingkungan di mana perangkat memiliki sumber daya terbatas, seperti sensor, perangkat mikrokontroler, atau perangkat baterai. MQTT memberikan koneksi yang handal, konsumsi energi yang efisien, dan kemampuan untuk menghubungkan banyak perangkat secara bersamaan.
  • HTTP: HTTP lebih umum di gunakan dalam aplikasi web dan transfer data antara peramban web dan server. Protokol ini lebih cocok untuk aplikasi yang memerlukan transfer data sekuensial, seperti halaman web, permintaan API, atau interaksi manusia dengan aplikasi melalui antarmuka pengguna.

Penggunaan Port

  • MQTT: MQTT menggunakan port default 1883 untuk komunikasi non-terenkripsi dan port 8883 untuk komunikasi dengan enkripsi TLS/SSL.
  • HTTP: HTTP menggunakan port default 80 untuk komunikasi non-terenkripsi dan port 443 untuk komunikasi dengan enkripsi TLS/SSL.

Keamanan

  • MQTT: MQTT tidak memiliki lapisan keamanan bawaan, tetapi dapat di kombinasikan dengan protokol keamanan tambahan, seperti TLS/SSL, untuk mengamankan komunikasi. Keamanan di implementasikan pada tingkat transportasi.
  • HTTP: HTTP mendukung lapisan keamanan TLS/SSL, yang di kenal sebagai HTTPS. HTTPS menyediakan enkripsi end-to-end untuk melindungi kerahasiaan dan integritas data saat transit.

Penggunaan MQTT dalam Monitoring Berbasis WAN

MQTT dapat di gunakan dalam jaringan WAN (Wide Area Network) untuk memungkinkan monitoring jarak jauh atau pengendalian perangkat IoT. Berikut adalah prosedur umum untuk menggunakan MQTT dalam jaringan WAN untuk tujuan monitoring jarak jauh:

  1. Persiapan Perangkat MQTT:
    • Pastikan perangkat IoT yang ingin di pantau telah terpasang dan terhubung ke jaringan WAN.
    • Pasang klien MQTT pada perangkat tersebut. Klien MQTT adalah perangkat lunak atau pustaka yang mendukung protokol MQTT dan di gunakan untuk mengirim atau menerima pesan MQTT.
    • Konfigurasikan klien MQTT dengan informasi yang di perlukan, seperti alamat broker MQTT, port, dan kredensial (jika di perlukan).
  2. Pemantauan Jarak Jauh:
    • Siapkan perangkat pemantau (subscriber) yang terhubung ke jaringan WAN.
    • Pasang klien MQTT pada perangkat pemantau dan konfigurasikan dengan informasi broker MQTT yang sama dengan perangkat IoT.
    • Langganan (subscribe) ke topik (topic) yang relevan dengan data yang ingin di pantau. Misalnya, jika perangkat IoT mengirimkan data suhu, maka perangkat pemantau harus langganan ke topik yang berkaitan dengan suhu.
    • Ketika perangkat IoT mengirimkan pesan ke broker MQTT dengan topik yang relevan, perangkat pemantau akan menerima pesan tersebut secara otomatis.
  3. Pengendalian Jarak Jauh:
    • Selain pemantauan, MQTT juga dapat di gunakan untuk pengendalian jarak jauh perangkat IoT.
    • Siapkan perangkat pengendali (publisher) yang terhubung ke jaringan WAN.
    • Pasang klien MQTT pada perangkat pengendali dan konfigurasikan dengan informasi broker MQTT yang sama dengan perangkat IoT.
    • Kirim pesan MQTT ke broker dengan topik yang sesuai dengan tindakan yang ingin di lakukan pada perangkat IoT. Misalnya, jika ingin menghidupkan atau mematikan perangkat IoT, kirim pesan dengan topik yang sesuai untuk menjalankan aksi tersebut.
  4. Keamanan:
    • Pastikan untuk mengamankan komunikasi MQTT dalam jaringan WAN dengan menggunakan enkripsi TLS/SSL. Ini dapat melindungi data dari penyadapan atau manipulasi oleh pihak yang tidak berwenang.
    • Gunakan autentikasi dan otorisasi untuk memastikan hanya perangkat yang sah yang dapat mengirim atau menerima pesan MQTT.

Dalam penggunaan MQTT dalam jaringan WAN untuk monitoring jarak jauh, broker MQTT berperan sebagai penghubung antara perangkat IoT, perangkat pemantau, dan perangkat pengendali. Perangkat IoT mengirimkan pesan ke broker, yang kemudian di teruskan kepada perangkat pemantau atau perangkat pengendali yang telah terdaftar.

Selain itu, untuk penggunaan MQTT dalam jaringan WAN, perlu di perhatikan juga masalah konektivitas dan kehandalan jaringan. Jika koneksi jaringan terputus, MQTT memiliki mekanisme untuk menyimpan pesan yang belum terkirim dan mengirimkannya kembali setelah koneksi terhubung kembali.

Dengan menggunakan MQTT dalam jaringan WAN, pengguna dapat memonitor atau mengendalikan perangkat IoT secara efisien dan efektif dari lokasi jarak jauh. Ingin belajar cara implementasi MQTT? Yuk gabung di course Indobot untuk tahu lebih jauh

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp