Difference between revisions of "MQTT: install di Ubuntu 20.04"

From OnnoWiki
Jump to navigation Jump to search
Line 126: Line 126:
 
  Mei 20 09:18:31 refserver mosquitto[751]: 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==
+
==Quick Test==
  
Instalasi apps pendukung
+
===Monitoring===
 
 
apt update
 
apt install openjfx
 
sudo apt install openjdk-8-jdk
 
 
 
Cek
 
 
 
java -version
 
 
 
 
 
 
 
MQTT-Spy adalah Java based client untuk menyambungkan diri ke MQTT server.
 
Download
 
 
 
cd /usr/local/src
 
wget https://github.com/eclipse/paho.mqtt-spy/releases/download/1.0.1-beta18/mqtt-spy-1.0.1-beta-b18-jar-with-dependencies.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,
 
Buka terminal di server, ketik misalnya,
  
  mosquitto_sub -v -t 'lampu' -u mqtt-spy -P 123456
+
  mosquitto_sub -v -t 'esp/test' -u mqtt-spy -P 123456
  
 
dimana
 
dimana
Line 169: Line 141:
 
coba ketik dari aplikasi java misalnya on, akan keluar
 
coba ketik dari aplikasi java misalnya on, akan keluar
  
  mosquitto_sub -v -t 'lampu' -u mqtt-spy -P 123456
+
  mosquitto_sub -v -t 'esp/est' -u mqtt-spy -P 123456
 
  lampu ON
 
  lampu ON
 
  lampu ON
 
  lampu ON
Line 177: Line 149:
 
  lampu ON
 
  lampu ON
 
  lampu ON
 
  lampu ON
 +
 +
 +
===Posting===
 +
 +
Kirim Perintah
 +
 +
mosquitto_pub -v -t 'esp/test' -u mqtt-spy -P 123456 -m "lampu ON"
 +
 +
  
 
==Referensi==
 
==Referensi==

Revision as of 09:01, 14 August 2020

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 20.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.6.10.tar.gz
tar zxvf mosquitto-1.6.10.tar.gz
cd mosquitto-1.6.10/
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.

Quick Test

Monitoring

Buka terminal di server, ketik misalnya,

mosquitto_sub -v -t 'esp/test' -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 'esp/est' -u mqtt-spy -P 123456
lampu ON
lampu ON
lampu ON
lampu ON
lampu ON
lampu ON
lampu ON


Posting

Kirim Perintah

mosquitto_pub -v -t 'esp/test' -u mqtt-spy -P 123456 -m "lampu ON"


Referensi


Pranala Menarik