Difference between revisions of "MQTT: install di Ubuntu 16.04"
Onnowpurbo (talk | contribs)  | 
				Onnowpurbo (talk | contribs)   | 
				||
| (23 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
Instalasi aplikasi pendukung,  | Instalasi aplikasi pendukung,  | ||
| + |  sudo su  | ||
  apt update  |   apt update  | ||
| − |   apt  | + |  locale-gen id_ID.UTF-8  | 
| + |   apt 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 25: | 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.gz  | 
| − |   tar xvzf mosquitto-1.  | + |   tar xvzf mosquitto-1.5.tar.gz  | 
| − |   cd mosquitto-1.  | + |   cd mosquitto-1.5/  | 
  make && sudo make install  |   make && sudo make install  | ||
==Konfigurasi Mosquitto MQTT Server==  | ==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  |   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 mkdir /var/lib/mosquitto/  | ||
| Line 59: | Line 64: | ||
  connection_messages true  |   connection_messages true  | ||
  log_timestamp true  |   log_timestamp true  | ||
| − |   allow_anonymous   | + |   allow_anonymous true  | 
  password_file /etc/mosquitto/pwfile  |   password_file /etc/mosquitto/pwfile  | ||
| − | + | Atau kalau mau aman  | |
| + | |||
| + |  cd /etc/mosquitto  | ||
| + |  cp mosquitto.conf.example mosquitto.conf  | ||
| + | |||
| − | + | Setelah config di simpan, jalankan ldconfig  | |
  sudo ldconfig  |   sudo ldconfig  | ||
| Line 84: | Line 93: | ||
  WantedBy=multi-user.target  |   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-get install openjfx  | |
| − | |||
| − | MQTT-Spy   | + | MQTT-Spy adalah Java based client untuk menyambungkan diri ke MQTT server.    | 
| + | MQTT-Spy bisa di ambil di   | ||
| − |   mqtt spy  | + |   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  | ||
| − | + | download  | |
| − |   mqtt   | + |   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  | ||
| − | + | 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)  | |
| + | * Kalau anonymous tidak di ijinkan, 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  | ||
==Referensi==  | ==Referensi==  | ||
* http://linoxide.com/tools/setup-mosquitto-mqtt-server-ubuntu-16-04/  | * http://linoxide.com/tools/setup-mosquitto-mqtt-server-ubuntu-16-04/  | ||
| + | |||
| + | |||
| + | ==Pranala Menarik==  | ||
| + | |||
| + | * [[MQTT]]  | ||
Latest revision as of 15:41, 11 May 2018
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 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.gz tar xvzf mosquitto-1.5.tar.gz cd mosquitto-1.5/ 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
Atau kalau mau aman
cd /etc/mosquitto cp mosquitto.conf.example mosquitto.conf
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-get install openjfx
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
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
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)
 - Kalau anonymous tidak di ijinkan, 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
Referensi