Dalam era Internet of Things (IoT), jutaan perangkat kecil seperti sensor suhu, lampu pintar, hingga mesin pabrik harus saling bertukar data secara instan. Protokol komunikasi standar web seperti HTTP sering kali terlalu "berat" dan memboroskan kuota data serta baterai untuk perangkat-perangkat berukuran kecil ini.
Di sinilah MQTT (Message Queuing Telemetry Transport) hadir sebagai solusi standar industri.
MQTT adalah protokol komunikasi jaringan yang dirancang khusus untuk pertukaran pesan antar perangkat (machine-to-machine / M2M) dengan karakteristik sangat ringan (lightweight), menggunakan bandwidth rendah, dan hemat daya.
Protokol ini pertama kali dikembangkan oleh Andy Stanford-Clark (IBM) dan Arlen Nipper (Arcom) pada tahun 1999 untuk memantau pipa minyak melalui jaringan satelit yang lambat dan mahal. Saat ini, MQTT dipelihara oleh organisasi standar OASIS dan menjadi pilihan utama dalam ekosistem IoT modern.
Berbeda dengan protokol HTTP yang menggunakan model Client-Server (di mana klien meminta data langsung ke server), MQTT menggunakan arsitektur Publish-Subscribe (Pub/Sub) melalui perantara bernama Broker.
[ Publisher ] --(Publish Data ke Topic)--> [ MQTT Broker ] --(Foward Pesan)--> [ Subscriber ]
(Contoh: Sensor Suhu) (Server) (Contoh: App HP / DB)
Terdapat 3 komponen inti dalam arsitektur MQTT:
Publisher (Pengirim): Perangkat yang mengumpulkan data (misal: sensor ESP32) dan mengirimkannya ke Broker.
Subscriber (Penerima): Perangkat atau aplikasi (misal: aplikasi Android atau sistem database) yang berlangganan pesan dari Broker untuk menerima update data.
Broker (Perantara): Server terpusat yang menerima pesan dari Publisher, menyaring data berdasarkan topik, dan meneruskannya ke semua Subscriber yang terdaftar.
Di dalam MQTT, data dikategorikan menggunakan Topik berbentuk struktur direktori (menggunakan tanda garis miring /). Topik menentukan ke mana data dikirim dan dari mana data dibaca.
rumah/lantai1/ruangtamu/lampu
rumah/lantai1/ruangtamu/suhu
rumah/lantai2/kamar/ac
Subscriber dapat menggunakan karakter khusus (wildcard) untuk berlangganan beberapa topik sekaligus:
Single-level Wildcard (+): Memfilter satu tingkat hierarki.
Contoh: rumah/lantai1/+/suhu (Akan menerima data suhu dari semua ruangan di lantai 1).
Multi-level Wildcard (#): Memfilter semua tingkat di bawahnya.
Contoh: rumah/# (Akan menerima semua data dari seluruh area rumah).
Sangat Hemat Bandwidth & Daya: Ukuran header pesan minimum MQTT hanya 2 Byte, jauh lebih kecil dibanding HTTP yang bisa mencapai ratusan Byte.
Respon Real-Time: Menggunakan koneksi TCP yang selalu terbuka (persistent connection), sehingga data langsung terkirim tanpa jeda polling.
Decoupling (Pemisahan Ketergantungan): Publisher dan Subscriber tidak perlu tahu alamat IP satu sama lain dan tidak harus beroperasi pada waktu yang sama.
Quality of Service (QoS): Jaminan pengiriman pesan yang bisa disesuaikan dengan keandalan jaringan.
MQTT menyediakan 3 tingkat jaminan pengiriman pesan (QoS) yang dapat dipilih sesuai kebutuhan:
| Tingkat QoS | Nama | Cara Kerja | Penggunaan Ideal |
| QoS 0 | At most once (Paling banyak sekali) | Pesan dikirim tanpa konfirmasi balik (bisa hilang jika sinyal jelek). | Telemetri sensor berkala (misal: update suhu tiap 5 detik). |
| QoS 1 | At least once (Paling sedikit sekali) | Pesan dijamin sampai, tetapi ada kemungkinan terduplikasi. | Notifikasi alarm keselamatan, status sakelar. |
| QoS 2 | Exactly once (Tepat sekali) | Pesan dijamin sampai tepat satu kali tanpa duplikasi melalui handshake 4 langkah. | Transaksi keuangan, perintah sistem kritis. |
Untuk menjalankan sistem berbasis MQTT, Anda memerlukan software MQTT Broker. Beberapa opsi populer di antaranya:
Mosquitto (Eclipse): Broker open-source paling populer, sangat ringan, dan bisa dijalankan di Raspberry Pi atau server lokal.
EMQX: Broker skala industri berkemampuan tinggi yang mampu menangani jutaan koneksi perangkat sekaligus.
HiveMQ: Platform cloud dan on-premise yang kaya fitur untuk enterprise.
Protokol MQTT adalah fondasi utama yang memungkinkan jutaan perangkat IoT dapat saling berkomunikasi secara efisien dan andal. Dengan arsitektur Publish-Subscribe dan beban header yang sangat ringan, MQTT menjadi pilihan wajib bagi siapa saja yang ingin membangun proyek IoT—mulai dari otomasi rumah sederhana hingga otomasi pabrik skala besar.
Buka Arduflow IDE sekarang dan implementasikan logika program di atas tanpa ribet!