Profruit banner

Умен звънец в openHAB

16 декември 2023

Телефонът е винаги с мен и сега, където и да се намирам получавам известие от openHAB, че някой е позвънил и чака пред вратата. А ако ме няма вкъщи става ясно часа и датата на последното позвъняване.

Tasmota Multipress

30 септември 2023

Идеята е Sonoff Touch T1 US 2 в салона, да управлява освен своето осветление и това в кухнята, а още вентилатора.

DIY 12V 1A WiFi Router UPS

22 април 2023

При поредно прекъсване на захранването вкъщи, батерията на нoтбука и двата UPS автоматично превключват на аварийно захранване и едновременно полита съобщение за конфуза

Zigbee2MQTT клониране

21 януари 2023

... как да клонираме съществуваща настройка на Zigbee2MQTT без да се налага последвало интервю на zigbee-устройствата.

LD2410 - бюджетен датчик присъствие в openHAB

11 февруари 2023

Цената на HLK-LD2410 зададе име на поредната тема в моя блог. С негова помощ се постига "народен" датчик присъствие в домашната автоматизация. . ...

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
## активация на MQTT-сървър
mosquitto -d
sudo systemctl enable mosquitto.service
sudo service mosquitto status
Отговор: no active
## старт на демона заедно с системата
sudo /etc/init.d/mosquitto start
sudo reboot
# нова проверка за активност.
sudo service mosquitto status
mosquitto active
## спиране на MQTT-сървър
sudo /etc/init.d/mosquitto stop
# sudo service stop mosquitto
## конфигуриране на MQTT-сървър
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
Резултат.

mosquitto.conf
## пуск на MQTT-сървър
sudo /etc/init.d/mosquitto start
# sudo service start mosquitto
## задаване парола на $USER за достъп до MQTT
sudo mosquitto_passwd -c /etc/mosquitto/passwd majordomo
парола на $USER за достъп до MQTT
## само авторизиран вход
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:
## абонамент към тема test
mosquitto_sub -h localhost -t "test" -u "user" -P "password"
Терминал 1
Публикуване на съобщение в тема test:
## публикация на съобщение от топик test
mosquitto_pub -h localhost -t "test" -m "Hello" -u "user" -P "password"

Терминал 2
Съобщението (Hello) публикувано в Терминал 1 пристига в Терминал 2

MQTT Broker Mosquitto в Ubuntu Server 16.04 LTS

Отлично! Работи!

Update 14.03.2020

Но не! При нов старт/рестарт на Ubuntu-сървър намирах брокерa неактивен и се налагаше ръчно да го ръгам.
## конфигуриране на MQTT-сървър
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
## редакция на mosquitto.service
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" и получава два пъти съобщение "ОК".

абонат на тема

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





до нови срещи   ^.^
19.09.2018 profruit 

0 Response to "MQTT Broker Mosquitto в Ubuntu 16.04 LTS"

Публикуване на коментар

Този блог е реинкарнация на първите ми опити за споделяне в нета. На времето започнах с къси разкази на преживяното. После се обезсмисли и превърнах блога си в системно радио. Пиша единствено неща, които карат душата ми да живее: openHAB, Ubuntu, Споделено и т.н. Това е моето системно радио, разбирате ли? Моята вълна и вие сте на нея сега.

Архив на блога