Internet of Things
  • IoT DEVELOPMENT BOARD DSP-TECH
  • Kata Pengantar
  • Pengantar Internet of Things
  • Arsitektur Internet of Things
  • IoT Development Board [DSP-TECH]
  • Pengantar Microcontroller NodeMCU
  • Menyiapkan Lingkungan Pengembangan IoT Development Board
  • Membangun Aplikasi Microcontroller dengan NodeMCU
    • Projek Pergerakkan LED
    • Projek Layar OLED
    • Projek Aktuator Saklar Elektrik (Relay)
    • Projek Sensor Intesitas Cahaya
    • Projek Sensor Suhu & Kelembaban
    • Projek Sensor Jarak Penghalang Ultrasonic
    • Projek Sensor Remote IR (Inframerah)
    • Projek Aktuator FAN (Kipas) Mode PWM
  • Komunikasi MCU dan Browser Internet (Primitive Way)
  • Kendali Jarak Jauh Menggunakan Protokol SOCKET TCP/IP
    • Projek Aplikasi Microcontroller NodeMCU & PHP (Internet Browser)
    • Projek Aplikasi Microcontroller NodeMCU & C# Desktop
    • Projek Aplikasi Microcontroller NodeMCU & Java Swing
    • Projek Aplikasi Microcontroller NodeMCU & Android
    • IoT Smart Device
  • Membangun Aplikasi IoT Development Board Pada Arsitektur IoT Pihak Ketiga
    • Module IoT Development Board dan Blynk
      • Pendahuluan IoT Dashboard Pihak Ketiga
      • Server Blynk Pada Komputer Server
      • Server Blynk Pada Raspberry Pi 3 (atau di atasnya)
      • Instalasi Client Blynk pada Android
      • Monitoring & Controlling Blynk Android
      • Kode Program IoT Dev. Board Untuk Blynk
    • Module IoT Development Board dan Thingsboard
      • Instalasi Thingsboard pada Ubuntu
      • Manajemen Dan Konfigurasi Thingsboard
  • Membangun Aplikasi IoT "Create from Scratch"
    • Instalasi & Konfigurasi Message Broker MQTT Mosquitto
    • Mengkomunikasikan Antara IoT Development Board Dengan Message Broker Mosquitto
    • Aplikasi Web IoT Dashboard
  • Aplikasi IoT & C#.NET Desktop
  • Implementasi IoT Pada EC2 Cloud AWS
    • Node-Red pada EC2 AWS
      • Pengantar Node-Red pada EC2 Cloud AWS
      • Instalasi dan Konfigurasi Awal Node-Red
      • Mengenal Interface pada Node-Red
      • Memanfaatkan widget interface Node-Red
    • Message Broker MQTT pada EC2 AWS
      • Installasi dan Konfigurasi Message Broker MQTT
      • Pengujian Message Broker
        • Basis Console
        • Basis Windows, MQTTBOX / MQTT Explorer
      • Konfigurasi Message Broker MQTT pada Node-RED
    • Implementasi Aplikasi IoT
      • Pengembangan Aplikasi Publisher/Subscriber pada Smart Device/MCU
      • Menghubungkan Smart Device dengan Node-RED
  • Referensi
  • Biografi Penulis
Powered by GitBook
On this page
  • Pengantar
  • Instalasi Message Broker MQTT Mosquitto
  • Instalasi Aplikasi MQTT Client Tools
  • Instalasi & Konfigurasi MQTT Explorer
  • Instalasi & Konfigurasi MQTTBox
  • Konfigurasi User & Password Akses Message Broker Mosquitto
  • Konfigurasi Akses Service Message Broker Mosquitto Secara Remote
  • Konfigurasi File mosquitto.conf
  • Firewall Rule Aplikasi mosquitto.exe
  • Firewall Rule Port
  • Mengakses Message Broker Secara Remote

Was this helpful?

  1. Membangun Aplikasi IoT "Create from Scratch"

Instalasi & Konfigurasi Message Broker MQTT Mosquitto

Instalasi & konfigurasi Message Broker Mosquitto

PreviousMembangun Aplikasi IoT "Create from Scratch"NextMengkomunikasikan Antara IoT Development Board Dengan Message Broker Mosquitto

Last updated 3 years ago

Was this helpful?

Pengantar

Seperti dijelaskan pada bagian sebelumnya, bahwa di dalam konsep client-server, message broker merupakan entitas tersendiri yang berjalan pada protokol TCP/IP, ia bertindak sebagai server message yang melayani client message dengan konsep publish/subscribe dan topic.

Terdapat beberapa protokol message broker yang bisa digunakan, misalnya AMQP, CoAP, EMQ, MQTT dan lain-lain. Namun pada kesempatan ini kita akan menggunakan message broker MQTT, dimana secara defacto message broker MQTT banyak diimplementasikan pada saat ini.

Instalasi Message Broker MQTT Mosquitto

Pilih file mosquitto yang sesuai dengan mesin Anda untuk di-download

Lakukan instalasi message broker MQTT Mosquitto sesuai tahapan berikut

Lakukan pengujian apakah Mosquitto telah terinstall dan berfungsi benar, dengan cara masuk ke window command sebagai Administrator

Kemudian jalankan service message broker MQTT Mosquitto dengan perintah berikut net start mosquitto. Jika diperoleh pesan "The Mosquitto service was started successfully", berarti instalasi mosquitto sukses dan siap digunakan.

Instalasi Aplikasi MQTT Client Tools

Aplikasi MQTT Client Tools berguna untuk menguji apakah transmisi data (baik publisher /subscriber dan topic) antara device dan message broker bekerja dengan benar. Hal ini akan mempersempit tingkat kesalahan bila arsitektur yang dibangun melibatkan perangkat embedded system.

Ada 2 aplikasi MQTT Client Tools yang direkomendasikan, yaitu:

Instalasi & Konfigurasi MQTT Explorer

Buat koneksi baru antara MQTT Explorer dan Message Broker Mosquitto dengan kofigurasi berikut:

  • Name : MQTT Local Host

  • Protocol: mqtt://

  • Host: localhost

  • Port: 1883 (default)

  • Username: <kosong>

  • Password: <kosong>

Kemudian klik tombol CONNECT untuk memastikan koneksi dengan mosquito terjalin. Jika tidak ada masalah lanjutkan dengan klik tombol SAVE.

Instalasi & Konfigurasi MQTTBox

Instalasi dan konfigurasi MQTTBox serupa dengan cara sebelumnya

Isikan konfigurasi MQTTBox, kemudian klik tombol Save.

  • MQTT Client Name: MQTT Broker Workshop

  • Protocol: mqtt/tcp

  • Host: localhost:1883

  • Username: <kosong> default

  • Password: <kosong> default

Jika tidak terjadi masalah koneksi dengan mosquitto berarti semua berjalan normal.

Konfigurasi User & Password Akses Message Broker Mosquitto

Pada bagian ini kita akan mengkonfigurasi message broker mosquitto dengan tambahan keamanan user dan password. Serta konfigurasi agar message broker mosquitto dapat diakses remote oleh perangkat jarak jauh pada jaringan lokal.

Buka aplikasi editor Notepad++ sebagai Administrator untuk membuat user dan password untuk di hashing.

Buat teks berisi user:password misalnya AdminMQTT:pwd123, kemudian simpan file tanpa disertai tipe file dengan nama password. Dalam kasus komputer saya, letakkan file di C:\Program Files\mosquitto

Lakukan hashing terhadap file password tersebut dengan perintah pada command mosquitto_passwd -U password. Parameter "password" yang terakhir adalah nama file yang dibuat sebelumnya.

Untuk membuktikann apak password telah di-hashing, silahkan buka kembali file password yang berada di C:\Program Files\mosquitto dengan editor Notepad++.

Konfigurasi pada file mosquitto.conf yang semula

#allow_anonymous false

menjadi

allow_anonymous false

Pengujian akses service message broker mosquitto dengan user dan password dengan cara mengubah konfigurasi koneksi pada MQTTBox. Isikan parameter berikut:

  • Host: localhost:1883 atau 192.168.0.101:1883

  • Username: AdminMQTT

  • Password: pwd123

Anda juga mengakses service message broker mosquitto menggunakan host alamat IP, dalam hal ini adalah 192.168.0.101

Jika koneksi antara MQTT Client (MQTTBox) dan MQTT Broker (mosquitto), saatnya sekarang membuat entitas publisher yang dibernama dht. kolom payload adalah data yang dikirim ke message broker mosquitto.

Subscriber adalah sisi yang meminta me-request data ke publisher, tentunya melalui jembatan message broker yang bertindak sebagai manajer lalu lintas data antara subscriber dan publisher.

Nama topic antara subscriber dan publisher harus sesuai agar komunikasi keduanya bisa terjalin. Sebagai contoh nama topic subsciber adalah dht (sama dengan topic pada publisher).

Ketika tombol publish dipilih, maka data pada kolom payload akan dikirim ke subscriber dengan topic dht.

Konfigurasi Akses Service Message Broker Mosquitto Secara Remote

Banyak kasus ditemui bahwa komunikasi antara Client MQTT dan Broker MQTT berada pada mesin berbeda. Misalnya sisi client menggunakan perangkat Embedded System, sedangkan Message Broker berada di laptop.

Di sini kita perlu mengkonfigurasi MQTT Message Broker Mosquitto terlebih dahulu agar dapat diakses oleh client-client secara remote dalam satu network.

Konfigurasi File mosquitto.conf

Pertama dilakukan adalah mengkonfigurasi file mosquitto.conf yang berada di folder C:\Program Files\mosquitto dengan aplikasi editor Notepad++.

Cek alamat IP komputer lokal Anda dimana aIP Listener Message Broker Mosquitto berada. Gunakan perintah ipconfig pada window command yang akan bertindak. Dalam kasus laptop saya adalah 192.168.0.101.

Selanjutnya lakukan perubahan terhadap 4 parameter pada mosquitto.conf:

  • listener 1883 192.168.0.101

  • listener 1883 localhost

  • protocol mqtt

  • allow_anonymous false

  • password_file C:\Program Files\mosquitto\password

Menghentikan dan me-restart ulang service message broker dengan command sebagai berikut:

  • net stop mosquitto

  • net start mosquitto

Firewall Rule Aplikasi mosquitto.exe

Tujuan konfigurasi firewall dengan rule aplikasi agar layanan message broker mosquitto tidak diblokir oleh firewall windows defender.

Firewall Rule Port

Konfigurasi firewall dengan rule port bertujuan agar firewall windows defender memberi izin message broker mosquitto dengan port 1883 dapat diakses dari luar.

Terdapat dua jenis rule port yang harus dikofigurasi, yaitu:

  • Port - Inbound Rule

  • Port - Outbound Rule

Konfigurasi Port Inbound Rule

Konfigurasi Port Outbound Rule

Dengan cara serupa dengan inbound rule, ikuti langkah-langkah berikut untuk membentuk port outbound rule

Mengakses Message Broker Secara Remote

Setelah semua konfigurasi dijalankan, saatnya kita menguji coba message broker secara remote. Sebagai bahan percobaan akan kita gunakan aplikasi Android MQTT Client bernama MyMQTT. Silahkan download aplikasi tersebut melalui Google Play Store.

Sesuaikan konfigurasi koneksi pada MyMQTT, dimana alamat IP Message Broker adalah 192.168.0.101. Hal ini tentu harus disesuaikan dengan alamat IP Anda masing-masing.

Sesuaikan dengan nama user dan password message broker dengan setting sebelumnya, dimana user adalah AdminMQTT dan password adalah pwd123.

Setelah memilih tombol Save akan muncul notifikasi bahwa koneksi sukses, artinya koneksi antara MyMQTT Android dan Message Broker Mosquitto sukses terjalin.

Selanjutnya pilih menu publish, yang akan mengirim data (payload) dari MyMQTT Android ke message broker mosquitto.

Sebagai contoh, kita akan mengirim data string "kirim dari andoid", kemudian pilih tombol Publish.

Sekarang cek kembali MQTT client pada MQTTBox. Pada bagian box Subscriber dengan topic dht akan diterima data string berupa tulisan "kirim dari Android".

Sampai di sini kita telah memahami bagaimana cara mengkomunikasikan antara MQTT Client dan MQTT Broker, bagaimana teknik instalasi dan konfigurasi message broker, baik bekerja secara lokal maupun remote, bagaimana cara kerja subscriber dan publisher, dan topic.

Untuk mengkases message broker secara remote, pastikan bahwa perangkat antara message broker dan perangkat message client berada dalam satu network.

Di beberapa jenis produk message broker disertai dengan mekanisme routing queue (antrian) dengan berbagai jenis model broadcast message seperti yang terdapat pada .

Pada bagian ini kita akan menginstalasi dan mengkonfigurasi message broker MQTT dengan konfigurasi minimal. Salah satu message broker MQTT yang populer adalah Mosquitto. Anda dapat men-downloadnya di atau .

MQTTBox, silahkan download

MQTT Explorer, silahkan download MQTT Explorer di atau .

Saya asumsikan bahwa file diperleh dari maka tahap instalasinya adalah sebagai berikut

RabbitMQ
https://mosquitto.org/download/
download di sini
MQTTBox di sini
http://mqtt-explorer.com
download di sini
http://mqtt-explorer.com
Arsitektur Message Broker Secara Umum
Arsitektur Message Broker Pada Cloud AWS
Arsitektur Message Broker Pada MQTT
Download File Mosquitto
Klik dua kali pada file mosquitto-2.0.10-install-windows-x64
Pilih tombol Next
Pilih tombol Next
Sesuaikan penempatan path bila perlu, kemudian klik tombol Next
Pilih tombol Finish
Masuk Command sebagai Administrator
Download MQTT Explorer
Klik 2x pada file MQTT Explorer
Proses Instalasi MQTT Explorer
Konfigurasi MQTT Explorer dengan Mosquitto Lokal Server
MQTT Explorer Terhubung Dengan Mosquitto
Klik 2x pada file MQTTBox-win
Proses Instalasi
Membuat Koneksi ke Mosquitto, Klik tombol "Create MQTT Client"
Membuka aplikasi Notepad++ sebagai Administrator
Buat file password yang berisi user:password
Simpan file password
Hashing password dari file password
Membuka file password
Hasil Hashing password Mosquitto
Akses mosquitto dengan user, password dan localhost
Akses mosquitto dengan user, password dan ip:192.168.0.101:1883
Menambahkan Publisher
Menambahkan Subscriber
Hasil komunikasi antara publisher dan subscriber
Buka file konfigurasi mosquitto.conf
Melihat alamat IP Mosquitto
Salah satu contoh perubahan paramater konfigurasi mosquitto
Stop dan start service message broker mosquitto
Buka service firewall dengan menuliskan firewall.cpl
Pilih menu Allow an app or feature through Windows Defender Firewall
Pilih button Allow another app
Pilih tombol Browse untuk memilih aplikasi mosquitto
Pilih file mosquitto pada C:\Program Files\mosquitto
Setelah masuk daftar pilih tombol OK
Buka layana firewall
Pilih Inbound Rules dan New Rules
Pilih Port kemudian klik tombol Next
Pilih Specific local Port dan isikan 1883
Pilih Allow the connection
Beri tanda centang pada semua pilihan
Beri nama rule dan sertakan deksripsi rule
Konfigurasi port outbound rule
Pilih Port
Menentukan port 1883
Mengizinkan semua koneksi untuk port 1883
Mengaplikasikan izin port 1883 untuk domain, private, dan public
Memberi nama rule dan deskripsi rule
Pilih menu Settings
Konfigurasi Koneksi