Difference between revisions of "Automation - MQTT"
Line 19: | Line 19: | ||
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... | 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... | ||
There is SOME possibility it's a newer version of Mosquitto causing the issue. | There is SOME possibility it's a newer version of Mosquitto causing the issue. Further research required... | ||
Apparently, mosquitto 2.0 binds only to the loopback interface unless specifically told otherwise. Why this only seems to be true under Debian is a mystery. | |||
But for now, It's a simple matter of editing the config file for Mosquitto. | But for now, It's a simple matter of editing the config file for Mosquitto. |
Revision as of 17:50, 11 January 2022
- Proven on Mint 19.3
- Proven on SparkyLinux 5.11
- Proven on raw Debian (With a caveat)
- Proven on raw Ubuntu
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...
There is SOME possibility it's a newer version of Mosquitto causing the issue. Further research required...
Apparently, mosquitto 2.0 binds only to the loopback interface unless specifically told otherwise. Why this only seems to be true under Debian is a mystery.
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).