Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
blocks:server:advanced_server_configuration:mqtt [2023-05-16 11:46] mattias [Security] |
blocks:server:advanced_server_configuration:mqtt [2023-07-13 10:08] (current) admin [MQTT] |
||
---|---|---|---|
Line 3: | Line 3: | ||
MQTT is a standard messaging protocol mainly used for Internet of Things devices (IoT). It is designed as a lightweight publish/ | MQTT is a standard messaging protocol mainly used for Internet of Things devices (IoT). It is designed as a lightweight publish/ | ||
+ | :!: Support for MQTT was added in Blocks version 6.1. Thus, you need that version or later to follow this guide. | ||
=====Principle of MQTT Messaging===== | =====Principle of MQTT Messaging===== | ||
Line 14: | Line 15: | ||
A client can subscribe to a given //topic//, provided through the broker, to then receive messages sent on that topic. Similarly, a client can publish messages under a topic, to be forwarded by the broker to subscribers of that topic. | A client can subscribe to a given //topic//, provided through the broker, to then receive messages sent on that topic. Similarly, a client can publish messages under a topic, to be forwarded by the broker to subscribers of that topic. | ||
====Topic==== | ====Topic==== | ||
- | Topics are used to register interest in a specific incoming message type and, conversely, to specify where to publish outbound messages. Topics are often arranged | + | Topics are used to register interest in a specific incoming message type and, conversely, to specify where to publish outbound messages. Topics are often arranged |
< | < | ||
Line 28: | Line 29: | ||
=====MQTT in Blocks===== | =====MQTT in Blocks===== | ||
- | MQTT in itself is just the message transport mechanism. The data carried in these mesages | + | MQTT in itself is just the message transport mechanism. The data carried in these messages |
{{: | {{: | ||
====Enabling the Broker==== | ====Enabling the Broker==== | ||
- | While any broker can be used, the [[https:// | + | While any broker can be used, the [[https:// |
To enable the broker, follow these steps. | To enable the broker, follow these steps. | ||
Line 74: | Line 75: | ||
===Configuring the Broker=== | ===Configuring the Broker=== | ||
- | The following commands assume you're logged into the terminal as the pixi-amdin user. If not use the //su pixi-admin// | + | The following commands assume you're logged into the terminal as the pixi-admin user. If not use the //su pixi-admin// |
The Mosquitto broker' | The Mosquitto broker' | ||
Line 123: | Line 124: | ||
</ | </ | ||
- | Change the broker configuration and add the line that specifies a password file and turn off the option to use a the broker as anonymous user. | + | Change the broker configuration and add the line that specifies a password file and turn off the option to use the broker as anonymous user. |
< | < | ||
listener 1883 | listener 1883 | ||
Line 134: | Line 135: | ||
===Secure connection (TLS)=== | ===Secure connection (TLS)=== | ||
- | Any MQTT application that is running over the internet or Local Area Network | + | Any MQTT application that is running over the internet or Local Area Network |
[[blocks: | [[blocks: | ||
Line 151: | Line 152: | ||
username: pixi # Default is no username and password | username: pixi # Default is no username and password | ||
password: pixi | password: pixi | ||
- | encryption: false #Change | + | encryption: false # Set to true if secure connection (tls) is available. |
+ | port: 1883 # Default is 1883 if non-encypted and 8883 if encrypted | ||
</ | </ | ||
Line 168: | Line 170: | ||
Follow the MQTT section in the [[https:// | Follow the MQTT section in the [[https:// | ||
- | ====3rd party tool MQTT Exlorer.==== | + | ====MQTT Explorer (3rd party tool)==== |
We have successfully used this tool to explore and get a visual view over the current broker topics. The tools is also perfect to test mqtt devices functionality outside Blocks. | We have successfully used this tool to explore and get a visual view over the current broker topics. The tools is also perfect to test mqtt devices functionality outside Blocks. | ||
[[https:// | [[https:// | ||
- | The two following screenshots show connection examples: | + | The two following screenshots show connection examples. |
Without TLS encryption: | Without TLS encryption: | ||
Line 183: | Line 186: | ||
{{: | {{: | ||
- | After successfull | + | After successful |
{{: | {{: |