Difference between revisions of "MQTT: install di Ubuntu 18.04"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
apt update | apt update | ||
locale-gen id_ID.UTF-8 | locale-gen id_ID.UTF-8 | ||
− | apt- | + | apt -y install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc |
Tambahkan mosquitto user, karena secara default berjalan sebagai non-root. | Tambahkan mosquitto user, karena secara default berjalan sebagai non-root. | ||
Line 27: | Line 27: | ||
Download, extraxt, compile & install, | Download, extraxt, compile & install, | ||
− | wget https://mosquitto.org/files/source/mosquitto-1. | + | wget https://mosquitto.org/files/source/mosquitto-1.5.8.tar.gz |
− | tar | + | tar zxvf mosquitto-1.5.8.tar.gz |
− | cd mosquitto-1. | + | cd mosquitto-1.5.8/ |
make && sudo make install | make && sudo make install | ||
Line 36: | Line 36: | ||
Pada dasarnya mosquitto memungkinkan anonymous access. | Pada dasarnya mosquitto memungkinkan anonymous access. | ||
− | Jika dibutuhkan, kita bisa membuat password untuk user mqtt-spy, | + | Jika dibutuhkan, kita bisa membuat password untuk user, misalnya, mqtt-spy, |
sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-spy | sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-spy | ||
Line 155: | Line 155: | ||
https://github.com/kamilfb/mqtt-spy/releases/download/mqtt-spy_v0.5.4/mqtt-spy-0.5.4-jar-with-dependencies.jar | https://github.com/kamilfb/mqtt-spy/releases/download/mqtt-spy_v0.5.4/mqtt-spy-0.5.4-jar-with-dependencies.jar | ||
https://github.com/eclipse/paho.mqtt-spy/releases/download/1.0.0/mqtt-spy-1.0.0.jar | https://github.com/eclipse/paho.mqtt-spy/releases/download/1.0.0/mqtt-spy-1.0.0.jar | ||
+ | https://codeload.github.com/eclipse/paho.mqtt-spy/zip/master | ||
download | download |
Latest revision as of 09:30, 14 November 2019
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 -y 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.5.8.tar.gz tar zxvf mosquitto-1.5.8.tar.gz cd mosquitto-1.5.8/ make && sudo make install
Konfigurasi Mosquitto MQTT Server
Pada dasarnya mosquitto memungkinkan anonymous access.
Jika dibutuhkan, kita bisa membuat password untuk user, misalnya, 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. Untuk percobaan bisa membuat
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
Set supaya mosquitto jalan saat boot,
sudo systemctl enable mosquitto.service
Cek status
systemctl status mosquitto.service
Hasilnya kira-kira,
● mosquitto.service - Insite MQTT Broker Loaded: loaded (/etc/systemd/system/mosquitto.service; enabled; vendor preset: enabled) Active: active (running) since Sab 2017-05-20 08:18:28 WIB; 1h 5min ago Main PID: 751 (mosquitto) Tasks: 1 (limit: 512) Memory: 2.8M CPU: 6.170s CGroup: /system.slice/mosquitto.service └─751 /usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf Mei 20 08:18:30 refserver mosquitto[751]: 1495243110: Config loaded from /etc/mosquitto/mosquitto.conf. Mei 20 08:18:30 refserver mosquitto[751]: Config loaded from /etc/mosquitto/mosquitto.conf. Mei 20 08:18:30 refserver mosquitto[751]: 1495243110: Opening ipv4 listen socket on port 1883. Mei 20 08:18:30 refserver mosquitto[751]: Opening ipv4 listen socket on port 1883. Mei 20 08:18:30 refserver mosquitto[751]: 1495243110: Opening ipv6 listen socket on port 1883. Mei 20 08:18:30 refserver mosquitto[751]: Opening ipv6 listen socket on port 1883. Mei 20 08:48:30 refserver mosquitto[751]: 1495244910: Saving in-memory database to /var/lib/mosquitto/mosquitto.db. Mei 20 08:48:30 refserver mosquitto[751]: Saving in-memory database to /var/lib/mosquitto/mosquitto.db. Mei 20 09:18:31 refserver mosquitto[751]: 1495246711: Saving in-memory database to /var/lib/mosquitto/mosquitto.db. Mei 20 09:18:31 refserver mosquitto[751]: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
Setup MQTT-Spy dan connnecting
Instalasi apps pendukung
apt update apt install openjfx
Instalasi Java
sudo add-apt-repository ppa:webupd8team/java -y sudo apt update sudo apt install oracle-java8-installer
Install
sudo apt install oracle-java8-set-default
Cek
java -version
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 https://github.com/eclipse/paho.mqtt-spy/releases/download/1.0.0/mqtt-spy-1.0.0.jar https://codeload.github.com/eclipse/paho.mqtt-spy/zip/master
download
cd /usr/local/src wget https://github.com/kamilfb/mqtt-spy/releases/download/mqtt-spy_v0.5.4/mqtt-spy-0.5.4-jar-with-dependencies.jar wget https://github.com/eclipse/paho.mqtt-spy/releases/download/1.0.0/mqtt-spy-1.0.0.jar
Menjalankan sebagai user biasa, dengan
cd /usr/local/src java -jar mqtt-spy-0.5.4-jar-with-dependencies.jar java -jar mqtt-spy-1.0.0.jar
Langkah yang perlu dilakukan
- Klik new connection, masukan IP server (misalnya 192.168.0.100)
- Kalau anonymous tidak di ijinkan, masukan username & password, untuk percobaan mqtt-spy 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
Referensi