Update 08.02.2021
Считано от 8 февруари 2021г темата е неактуална и касае MQTT Broker Mosquitto 1.X в Ubuntu 16.04 LTS.Ubuntu Desktop 16.04 LTS
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt update
sudo apt install mosquitto
sudo apt install mosquitto-clients
mosquitto -d
sudo systemctl enable mosquitto.service
sudo service mosquitto status
sudo /etc/init.d/mosquitto start
sudo reboot
sudo service mosquitto status

sudo /etc/init.d/mosquitto stop
# sudo service stop mosquitto
sudo nano /etc/mosquitto/mosquitto.conf

Всичко по подразбиране и край на инсталацията. В десктоп версията идеята е да се ползва предимно клиент.
Ubuntu Server 16.04 LTS
Всички стъпки на инсталацията за десктоп се повтарят в конзолата на сървъра.Коментар на последните два реда и добавка на нови:
log_dest topic log_type error log_type warning log_type notice log_type information connection_messages true log_timestamp true include_dir /etc/mosquitto/conf.dРезултат.

sudo /etc/init.d/mosquitto start
# sudo service start mosquitto
sudo mosquitto_passwd -c /etc/mosquitto/passwd majordomo

sudo nano /etc/mosquitto/conf.d/default.conf
allow_anonymous false password_file /etc/mosquitto/passwd
Тест на брокера
Проверка на авторизация.mosquitto_pub -h localhost -t "test" -m "Hello"

Отварят се едновременно два терминала към сървъра.
Терминал 2
Абонамент към тема test:
mosquitto_sub -h localhost -t "test" -u "user" -P "password"
Публикуване на съобщение в тема test:
mosquitto_pub -h localhost -t "test" -m "Hello" -u "user" -P "password"
Терминал 2
Съобщението (Hello) публикувано в Терминал 1 пристига в Терминал 2

Отлично! Работи!
Update 14.03.2020
Но не! При нов старт/рестарт на Ubuntu-сървър намирах брокерa неактивен и се налагаше ръчно да го ръгам.sudo nano /etc/mosquitto/mosquitto.conf
# Place your local configuration in /etc/mosquitto/conf.d/ # # A full description of the configuration file is at # /usr/share/doc/mosquitto/examples/mosquitto.conf.example pid_file /var/run/mosquitto.pid persistence true persistence_location /var/lib/mosquitto/ log_dest file /var/log/mosquitto/mosquitto.log log_type all allow_anonymous false password_file /etc/mosquitto/passwd
sudo nano /lib/systemd/system/mosquitto.service
[Unit] Description=Mosquitto MQTT v3.1/v3.1.1 Broker Documentation=man:mosquitto.conf(5) man:mosquitto(8) ConditionPathExists=/etc/mosquitto/mosquitto.conf After=xdk-daemon.service [Service] ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf ExecReload=/bin/kill -HUP $MAINPID User=mosquitto Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.targetРестарт. Проверка на статуса и резултат.

Тест на брокера

IP 192.168.1.110 публикува в тема "Test" съобщение "ОК" два пъти към брокера.
IP 192.168.1.149 e Broker Mosquitto. Оторизация 'majordomo' и парола '12345'.
IP 192.168.1.104 e абонат на тема "Test" и получава два пъти съобщение "ОК".

Отлично! Работи като по учебник!

0 Response to "MQTT Broker Mosquitto в Ubuntu 16.04 LTS"
Публикуване на коментар