MQTT: install di Ubuntu 16.04
sumber: http://linoxide.com/tools/setup-mosquitto-mqtt-server-ubuntu-16-04/
Mosquitto MQTT Server adalah message broker yang bekerja di atas protokol MQTT. MQTT adalah protokol messaging ringan yang standar ISO untuk digunakan di atas protokol TCP/IP. Hal ini banyak digunakan untuk berkomunikasi dengan perangkat Internet of Things. Kami akan menginstal Mosquitto di server Ubuntu 16.04 dan kami akan mengirim pesan dari perangkat lunak MQTT-spy. Mosquitto adalah proyek Eclipse dan didistribusikan dengan lisensi EDL. Jadi mari kita mulai.
Kompilasi server Mosquitto MQTT dari sumber
Instalasi aplikasi pendukung,
sudo su apt update locale-gen id_ID.UTF-8 apt-get install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc
Tambahkan mosquitto user, karena secara default berjalan sebagai non-root.
adduser mosquitto
Untuk memudahkan beri sudo rights ke user ini, karena kita akan melakukan proses instalasi dengan user ini.
usermod -aG sudo mosquitto
Login sebagai mosquitto
su mosquitto cd
Download, extraxt, compile & install,
wget https://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz tar xvzf mosquitto-1.4.9.tar.gz cd mosquitto-1.4.9/ make && sudo make install
Konfigurasi Mosquitto MQTT Server
Pada dasarnya mosquitto memungkinkan anonymous access.
Jika dibutuhkan, kita bisa membuat password untuk user mqtt-spy,
sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-spy
masukan password untuk mqtt-spy user yang akan digunakan untuk connect dari client. JIka masih belajar ada baiknya password 123456. Kita perlu menambahkan ijin ke mosquitto user pada directory yang relevan.
sudo mkdir /var/lib/mosquitto/ sudo chown -R mosquitto:mosquitto /var/lib/mosquitto/
Buat file konfigurasi Mosquitto MQTT Server,
sudo nano /etc/mosquitto/mosquitto.conf
Isi dengan
persistence true persistence_location /var/lib/mosquitto/ persistence_file mosquitto.db log_dest syslog log_dest stdout log_dest topic log_type error log_type warning log_type notice log_type information connection_messages true log_timestamp true allow_anonymous true password_file /etc/mosquitto/pwfile
Setelah config di simpan, jalankan ldconfig
sudo ldconfig
Tambahkan systemd unit file
sudo nano /etc/systemd/system/mosquitto.service
Isi dengan
[Unit] Description=Insite MQTT Broker [Service] ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf Restart=always [Install] WantedBy=multi-user.target
Jalankan
Jalankan
sudo systemctl start mosquitto.service
Cek status
systemctl status mosquitto.service
Set supaya mosquitto jalan saat boot,
sudo systemctl enable mosquitto.service
Setup MQTT-Spy dan connnecting
MQTT-Spy adalah Java based client untuk menyambungkan diri ke MQTT server. MQTT-Spy bisa di ambil di
https://github.com/eclipse/paho.mqtt-spy/wiki/Downloads https://github.com/kamilfb/mqtt-spy/releases/download/mqtt-spy_v0.5.4/mqtt-spy-0.5.4-jar-with-dependencies.jar
Menjalankan dengan
java -jar mqtt-spy-0.5.4-jar-with-dependencies.jar
Langkah yang perlu dilakukan
- Klik new connection, masukan IP server (misalnya 192.168.0.100)
- Masukan username & password, untuk percobaan mqtt-spt 123456
- masuk ke salah satu topik misalnya "lampu"
Buka terminal di server, ketik misalnya,
mosquitto_sub -v -t 'lampu' -u mqtt-spy -P 123456
dimana
-v verbosity -t topik yang di ikuti
coba ketik dari aplikasi java misalnya on, akan keluar
mosquitto_sub -v -t 'lampu' -u mqtt-spy -P 123456 lampu ON lampu ON lampu ON lampu ON lampu ON lampu ON lampu ON