Menjadikan Raspberry Pi sebagai MQTT Broker (Mosquitto)
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 :
Restart mosquitto :
sudo service mosquitto restart
Menyemak mosquitto berjaya atau tidak :
sudo netstat -nlp | grep mosquitto
Jika wujud LISTEN to 1884 seperti gambar, bermaksud install mosquitto dengan websockets berjaya.