By | 17/03/2025

Pendahuluan

RabbitMQ adalah salah satu message broker yang populer dan mendukung berbagai protokol komunikasi, termasuk MQTT. Dalam dunia IoT, komunikasi antarperangkat menjadi sangat penting, dan RabbitMQ dengan dukungan MQTT memberikan solusi yang andal untuk mengelola pesan dalam skala besar.

MQTT (Message Queuing Telemetry Transport) adalah protokol komunikasi yang ringan dan efisien, dirancang khusus untuk aplikasi IoT yang membutuhkan koneksi andal dengan latensi rendah. Dengan MQTT, perangkat IoT dapat mengirim dan menerima data secara efisien meskipun berada dalam jaringan dengan bandwidth terbatas. RabbitMQ, sebagai message broker yang mendukung MQTT, memungkinkan komunikasi yang terstruktur dan aman di antara perangkat IoT.

Menggunakan RabbitMQ dengan MQTT dalam IoT memiliki banyak manfaat. Salah satunya adalah efisiensi penggunaan bandwidth yang sangat rendah, sehingga cocok untuk perangkat dengan koneksi terbatas. Selain itu, RabbitMQ memastikan bahwa pesan dikirim dengan mekanisme antrian yang kuat, sehingga tidak ada pesan yang hilang. Dalam sistem IoT yang terdiri dari banyak perangkat yang tersebar di berbagai lokasi, kemampuan ini sangatlah penting.

Dengan menggunakan Docker, instalasi RabbitMQ dengan dukungan MQTT menjadi lebih mudah dan cepat. Docker memungkinkan kita untuk menjalankan RabbitMQ sebagai container tanpa perlu mengonfigurasi secara manual dependensi dan lingkungan yang diperlukan. Hal ini sangat membantu dalam membangun sistem IoT yang skalabel dan mudah dikelola.

Dalam tutorial ini, kita akan membahas cara mudah menginstal RabbitMQ dengan MQTT di dalam Docker. Langkah-langkahnya mencakup pembuatan file konfigurasi, menjalankan RabbitMQ menggunakan Docker Compose, serta melakukan pengujian menggunakan Mosquitto MQTT Client. Dengan mengikuti tutorial ini, Anda akan memiliki RabbitMQ yang siap digunakan untuk proyek IoT Anda dengan dukungan penuh untuk komunikasi MQTT.

Tutorial Install RabbitMQ dengan MQTT untuk IoT Menggunakan Docker

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Docker dan Docker Compose terinstal pada sistem Anda
  • Koneksi internet untuk menarik image RabbitMQ dari Docker Hub

Membuat File Konfigurasi

Kita akan menggunakan tiga file utama untuk mengatur RabbitMQ dengan MQTT:

  1. Dockerfile: Untuk membangun image kustom jika diperlukan.
  2. docker-compose.yaml: Untuk mengelola layanan RabbitMQ.
  3. rabbitmq.conf: Untuk konfigurasi tambahan.

1. Membuat Dockerfile (Opsional)

Jika Anda ingin menggunakan image kustom, buat file Dockerfile dan isi dengan:

FROM rabbitmq:4.0-management

# Enable MQTT plugin
RUN rabbitmq-plugins enable --offline rabbitmq_mqtt

COPY rabbitmq.conf /etc/rabbitmq/rabbitmq.conf

# Install netstat to monitor ports
RUN apt-get update && apt-get install -y net-tools

Namun, jika hanya ingin menggunakan image bawaan, kita bisa langsung menggunakan Docker Compose.

2. Membuat File docker-compose.yaml

Buat file docker-compose.yaml dan isi dengan konfigurasi berikut:

version: '3.8'

services:
  rabbitmq:
    build: .
    image: rabbitmq:4.0-management
    container_name: rabbitmq_container
    ports:
      - "61613:61613"
      - "8883:8883"
      - "5672:5672"
      - "15672:15672"
    restart: always
    environment:
      - RABBITMQ_DEFAULT_USER=admin
      - RABBITMQ_DEFAULT_PASS=admin123

3. Membuat File rabbitmq.conf

Buat file rabbitmq.conf untuk mengaktifkan MQTT:

 mqtt.listeners.tcp.1 = 0.0.0.0:61613
 mqtt.listeners.tcp.2 = ::1:61613

## TCP listener options (as per the broker configuration).
##
 mqtt.tcp_listen_options.backlog = 4096
 mqtt.tcp_listen_options.recbuf  = 131072
 mqtt.tcp_listen_options.sndbuf  = 131072
#
 mqtt.tcp_listen_options.keepalive = true
 mqtt.tcp_listen_options.nodelay   = true

 mqtt.allow_anonymous = false

Menjalankan RabbitMQ

Setelah semua file dibuat, jalankan perintah berikut untuk memulai layanan RabbitMQ:

docker-compose up -d

Cek apakah container berjalan dengan perintah:

docker ps

Untuk mengakses RabbitMQ Management UI, buka browser dan masuk ke:

http://localhost:15672

Gunakan username admin dan password admin123 untuk login.

Menguji MQTT dengan Mosquitto Client

Untuk menguji apakah MQTT berjalan dengan baik, gunakan Mosquitto MQTT Client. Instal Mosquitto (jika belum terinstal):

sudo apt install mosquitto-clients

Lalu coba publish dan subscribe dengan perintah berikut:

mosquitto_sub -h localhost -p 1883 -t "test/topic"

Di terminal lain, jalankan perintah:

mosquitto_pub -h localhost -p 1883 -t "test/topic" -m "Hello MQTT"

Jika konfigurasi berhasil, Anda akan melihat pesan “Hello MQTT” di terminal subscriber.

Kesimpulan

Dengan menggunakan Docker, kita bisa dengan mudah menginstal dan mengonfigurasi RabbitMQ dengan dukungan MQTT untuk keperluan IoT. Tutorial ini memberikan langkah-langkah sederhana mulai dari pembuatan konfigurasi hingga pengujian komunikasi MQTT. Semoga bermanfaat!

Leave a Reply

Your email address will not be published. Required fields are marked *