Рестарт и пак рестарт, и нанайси тате мляко, кравата е ялова.
Настройката на Mosquitto 2.X в Ubuntu 16.04 LTS е различна от Mosquitto 1.X в Ubuntu 16.04 LTS. В моя случай тя се надгради и в краен резултат конфигурационните файлове имат следното съдържание.
/lib/systemd/system/mosquitto.service
[Unit] Description=Mosquitto MQTT Broker Documentation=man:mosquitto.conf(5) man:mosquitto(8) After=network.target Wants=network.target [Service] Type=notify NotifyAccess=main ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto ExecStartPre=/bin/chown mosquitto: /var/log/mosquitto ExecStartPre=/bin/mkdir -m 740 -p /var/run/mosquitto ExecStartPre=/bin/chown mosquitto: /var/run/mosquitto
persistence true persistence_location /var/lib/mosquitto/ log_dest file /var/log/mosquitto/mosquitto.log log_type all listener 1883 allow_anonymous false password_file /etc/mosquitto/passwd
allow_anonymous false password_file /etc/mosquitto/passwd
sudo mosquitto_passwd -c /etc/mosquitto/passwd openhab
[sudo] password for openhab: Password: Reenter password: systemctl restart mosquitto ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units === Authentication is required to restart 'mosquitto.service'. Authenticating as: openhab,,, (openhab) Password: ==== AUTHENTICATION COMPLETE ===
Команди
// верция mosquittomosquitto -h
mosquitto
1612790669: mosquitto version 2.0.7 starting 1612790669: Using default config. 1612790669: Starting in local only mode. Connections will only be possible from clients running on this machine. 1612790669: Create a configuration file which defines a listener to allow remote access.
// listen socket on port 1883
netstat -an | grep 1883
// start - stop - restart
sudo /etc/init.d/mosquitto start
sudo /etc/init.d/mosquitto stop
// publisher
mosquitto_pub -h 192.168.1.149 -t "test" -m "Hello World" -u "user" -P "password"
// subscriber
mosquitto_sub -h 192.168.1.149 -t 'test' -u "user" -P "password"
Tasmota - Mosquitto
WEB-страница за настрoйка на MQTT-клиента в Tasmota. Полетата са празни и следва да се запълнят.MQTT-адреса е IP адреса на брокера. Портът е по подразбиране.
Client и Topic за собствено улеснение задавам с общо име. Името трябва да е уникално в обхвата на брокера.
User и Password са зададените в /etc/mosquitto/passwd. Това е удостоверението на клиента пред брокера.
Full Topic добре дошъл от инсталацията на Tasmota. Не пипаме.
Екран на конзолата на Tasmota
При (ре)стартиране Tasmota прави опит за свързване с зададената Wi-Fi точка. След успех се сверява часовника с вградения NTP-сървър. Веднага след него рапортува за успешно вдигнат WEB-сървър.
Следва опит за свързване с брокера. При успех рапортува: MQT: connected.
MQT: Online (retained) идва от телеметрията и означава, че в интерфейса на openHAB ще се изобразява последното значение от клиента, дори при прекъснатo Wi-Fi съединение.
Следват служебни рапорти: версия, имена на Topic, причина за рестарта, имена на хоста и IP-адрес.
И всичко следващо ще бъдат рапорти на изпълнени команди дошли по WEB, от MQTT или въведени пряко в конзолата.
stat/garden/POWER e топикът, зададен в настройката на Tasmota преди. POWER = ON е съобщението, дошло от интерфейса на openHAB, което абонат Tasmota изпълнява.
Настройката на конкретния клиент в openHAB се задава в файл *.things.
Пример:
//................. ГРАДИНА ..................// // Капково Sonoff Basic R2 Thing mqtt:topic:irrigation "Капково" (mqtt:broker:644a0a87) { Channels:Type switch : switch "Power" [ stateTopic="stat/garden/POWER", commandTopic="cmnd/garden/POWER" ] }
до нови срещи ^.^
0 Response to "MQTT Broker Mosquitto 2.X в Ubuntu 16.04 LTS"
Публикуване на коментар