- http://www.heywhatsthat.com
diff --git a/docs/configuration/module/serial.mdx b/docs/configuration/module/serial.mdx
index 09d2ee77..2319a689 100644
--- a/docs/configuration/module/serial.mdx
+++ b/docs/configuration/module/serial.mdx
@@ -12,7 +12,7 @@ The serial module config options are: Enabled, Echo, Mode, Receive GPIO, Transmi
This is an interface to talk to and control your Meshtastic device over a serial port. The module can be set to different [modes](#mode), each fulfilling a different use-case.
-![image](https://user-images.githubusercontent.com/9000580/205529843-962c3187-8411-452c-b729-42c58b1571f5.png)
+![image](/img/modules/Serial/jet.webp)
@@ -100,7 +100,7 @@ Further information on the RAK19007 can be found on the [RAK Documentation Cente
@@ -148,7 +148,7 @@ Further information on the RAK19003 can be found on the [RAK Documentation Cente
@@ -204,7 +204,7 @@ Further information on the RAK19001 can be found on the [RAK Documentation Cente
diff --git a/docs/software/integrations/mqtt/nodered.mdx b/docs/software/integrations/mqtt/nodered.mdx
index 85456688..9cb8a917 100644
--- a/docs/software/integrations/mqtt/nodered.mdx
+++ b/docs/software/integrations/mqtt/nodered.mdx
@@ -7,31 +7,30 @@ sidebar_position: 3
## Using MQTT with Node-RED
-Node-RED is a free cross-platform programming tool for wiring together hardware, APIs, and online services developed originally by IBM for IOT. It is widely used for home automation by many non-professional programmers and runs well on Pi's. Node-RED has many plug-in modules written by the community.
+Node-RED is a free cross-platform programming tool for wiring together hardware, APIs, and online services developed originally by IBM for IOT. It is widely used for home automation by many non-professional programmers and runs well on Pi's. Node-RED has many plug-in modules written by the community.
I will use this platform as a practical example on how to interface with the MQTT features of Meshtastic. Everything can be done from GUI's without using command line.
-
### Enabling MQTT
Use http://client.meshtastic.org/ , the python CLI, or an Apple or Android app to connect to your device and adjust these settings.
+1. Settings--> Radio Config--> Network
-1. Settings--> Radio Config--> Network
- - On the node that will act as the gateway between the mesh and MQTT enable a network connection (i.e. Wifi, Ethernet).
- - Save
+ - On the node that will act as the gateway between the mesh and MQTT enable a network connection (i.e. Wifi, Ethernet).
+ - Save
-2. Settings--> Module Config--> MQTT config
+2. Settings--> Module Config--> MQTT config
- Configure the MQTT gateway's network configuration.
- Verify Encryption Enabled is OFF.
- (optional) Turn JSON Output Enabled ON.
- Save
3. Channel Editor
- Go to Channel Editor and enable Uplink and Downlink on the channels you wish to publish to MQTT.
- - Save
-
+ - Save
### Using Node-RED with Meshtastic
+
There are three common approaches:
1. Using JSON-encoded messages
@@ -39,6 +38,7 @@ There are three common approaches:
3. Using protobuf-encoded messages with a protobuf decode node and the Meshtastic protobuf definitions
The JSON output only publishes the following subset of the messages on a Meshtastic network:
+
- Text Message
- Telemetry
- Device Metrics
@@ -54,11 +54,12 @@ The JSON output only publishes the following subset of the messages on a Meshtas
> Protobufs are mesh native.
#### 1. Using JSON-encoded messages
-:::note
+
+:::note
JSON is not supported on the nRF52 platform.
:::
-Make sure that option *JSON Output Enabled* is set in MQTT module options and you have a channel called "mqtt".
+Make sure that option _JSON Output Enabled_ is set in MQTT module options and you have a channel called "mqtt".
Below is a valid JSON envelope for information sent by MQTT to a device for broadcast onto the mesh. The `to` field is optional and can be omitted for broadcast. The `channel` field is also optional and can be omitted to send to the primary channel.
@@ -71,7 +72,9 @@ Below is a valid JSON envelope for information sent by MQTT to a device for broa
"payload": text or a json object go here
}
```
+
#### 2. Using protobuf-encoded messages with the Meshtastic decode node
+
Install Node-Red plug-in:
https://flows.nodered.org/node/@meshtastic/node-red-contrib-meshtastic
@@ -80,10 +83,9 @@ More info is in the plug-in source repository.
There is an example flow using this mechanism available
https://github.com/scruplelesswizard/meshtastic-node-red
-
#### 3. Using protobuf-encoded messages with a protobuf decode node and the Meshtastic protobuf definitions
- If you don't want to depend on JSON decoding on the device, you can decode the protobuf messages off-device. To do that you will need to get the .proto files from https://github.com/meshtastic/protobufs. They function as a schema and are required for decoding in Node-RED. Save the files where the node-RED application can access them and note the file path of the "mqtt.proto" file.
+If you don't want to depend on JSON decoding on the device, you can decode the protobuf messages off-device. To do that you will need to get the .proto files from https://github.com/meshtastic/protobufs. They function as a schema and are required for decoding in Node-RED. Save the files where the node-RED application can access them and note the file path of the "mqtt.proto" file.
Install Node-RED plug-ins to your Node-RED application for an embedded MQTT server and a protobuf decoder.
https://flows.nodered.org/node/node-red-contrib-aedes
@@ -91,20 +93,20 @@ 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 rebroadcast the message.
-[](/documents/mqtt/NodeRedTwo.jpg)
-[](/documents/mqtt/NodeRedThree.jpg)
-[](/documents/mqtt/NR_nodes.jpg)
+[](/documents/mqtt/NodeRedTwo.webp)
+[](/documents/mqtt/NodeRedThree.webp)
+[](/documents/mqtt/NR_nodes.webp)
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)
+[](/documents/mqtt/Broker1.webp)
Receiving a json mqtt message is very simple.
-[](/documents/mqtt/Consume.jpg)
+[](/documents/mqtt/Consume.webp)
Injecting a json message to be sent by a device is also very simple. You do need the correct envelope.
-[](/documents/mqtt/Inject.jpg)
+[](/documents/mqtt/Inject.webp)
Forwarding a text message from one device, through a broker, to another broker/device/channel would look like this.
-[](/documents/mqtt/Forward.jpg)
+[](/documents/mqtt/Forward.webp)
If you want to decode text and position messages without json, it gets complicated:
-[](/documents/mqtt/DecodeNewest.jpg)
+[](/documents/mqtt/DecodeNewest.webp)
If you are interested in my flow for this it is here:
```json
@@ -669,10 +671,10 @@ If you are interested in my flow for this it is here:
(documents/mqtt/Flow.txt)
Node-red can rapidly (minutes vs days) put together some pretty impressive output when paired with meshtastic. Here is the output of that flow geofencing and mapping via mqtt data.
-[](/documents/mqtt/Mapping.jpg)
+[](/documents/mqtt/Mapping.webp)
Advanced use, such as encoding Position and sending it to a device via MQTT without using JSON can get a little complicated. An example of how it can be done is below.
-[](/documents/mqtt/EncodingPosition.jpg)
+[](/documents/mqtt/EncodingPosition.webp)
The flow is:
```json
@@ -1001,4 +1003,4 @@ Sending a position to a device for broadcast to the mesh is much easier with JSO
```
An example of doing this in node-red:
-[](/documents/mqtt/PosJSON.jpg)
+[](/documents/mqtt/PosJSON.webp)
diff --git a/static/documents/mqtt/Broker1.jpg b/static/documents/mqtt/Broker1.jpg
deleted file mode 100644
index d94b75c2..00000000
Binary files a/static/documents/mqtt/Broker1.jpg and /dev/null differ
diff --git a/static/documents/mqtt/Broker1.webp b/static/documents/mqtt/Broker1.webp
new file mode 100644
index 00000000..c7c4599d
Binary files /dev/null and b/static/documents/mqtt/Broker1.webp differ
diff --git a/static/documents/mqtt/Consume.jpg b/static/documents/mqtt/Consume.jpg
deleted file mode 100644
index a8bfa477..00000000
Binary files a/static/documents/mqtt/Consume.jpg and /dev/null differ
diff --git a/static/documents/mqtt/Consume.webp b/static/documents/mqtt/Consume.webp
new file mode 100644
index 00000000..de7c01d3
Binary files /dev/null and b/static/documents/mqtt/Consume.webp differ
diff --git a/static/documents/mqtt/Decode.jpg b/static/documents/mqtt/Decode.jpg
deleted file mode 100644
index cb34fc55..00000000
Binary files a/static/documents/mqtt/Decode.jpg and /dev/null differ
diff --git a/static/documents/mqtt/Decode.webp b/static/documents/mqtt/Decode.webp
new file mode 100644
index 00000000..316655e8
Binary files /dev/null and b/static/documents/mqtt/Decode.webp differ
diff --git a/static/documents/mqtt/DecodeNewest.jpg b/static/documents/mqtt/DecodeNewest.jpg
deleted file mode 100644
index e0370294..00000000
Binary files a/static/documents/mqtt/DecodeNewest.jpg and /dev/null differ
diff --git a/static/documents/mqtt/DecodeNewest.webp b/static/documents/mqtt/DecodeNewest.webp
new file mode 100644
index 00000000..53fd238b
Binary files /dev/null and b/static/documents/mqtt/DecodeNewest.webp differ
diff --git a/static/documents/mqtt/EncodingPosition.jpg b/static/documents/mqtt/EncodingPosition.jpg
deleted file mode 100644
index 937b2f5d..00000000
Binary files a/static/documents/mqtt/EncodingPosition.jpg and /dev/null differ
diff --git a/static/documents/mqtt/EncodingPosition.webp b/static/documents/mqtt/EncodingPosition.webp
new file mode 100644
index 00000000..4a5d7ce9
Binary files /dev/null and b/static/documents/mqtt/EncodingPosition.webp differ
diff --git a/static/documents/mqtt/Forward.jpg b/static/documents/mqtt/Forward.jpg
deleted file mode 100644
index 32b48903..00000000
Binary files a/static/documents/mqtt/Forward.jpg and /dev/null differ
diff --git a/static/documents/mqtt/Forward.webp b/static/documents/mqtt/Forward.webp
new file mode 100644
index 00000000..3098e676
Binary files /dev/null and b/static/documents/mqtt/Forward.webp differ
diff --git a/static/documents/mqtt/Inject.jpg b/static/documents/mqtt/Inject.jpg
deleted file mode 100644
index 6710997c..00000000
Binary files a/static/documents/mqtt/Inject.jpg and /dev/null differ
diff --git a/static/documents/mqtt/Inject.webp b/static/documents/mqtt/Inject.webp
new file mode 100644
index 00000000..83acc551
Binary files /dev/null and b/static/documents/mqtt/Inject.webp differ
diff --git a/static/documents/mqtt/MapFlow.jpg b/static/documents/mqtt/MapFlow.jpg
deleted file mode 100644
index 553f2999..00000000
Binary files a/static/documents/mqtt/MapFlow.jpg and /dev/null differ
diff --git a/static/documents/mqtt/MapFlow.webp b/static/documents/mqtt/MapFlow.webp
new file mode 100644
index 00000000..a638e292
Binary files /dev/null and b/static/documents/mqtt/MapFlow.webp differ
diff --git a/static/documents/mqtt/Mapping.jpg b/static/documents/mqtt/Mapping.jpg
deleted file mode 100644
index cca0fc79..00000000
Binary files a/static/documents/mqtt/Mapping.jpg and /dev/null differ
diff --git a/static/documents/mqtt/Mapping.webp b/static/documents/mqtt/Mapping.webp
new file mode 100644
index 00000000..1fe4bb08
Binary files /dev/null and b/static/documents/mqtt/Mapping.webp differ
diff --git a/static/documents/mqtt/NR_nodes.jpg b/static/documents/mqtt/NR_nodes.jpg
deleted file mode 100644
index f9f16601..00000000
Binary files a/static/documents/mqtt/NR_nodes.jpg and /dev/null differ
diff --git a/static/documents/mqtt/NR_nodes.webp b/static/documents/mqtt/NR_nodes.webp
new file mode 100644
index 00000000..57b1688a
Binary files /dev/null and b/static/documents/mqtt/NR_nodes.webp differ
diff --git a/static/documents/mqtt/NodeRedThree.jpg b/static/documents/mqtt/NodeRedThree.jpg
deleted file mode 100644
index 68e5e3d9..00000000
Binary files a/static/documents/mqtt/NodeRedThree.jpg and /dev/null differ
diff --git a/static/documents/mqtt/NodeRedThree.webp b/static/documents/mqtt/NodeRedThree.webp
new file mode 100644
index 00000000..7c5890cf
Binary files /dev/null and b/static/documents/mqtt/NodeRedThree.webp differ
diff --git a/static/documents/mqtt/NodeRedTwo.jpg b/static/documents/mqtt/NodeRedTwo.jpg
deleted file mode 100644
index c11c1663..00000000
Binary files a/static/documents/mqtt/NodeRedTwo.jpg and /dev/null differ
diff --git a/static/documents/mqtt/NodeRedTwo.webp b/static/documents/mqtt/NodeRedTwo.webp
new file mode 100644
index 00000000..d3f9bf89
Binary files /dev/null and b/static/documents/mqtt/NodeRedTwo.webp differ
diff --git a/static/documents/mqtt/PosJSON.jpg b/static/documents/mqtt/PosJSON.jpg
deleted file mode 100644
index 61b5737d..00000000
Binary files a/static/documents/mqtt/PosJSON.jpg and /dev/null differ
diff --git a/static/documents/mqtt/PosJSON.webp b/static/documents/mqtt/PosJSON.webp
new file mode 100644
index 00000000..9a4b8ae5
Binary files /dev/null and b/static/documents/mqtt/PosJSON.webp differ
diff --git a/static/img/hardware/lora_v1_with_DS18B20.jpg b/static/img/hardware/lora_v1_with_DS18B20.jpg
deleted file mode 100644
index 731da8c6..00000000
Binary files a/static/img/hardware/lora_v1_with_DS18B20.jpg and /dev/null differ
diff --git a/static/img/hardware/lora_v1_with_DS18B20.webp b/static/img/hardware/lora_v1_with_DS18B20.webp
new file mode 100644
index 00000000..0146e6e1
Binary files /dev/null and b/static/img/hardware/lora_v1_with_DS18B20.webp differ
diff --git a/static/img/hardware/rak19001_connectors.png b/static/img/hardware/rak19001_connectors.png
deleted file mode 100644
index d713453b..00000000
Binary files a/static/img/hardware/rak19001_connectors.png and /dev/null differ
diff --git a/static/img/hardware/rak19001_connectors.webp b/static/img/hardware/rak19001_connectors.webp
new file mode 100644
index 00000000..5d938ae2
Binary files /dev/null and b/static/img/hardware/rak19001_connectors.webp differ
diff --git a/static/img/hardware/rak19003_connectors.png b/static/img/hardware/rak19003_connectors.png
deleted file mode 100644
index c1a0859b..00000000
Binary files a/static/img/hardware/rak19003_connectors.png and /dev/null differ
diff --git a/static/img/hardware/rak19003_connectors.webp b/static/img/hardware/rak19003_connectors.webp
new file mode 100644
index 00000000..aeb7c712
Binary files /dev/null and b/static/img/hardware/rak19003_connectors.webp differ
diff --git a/static/img/hardware/rak19007_connectors.png b/static/img/hardware/rak19007_connectors.png
deleted file mode 100644
index 9168e932..00000000
Binary files a/static/img/hardware/rak19007_connectors.png and /dev/null differ
diff --git a/static/img/hardware/rak19007_connectors.webp b/static/img/hardware/rak19007_connectors.webp
new file mode 100644
index 00000000..17a12457
Binary files /dev/null and b/static/img/hardware/rak19007_connectors.webp differ
diff --git a/static/img/hardware/rak5005-0_connectors.png b/static/img/hardware/rak5005-0_connectors.png
deleted file mode 100644
index 4c20e180..00000000
Binary files a/static/img/hardware/rak5005-0_connectors.png and /dev/null differ
diff --git a/static/img/hardware/rak5005-0_connectors.webp b/static/img/hardware/rak5005-0_connectors.webp
new file mode 100644
index 00000000..53037585
Binary files /dev/null and b/static/img/hardware/rak5005-0_connectors.webp differ
diff --git a/static/img/modules/Serial/jet.webp b/static/img/modules/Serial/jet.webp
new file mode 100644
index 00000000..73114465
Binary files /dev/null and b/static/img/modules/Serial/jet.webp differ
diff --git a/static/img/records/node_a.webp b/static/img/records/node_a.webp
new file mode 100644
index 00000000..68cc24c4
Binary files /dev/null and b/static/img/records/node_a.webp differ
diff --git a/static/img/records/node_b.webp b/static/img/records/node_b.webp
new file mode 100644
index 00000000..6f72203e
Binary files /dev/null and b/static/img/records/node_b.webp differ
diff --git a/static/img/records/topographical_map.webp b/static/img/records/topographical_map.webp
new file mode 100644
index 00000000..fad432ce
Binary files /dev/null and b/static/img/records/topographical_map.webp differ