MQTT (Message Queuing Telemetry Transport) adalah protokol komunikasi berbasis publish-subscribe yang dirancang untuk perangkat dengan keterbatasan daya, prosesor, dan koneksi internet. Sering disebut sebagai “bahasa pengantar” antar perangkat pintar, MQTT memainkan peran penting dalam ekosistem Internet of Things (IoT).
Awalnya dikembangkan oleh IBM dan Eurotech pada akhir 1990-an, MQTT dibuat untuk situasi ekstrem seperti komunikasi melalui satelit di jaringan minyak dan gas yang membutuhkan efisiensi tinggi dan keandalan meski dalam kondisi jaringan buruk.
Cara Kerja MQTT
MQTT menggunakan arsitektur client-server, di mana terdapat tiga komponen utama:
- Client: Perangkat yang mengirim atau menerima pesan.
- Broker: Server yang mengelola distribusi pesan antar client.
- Topic: Jalur virtual untuk mengatur pesan berdasarkan kategori.
Client dapat menjadi publisher (pengirim pesan), subscriber (penerima pesan), atau keduanya. Publisher mengirim pesan ke topik tertentu, dan broker meneruskannya hanya ke subscriber yang sudah berlangganan topik tersebut.
Contoh sederhana:
Sensor suhu mengirimkan data ke topik rumah/dapur/suhu
. Aplikasi yang berlangganan topik tersebut akan menerima datanya secara real-time.
Mengapa MQTT Digunakan?
MQTT populer dalam pengembangan sistem IoT karena sejumlah keunggulan:
Fitur | Penjelasan |
---|---|
Ringan | Overhead data sangat kecil, ideal untuk perangkat low-power. |
Stabil | Tetap andal di jaringan tidak stabil atau berlatensi tinggi. |
Skalabel | Cocok untuk jaringan kecil hingga skala industri besar. |
Realtime | Pengiriman data terjadi hampir seketika. |
QoS (Quality of Service) | Menjamin tingkat keandalan pengiriman pesan. |
Last Will | Menyediakan notifikasi saat perangkat mati mendadak. |
Contoh Implementasi
MQTT digunakan dalam berbagai sektor, antara lain:
- Smart Home: Otomatisasi lampu, pintu, dan AC.
- Pertanian Cerdas: Pemantauan suhu, kelembaban, dan penyiraman otomatis.
- Manufaktur: Pemantauan mesin dan deteksi anomali secara real-time.
- Transportasi: Sistem pelacakan kendaraan dan sensor internal kendaraan.
Contoh Sederhana: MQTT dengan Python
Berikut contoh program client sederhana menggunakan library paho-mqtt
:
import paho.mqtt.client as mqtt
def on_message(client, userdata, message):
print(f"Pesan diterima: {message.payload.decode()}")
client = mqtt.Client()
client.connect("broker.hivemq.com", 1883)
client.subscribe("rumah/kamar1/suhu")
client.on_message = on_message
client.loop_forever()
Kode ini akan mendengarkan pesan suhu dari topik rumah/kamar1/suhu
dan mencetaknya ke konsol.
Kesimpulan
MQTT adalah protokol yang sangat relevan di era perangkat pintar dan otomatisasi. Sifatnya yang ringan, efisien, dan mudah diterapkan membuatnya menjadi fondasi komunikasi dalam banyak sistem IoT. Jika Anda tertarik membangun aplikasi yang menghubungkan banyak perangkat secara real-time dan efisien, MQTT adalah pilihan yang wajib dipertimbangkan.