Menjadikan Raspberry Pi sebagai MQTT Broker (Mosquitto)

Published by faiz on

Sharing is caring!

Apa itu MQTT

MQTT atau nama panjangnya ialah MQ Telemetry Transport or Message Queue Telemetry Transport merupakan satu protokol yang dicipta berkomunikasi antara mesin ke mesin. Protokol ini ringan dan penggunaan data yang kurang menjadikan ia pilihan ramai.

Istilah-istilah yang perlu difahami dalam MQTT ialah:

  • Broker : bertindak sebagai server atau orang tengah dalam mengendalikan mesej
  • publish : menghantar mesej mengikut topic
  • subscribe :  perlu subcribe kepada topic yang untuk menerima mesej
  • topic : bertindak seperti alamat
  • mesej : data yang dihantar

Contonya, Device 2, Device 3 dan Device 4 subscribe kepada satu topic “test”. Apabila Device 1 publish mesej “Hello World” kepada topic “test”, Device 2, Device 3 dan Device 4 akan menerima mesej “Hello World” tersebut.

Install Mosquitto Broker

Mosquitto adalah open-source MQTT broker.

Pertama sekali jalankan arahan berikut untuk import repository package signing key:

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key

kemudian jalankan arahan berikut untuk muat turun list mosquitto:

cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list

Seterusnya update package:

sudo apt-get update

Arahan berikut untuk install Mosquitto:

sudo apt-get install mosquitto mosquitto-clients

Membenarkan Websocket :

sudo editor /etc/mosquitto/mosquitto.conf

di bahagian bawah sekali taip  :

listener 1883
listener 1884
protocol websockets

Hasilnya seperti gambar berikut :

mosquitto-websockets

mosquitto.conf

Restart mosquitto :

sudo service mosquitto restart

Menyemak mosquitto berjaya atau tidak :

sudo netstat -nlp | grep mosquitto
semak install mosquitto

semak install mosquitto

Jika wujud LISTEN to 1884 seperti gambar, bermaksud install mosquitto dengan websockets berjaya.

Sharing is caring!


Tinggalkan Balasan

Alamat e-mel anda tidak akan disiarkan. Medan diperlukan ditanda dengan *