
Message Queuing Telemetry Transport (MQTT) adalah protokol komunikasi ringan yang sering digunakan untuk Internet of Things (IoT). Dalam panduan ini, kita akan membahas langkah-langkah instalasi broker MQTT Mosquitto di sistem operasi Linux, serta cara mengonfigurasi port 1883, log, user password, dan pengujiannya.
Eclipse Mosquitto adalah broker MQTT (Message Queuing Telemetry Transport) yang ringan dan open-source. MQTT sendiri adalah protokol komunikasi berbasis publish-subscribe yang dirancang untuk perangkat dengan sumber daya terbatas dan komunikasi low-bandwidth, menjadikannya ideal untuk IoT (Internet of Things), otomasi, dan sistem tertanam.
Mosquitto dapat dijalankan pada berbagai sistem operasi, termasuk Linux, Windows, dan macOS. Namun pada panduan Instalasi kali ini menggunakan sistem operasi Linux.
Bagaimana Mosquitto Bekerja?
Mosquitto menggunakan sistem publish-subscribe, yang terdiri dari tiga komponen utama:
- Broker – Pusat komunikasi yang menerima pesan dari publisher dan meneruskannya ke subscriber.
- Publisher – Perangkat atau aplikasi yang mengirimkan pesan ke topik tertentu.
- Subscriber – Perangkat atau aplikasi yang menerima pesan dari topik yang telah didaftarkan.
Misalnya, jika sensor suhu mengirimkan data ke topik "sensor/suhu"
, maka perangkat yang berlangganan ke topik tersebut akan menerima data suhu secara real-time.
1. Instalasi Mosquitto
Jalankan perintah berikut untuk menginstal Mosquitto dan kliennya:
sudo apt update
sudo apt install -y mosquitto mosquitto-clients
2. Konfigurasi Mosquitto
Buka dan edit file konfigurasi Mosquitto:
sudo nano /etc/mosquitto/mosquitto.conf
Tambahkan atau sesuaikan konfigurasi berikut:
# Menggunakan konfigurasi per listener
per_listener_settings true
# Listener untuk port 1883
listener 1883
allow_anonymous false
password_file /etc/mosquitto/passwd
# Mengaktifkan logging
log_dest file /var/log/mosquitto/mosquitto.log
log_type all
3. Membuat User dan Password MQTT
Jalankan perintah berikut untuk membuat user dan password:
sudo mosquitto_passwd -c /etc/mosquitto/passwd username
Masukkan password sesuai keinginan.
Untuk menambahkan user lain, jalankan tanpa-c
:sudo mosquitto_passwd /etc/mosquitto/passwd userlain
Setelah itu, restart Mosquitto:
sudo systemctl restart mosquitto
Setelah restart, pastikan service mosquitto berjalan tanpa error, lakukan perintah status untuk melihat:
sudo systemctl status mosquitto
Jika terjadi error hak akses pada file password Mosquitto (passwd
), berikut langkah-langkah yang bisa dilakukan:
Jalankan perintah berikut untuk memberikan hak akses yang sesuai:
sudo chmod 600 /etc/mosquitto/passwd
sudo chown mosquitto:mosquitto /etc/mosquitto/passwd
Setelah itu coba restart dan cek status kembali.
4. Pengujian Broker MQTT
a. Menjalankan Subscriber
Buka terminal dan jalankan perintah berikut untuk berlangganan (subscribe) ke topik tertentu:
mosquitto_sub -h localhost -t "test/topic" -u username -P password
b. Mengirim Pesan (Publisher)
Di terminal lain, jalankan perintah berikut untuk mengirim pesan:
mosquitto_pub -h localhost -t "test/topic" -m "Pesan MQTT berhasil!" -u username -P password
Jika konfigurasi berhasil, pesan akan muncul di terminal subscriber.
Jika ingin melakukan pengujian di device client yang berbeda, ganti bagian “localhost” dengan IP Address dari server yang terinstall Mosquitto.