Internet of Things — Project MQTT
Halo semuanya! 👋
Kali ini saya sedang eksplorasi implementasi protokol MQTT untuk komunikasi data antar perangkat. Pada project ini, saya menggunakan MQTT untuk melakukan pengiriman data (publish) ke public MQTT broker sehingga data bisa dipantau secara real-time.
Menariknya, bukan cuma sekadar kirim data, saya juga mencoba menganalisis bagaimana struktur paket data MQTT bekerja di balik layar. Dengan bantuan Wireshark, kita bisa melihat detail isi paket, mulai dari header sampai payload yang dikirimkan.
Di percobaan ini, saya menggunakan perangkat seperti ESP32 sebagai publisher yang mengirimkan data ke broker MQTT, lalu memantau lalu lintas datanya untuk dipelajari lebih dalam.
Di project ini ada dua fokus utama yang saya lakukan:
- Mengirim data (publish) ke public MQTT broker
- Menganalisis struktur paket MQTT (header & payload) menggunakan Wireshark
Yuk kita lihat bagaimana cara kerjanya! 🚀
Langkah 1: Persiapan Perangkat Lunak
Pertama, install dulu tools yang dibutuhkan:
- MQTT Explorer: https://mqtt-explorer.com/
- Wireshark: https://www.wireshark.org/
Langkah 2: Konfigurasi MQTT Explorer
Buka MQTT Explorer, lalu buat koneksi baru dengan konfigurasi:
Host: test.mosquitto.org
Port: 1883
Agar performanya lebih ringan (tidak lag kaerna kebanyakan data), masuk ke bagian ADVANCE, lalu:
- Hapus subskripsi default: # dan $SYS/#
- Tambahkan subskripsi baru: itb/sti/[NIM]/#
Tujuannya agar data yang msuk lebih spesifik dan tidak kebanjiran oleh data global. Jika sudah, klik Save lalu Connect.
Langkah 3: Menjalankan Wireshark
Buka Wireshark, lalu pilih interface internet yang sedang digunakan.
- Jika menggunakan macOS, biasanya pilih Wi-Fi: en0.
Di bagian filter (yang warna hijau), ketik mqtt.
Lalu tekan enter, tujuannya agar Wireshark hanya menampilkan paket MQTT saja.
Langkah 4: Eksekusi Publish Data
Kembali ke MQTT explorer,lalu cari panel publish
Get Salma Az Zahra’s stories in your inbox
Join Medium for free to get updates from this writer.
Kemudian, isi:
- Topik: itb/sti/[NIM]/mqtt
- Value: pesan singkat seperti “Halow”
Jika sudah, lalu klik tombol publish.
Langkah 5: Analisis di Wireshark
Di Wireshark, cari baris berwana hijau di bagian atas (paket MQTT yang kita kirim)
Klik paket tersebut , lalu lihat detailnya di panel bawah. Beberapa detail yang dicari adalah sebagai berikut:
- IP Header (Internet Protocol)
Header Length: 20 bytes.
Source: 54.36.178.49
Destination: 172.20.10.2
- TCP Header (Transmission Control Protocol)
Source Port: 1883 (Port standar MQTT)
Destination Port: 49574
Header Length: 32 bytes.
Flags: 0x018 (PSH, ACK). Artinya paket ini membawa data dan meminta pengakuan segera.
Options: Terdapat 12 bytes tambahan (NOP, NOP, Timestamps) yang membuat header TCP menjadi 32 bytes, bukan standar 20 bytes.
- MQTT Payload (Message Queuing Telemetry Transport)
Berdasarkan data di dalam protokol MQTT:
MQTT Header Flags: 0x30 (Publish Message, QoS 0).
Msg Len: 28 bytes (Ini adalah panjang sisa data di dalam protokol MQTT).
Topic Length: 21 bytes.
Topic: itb/sti/18224015/mqtt
Message (Payload Data): 48616c6f77 (dalam hex). Jika dikonversi ke ASCII, teks pesan yang dikirim adalah "Halow".
Jika dijumlahkan dari perspektif jaringan:
Total = Ethernet (14) + IP (20) + TCP (32) + MQTT (30) = 96 bytes









