Difference between revisions of "Automation - MQTT"
Line 1: | Line 1: | ||
*Proven on Mint [19.3] | *Proven on | ||
* | **Mint [19.3] | ||
* | **SparkyLinux [5.11] | ||
* | **raw Debian [11 - bullseye] (With a [[#Debian Caveat{{!}}caveat]]) | ||
**raw Ubuntu [20.04.3 LTS] | |||
[https://mosquitto.org/ Mosquitto MQTT Broker] | [https://mosquitto.org/ Mosquitto MQTT Broker] |
Revision as of 14:57, 12 January 2022
- Proven on
- Mint [19.3]
- SparkyLinux [5.11]
- raw Debian [11 - bullseye] (With a caveat)
- raw Ubuntu [20.04.3 LTS]
Installing Mosquitto
sudo apt-get install mosquitto
Pretty simple, eh?
Ensure that Mosquitto broker is running
sudo service mosquitto status
expected result is Active: active (running)
Debian Caveat
During an install on a raw Debian system, I discovered that Mosquitto refused connection when I tried to access it with anything other than "localhost" as the hostname...
Apparently, mosquitto 2.0 binds only to the loopback interface unless specifically told otherwise.
& Debian installs v2.0 or higher...
But for now, It's a simple matter of editing the config file for Mosquitto.
sudo vi /etc/mosquitto/mosquitto.conf
& add in:
listener 1883 allow_anonymous true
Then,
sudo service mosquitto restart
Install client tools for testing etc
(Do this on any machine expected to manually use MQTT)
sudo apt install mosquitto-clients
Testing
In a terminal:
mosquitto_sub -h localhost -t "mqtt" -v
In another terminal:
mosquitto_pub -h localhost -t "mqtt" -m "Hello MQTT"
Now the message “mqtt Hello MQTT
” will be displayed in the first terminal where the topic “mqtt” is subscribed.
Subscribing to #
gives you a subscription to everything except for topics that start with a $
(these are normally control topics anyway).