Tutorial EMQX Cloud sebagai MQTT Broker

Pendahuluan

Dalam sistem Internet of Things (IoT), komunikasi antar perangkat menjadi aspek yang sangat krusial. Perangkat sensor, gateway, hingga aplikasi cloud harus dapat bertukar data secara efisien dan real-time. Salah satu protokol komunikasi yang paling populer untuk kebutuhan tersebut adalah MQTT (Message Queuing Telemetry Transport).

MQTT dirancang sebagai protokol lightweight messaging dengan model publish–subscribe yang sangat efisien untuk perangkat dengan keterbatasan bandwidth dan resource (Banks & Gupta, 2014). Karena karakteristik ini, MQTT banyak digunakan dalam berbagai aplikasi seperti:

  • Smart home
  • Industrial IoT
  • Smart city
  • Monitoring sensor
  • Smart agriculture

Untuk menjalankan sistem MQTT diperlukan sebuah broker yang berfungsi sebagai perantara komunikasi antara publisher dan subscriber.

Salah satu broker MQTT yang paling populer saat ini adalah:

EMQX

EMQX merupakan broker MQTT berperforma tinggi yang mampu menangani jutaan koneksi perangkat IoT secara simultan. Selain versi self-hosted, EMQX juga menyediakan layanan EMQX Cloud, yaitu broker MQTT yang dikelola sepenuhnya di cloud.

Artikel ini membahas cara menggunakan EMQX Cloud untuk membangun MQTT broker IoT, mulai dari proses pendaftaran akun hingga pengujian komunikasi client.

Apa Itu EMQX Cloud?

EMQX Cloud adalah layanan managed MQTT broker yang memungkinkan pengembang menjalankan infrastruktur MQTT tanpa harus mengelola server sendiri.

Beberapa keunggulan EMQX Cloud antara lain:

  • Deployment broker hanya dalam beberapa menit
  • Skalabilitas hingga jutaan koneksi IoT
  • Monitoring real-time
  • Security melalui TLS, authentication, dan authorization
  • Integrasi dengan berbagai layanan cloud

Dengan menggunakan EMQX Cloud, pengembang dapat lebih fokus pada pengembangan aplikasi IoT tanpa harus mengelola infrastruktur broker.

Arsitektur Dasar MQTT

Sebelum masuk ke tutorial, penting memahami konsep komunikasi MQTT.

Dalam MQTT terdapat tiga komponen utama:

1. Publisher

Perangkat atau aplikasi yang mengirimkan pesan ke broker.

2. Subscriber

Perangkat atau aplikasi yang menerima pesan dari broker.

3. Broker

Server yang bertugas mendistribusikan pesan dari publisher ke subscriber.

Model komunikasi MQTT:

Publisher → Broker → Subscriber

Pesan yang dikirim memiliki topic, dan subscriber hanya menerima pesan yang sesuai dengan topic yang dilangganinya.

Contoh topic MQTT:

sensor/temperature
home/livingroom/light
factory/machine1/status

Langkah 1 — Registrasi Akun EMQX Cloud

Langkah pertama adalah membuat akun pada platform EMQX Cloud. Buka halaman https://www.emqx.com/ lalu klik Start Free kemudian pilih yang Serverless.

Proses registrasi dapat dilakukan dengan beberapa metode login:

  • Email dan password
  • GitHub
  • Google account

Pada tutorial ini digunakan metode Login menggunakan Google.

Setelah proses autentikasi berhasil, pengguna akan diminta mengisi informasi tambahan seperti:

  • Nama
  • Perusahaan
  • Negara
  • Nomor telepon

Informasi ini digunakan untuk konfigurasi akun EMQX Cloud.

Langkah 2 — Membuat Project EMQX Cloud

Setelah login berhasil, pengguna akan diarahkan ke EMQX Cloud Console.

Langkah selanjutnya adalah membuat Project.

Project berfungsi sebagai workspace untuk mengelola resource seperti:

  • MQTT broker
  • data pipeline
  • monitoring
  • database integrasi

Contoh konfigurasi project:

Project Name : SMART X
Note : In Harmonia Progressio

Langkah 3 — Deployment MQTT Broker

Setelah project dibuat, langkah berikutnya adalah membuat deployment broker MQTT.

EMQX Cloud menyediakan beberapa tipe deployment:

Serverless

Cocok untuk development dan testing.

Dedicated Flex

Cluster MQTT khusus untuk kebutuhan produksi.

BYOC (Bring Your Own Cloud)

Deployment pada cloud milik pengguna.

Pada tutorial ini digunakan konfigurasi:

Plan     : Serverless
Region : Asia-Pacific
Sessions : 1000
Protocol : MQTT over TLS

Setelah deployment selesai, EMQX Cloud akan menyediakan endpoint koneksi broker.

Contoh endpoint:

mqtts://xxxxxxxx.ala.asia-southeast1.emqxsl.com

Port yang digunakan:

8883  → MQTT TLS
8084 → MQTT WebSocket

Langkah 4 — Konfigurasi Authentication dan Authorization

Untuk meningkatkan keamanan broker, EMQX menyediakan fitur Access Control.

Authentication

Digunakan untuk memverifikasi identitas client.

Contoh konfigurasi:

Username : sandimulyadi
Password : ********

Authorization

Digunakan untuk mengatur hak akses client terhadap topic tertentu.

Contoh rule:

Topic      : EL5183/TOPIC
Permission : Allow
Action : Publish & Subscribe

Dengan konfigurasi ini hanya client yang memiliki kredensial tersebut yang dapat mengakses topic tersebut.

Langkah 5 — Uji Client MQTT menggunakan MQTTX

Untuk menguji koneksi MQTT broker digunakan aplikasi client:

MQTTX (klik untuk menuju halaman download)

MQTTX adalah tool open-source yang memudahkan pengujian publish dan subscribe MQTT.

Konfigurasi koneksi

Host     : xxxxxxxx.ala.asia-southeast1.emqxsl.com
Port : 8883
ClientID : smsrv_desktop
Username : sandimulyadi
Password : ********
TLS : Enabled

Membuat Subscription

Topic yang digunakan:

EL5183/TOPIC

QoS level:

QoS 1 (At least once)

Publish pesan

Contoh payload JSON:

{
"hello": "world"
}

Ketika pesan dipublish, subscriber akan menerima pesan yang sama melalui broker.

Hal ini menunjukkan bahwa mekanisme publish–subscribe MQTT telah berjalan dengan baik.

Analisis Implementasi

Hasil eksperimen menunjukkan bahwa EMQX Cloud mampu menyediakan infrastruktur MQTT broker dengan deployment yang sangat cepat.

Beberapa keunggulan utama:

  1. Deployment broker hanya membutuhkan beberapa menit
  2. Mendukung keamanan TLS
  3. Sistem authentication dan authorization mudah dikonfigurasi
  4. Skalabilitas tinggi untuk sistem IoT

Pendekatan ini sangat cocok untuk:

  • prototyping IoT
  • smart home system
  • sensor monitoring
  • industrial IoT

Kesimpulan

EMQX Cloud merupakan solusi praktis untuk membangun sistem komunikasi IoT berbasis MQTT tanpa harus mengelola server broker sendiri.

Dengan mengikuti langkah-langkah dalam tutorial ini, pengguna dapat:

  1. Membuat akun EMQX Cloud
  2. Membuat project dan deployment broker
  3. Mengatur keamanan client
  4. Menguji komunikasi MQTT menggunakan MQTTX

Pendekatan ini memungkinkan pengembang membangun sistem IoT yang scalable, aman, dan mudah dikelola.

Referensi

  • Banks, A., & Gupta, R. (2014). MQTT Version 3.1.1 Specification. OASIS.
  • EMQX Team. (2026). EMQX Documentation. https://docs.emqx.com
  • Hunkeler, U., Truong, H., & Stanford-Clark, A. (2008). MQTT-S: A publish/subscribe protocol for Wireless Sensor Networks. IEEE.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Scroll to Top