Difference between revisions of "Automation - MQTT"
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{{!}} class="wikitable" style="float: right; width: 322px;" border="2" | {{{!}} class="wikitable" style="float: right; width: 322px;" border="2" | ||
{{!}}+ Proven on: | {{!}}+ Proven on: | ||
{{!}}- | {{!}}- <!-- Debian --> | ||
{{!}} style="text-align: center; width: 60px;" {{!}} [[File:Logo Debian.png{{!}}60px{{!}}link=https://www.debian.org/{{!}}center{{!}}middle{{!}}frameless]] | |||
{{!}} style="text-align: center; width: 40px;" {{!}} 11 (bullseye) | |||
{{!}} ([[#Debian / Version Caveat{{!}}caveat]]) | |||
<br> | |||
{{!}}- <!-- LMDE --> | |||
{{!}} style="text-align: center; width: 65.675px;" {{!}} [[File:Logo LMDE.png{{!}}60px{{!}}link=https://linuxmint.com/edition.php?id=279{{!}}center{{!}}middle{{!}}frameless]] | |||
{{!}} 4 | |||
{{!}} ([[#Debian / Version Caveat{{!}}caveat]]) | |||
<br> | |||
{{!}}- <!-- Linux Mint --> | |||
{{!}} style="text-align: center; width: 67.5125px;" {{!}} [[File:Logo Mint.png{{!}}60px{{!}}link=https://linuxmint.com{{!}}center{{!}}middle{{!}}frameless]] | {{!}} style="text-align: center; width: 67.5125px;" {{!}} [[File:Logo Mint.png{{!}}60px{{!}}link=https://linuxmint.com{{!}}center{{!}}middle{{!}}frameless]] | ||
{{!}} | {{!}} 19.3 / 20.3 | ||
{{!}} | {{!}} | ||
<br> | |||
{{!}}- <!-- Ubuntu --> | |||
{{!}} style="text-align: center; width: 65.7px;" {{!}} [[File:Logo Ubuntu.png{{!}}60px{{!}}link=https://ubuntu.com/{{!}}center{{!}}middle{{!}}frameless]] | {{!}} style="text-align: center; width: 65.7px;" {{!}} [[File:Logo Ubuntu.png{{!}}60px{{!}}link=https://ubuntu.com/{{!}}center{{!}}middle{{!}}frameless]] | ||
{{!}} 20.04.3 | |||
{{!}} | |||
<br> | |||
{{!}}- <!-- Sparky Linux --> | |||
{{!}} style="text-align: center; width: 65.7px;" {{!}} [[File:Logo Sparky.png{{!}}60px{{!}}link=https://sparkylinux.org/{{!}}center{{!}}middle{{!}}frameless]] | {{!}} style="text-align: center; width: 65.7px;" {{!}} [[File:Logo Sparky.png{{!}}60px{{!}}link=https://sparkylinux.org/{{!}}center{{!}}middle{{!}}frameless]] | ||
{{!}} 5.11 | |||
{{!}} ([[#Debian / Version Caveat{{!}}caveat]]) | |||
<br> | |||
{{!}}} | {{!}}} | ||
[https://mosquitto.org/ Mosquitto MQTT Broker] | [https://mosquitto.org/ Mosquitto MQTT Broker] | ||
{{{!}} class="wikitable" style="border-collapse: collapse; width: 33%; left;" | |||
{{!}}- style="text-align: center;" | |||
! style="width: 50%;" colspan="2" {{!}} As always... | |||
{{!}}- | |||
{{!}} {{!}} | |||
Start with: | |||
{{!}} {{!}} | |||
*<code>sudo apt update</code> | |||
*<code>sudo apt upgrade</code> | |||
{{!}}} | |||
= Installing Mosquitto = | = Installing Mosquitto = | ||
Line 28: | Line 46: | ||
Pretty simple, eh? | Pretty simple, eh? | ||
(Tho... If you want the latest & gratest and you're feeling adventurous... There's a [[Mosquitto from Source|CopyPasta page here]].) | |||
== Ensure that Mosquitto broker is running == | == Ensure that Mosquitto broker is running == | ||
Line 33: | Line 52: | ||
expected result is <u><code>Active: active (running)</code></u> | expected result is <u><code>Active: active (running)</code></u> | ||
== | == Note: Ubuntu repositories have an outdated version == | ||
If you want to know which version you've installed... | |||
*<code>sudo mosquitto</code> | |||
(Ignore the error message "Error: Address already in use". It's already running as a service.) | |||
* <code | |||
= Install client tools for testing etc = | = Install client tools for testing etc = | ||
Line 71: | Line 77: | ||
Subscribing to '''<code>#</code>''' gives you a subscription to everything except for topics that start with a '''<code>$</code>''' (these are normally control topics anyway). | Subscribing to '''<code>#</code>''' gives you a subscription to everything except for topics that start with a '''<code>$</code>''' (these are normally control topics anyway). | ||
= Debian / Version Caveat = | |||
(Ignore this if you built from source. It's apparently a repo thing...) | |||
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. | |||
* <code>sudo vi /etc/mosquitto/mosquitto.conf</code> | |||
& add in: | |||
listener 1883 | |||
allow_anonymous true | |||
Then, | |||
* <code>sudo service mosquitto restart</code> | |||
[[Category:ServerBuilding]] | [[Category:ServerBuilding]] | ||
[[Category:AutomationServers]] | [[Category:AutomationServers]] |
Latest revision as of 00:00, 3 March 2024
11 (bullseye) | (caveat)
| |
4 | (caveat)
| |
19.3 / 20.3 |
| |
20.04.3 |
| |
5.11 | (caveat)
|
As always... | |
---|---|
Start with: |
|
Installing Mosquitto
sudo apt-get install mosquitto
Pretty simple, eh?
(Tho... If you want the latest & gratest and you're feeling adventurous... There's a CopyPasta page here.)
Ensure that Mosquitto broker is running
sudo service mosquitto status
expected result is Active: active (running)
Note: Ubuntu repositories have an outdated version
If you want to know which version you've installed...
sudo mosquitto
(Ignore the error message "Error: Address already in use". It's already running as a service.)
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).
Debian / Version Caveat
(Ignore this if you built from source. It's apparently a repo thing...)
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