diff --git a/docs/software/mqtt/index.mdx b/docs/software/mqtt/index.mdx index 61f71062..998cd4c3 100644 --- a/docs/software/mqtt/index.mdx +++ b/docs/software/mqtt/index.mdx @@ -249,8 +249,20 @@ Step three: install Node-RED plug-ins to your node-RED application for an embedd https://flows.nodered.org/node/node-red-contrib-aedes https://flows.nodered.org/node/node-red-contrib-protobuf -Drag, drop, and wire the nodes like this. For this example, I ran node-RED on a Windows machine. Note that file paths might be specified differently on different platforms. MQTT server wild cards are usually the same. A "+" is a single level wildcard for a specific topic level. A "#" is a multiple level wildcard that can be used at the end of a topic filter. The debug messages shown are what happens when the inject button sends a json message with a topic designed to be picked up by the specified Meshtastic device and then having it resend the message by both radio and MQTT. +Drag, drop, and wire the nodes like this. For this example, I ran node-RED on a Windows machine. Note that file paths might be specified differently on different platforms. MQTT server wild cards are usually the same. A "+" is a single level wildcard for a specific topic level. A "#" is a multiple level wildcard that can be used at the end of a topic filter. The debug messages shown are what happens when the inject button sends a json message with a topic designed to be picked up by the specified Meshtastic device and then having it rebroadcast the message. [](/documents/mqtt/NodeRedTwo.jpg) [](/documents/mqtt/NodeRedThree.jpg) [](/documents/mqtt/NR_nodes.jpg) + +The aedes broker must be set up on the same flow as the other nodes. By activating the Publish debug node, you can see all the published messages. +[](/documents/mqtt/Broker1.jpg) +Receiving a json mqqt message is very simple. +[](/documents/mqtt/Consume.jpg) +Injecting a json message to be sent by a device is also very simple. You do need the correct enevelope. +[](/documents/mqtt/Inject.jpg) +Forwarding a text message from one device, through a broker, to another broker/device/channel would look like this. +[](/documents/mqtt/Forward.jpg) +If you want to decode text and position messages without json, it gets complicated: +[](/documents/mqtt/Decode.jpg) + diff --git a/static/documents/mqtt/Broker1.jpg b/static/documents/mqtt/Broker1.jpg new file mode 100644 index 00000000..d94b75c2 Binary files /dev/null and b/static/documents/mqtt/Broker1.jpg differ diff --git a/static/documents/mqtt/Consume.jpg b/static/documents/mqtt/Consume.jpg new file mode 100644 index 00000000..a8bfa477 Binary files /dev/null and b/static/documents/mqtt/Consume.jpg differ diff --git a/static/documents/mqtt/Decode.jpg b/static/documents/mqtt/Decode.jpg new file mode 100644 index 00000000..cb34fc55 Binary files /dev/null and b/static/documents/mqtt/Decode.jpg differ diff --git a/static/documents/mqtt/Forward.jpg b/static/documents/mqtt/Forward.jpg new file mode 100644 index 00000000..32b48903 Binary files /dev/null and b/static/documents/mqtt/Forward.jpg differ diff --git a/static/documents/mqtt/Inject.jpg b/static/documents/mqtt/Inject.jpg new file mode 100644 index 00000000..6710997c Binary files /dev/null and b/static/documents/mqtt/Inject.jpg differ