diff --git a/a0a26e4d40a5b9ccba9185eb70e2eaf66f0b0587_2_1380x888.jpeg b/a0a26e4d40a5b9ccba9185eb70e2eaf66f0b0587_2_1380x888.jpeg new file mode 100644 index 00000000..9f6ab18f Binary files /dev/null and b/a0a26e4d40a5b9ccba9185eb70e2eaf66f0b0587_2_1380x888.jpeg differ diff --git a/docs/about/overview/range-test.mdx b/docs/about/overview/range-test.mdx index 828d8207..eedf02e7 100644 --- a/docs/about/overview/range-test.mdx +++ b/docs/about/overview/range-test.mdx @@ -58,7 +58,6 @@ Default Very Long Slow Trace - #### Previous Ground Record: 254km - **Range:** 254km (158 miles) @@ -117,11 +116,11 @@ Default Long_Fast - **Firmware Version:** 1.2 - **Antenna:** [868MHz Vertical 6dBi](https://ivent.co.nz/product/category/1000/868mhz%20vertical%206dbi%20antenna/38606) -![Topographical Map](https://canada1.discourse-cdn.com/free1/uploads/meshtastic/optimized/2X/a/a0a26e4d40a5b9ccba9185eb70e2eaf66f0b0587_2_1380x888.jpeg) +![Topographical Map](/img/records/topographical_map.webp) -![Node A](https://canada1.discourse-cdn.com/free1/uploads/meshtastic/optimized/2X/9/99ec4bcc18b21f4e95ac1bcc0592b608c9c4f567_2_1332x1000.jpeg) +![Node A](/img/records/node_a.webp) -![Node B](https://canada1.discourse-cdn.com/free1/uploads/meshtastic/optimized/2X/1/1c8bd5fc41f7bab925404b657a9c481882de9313_2_1332x1000.jpeg) +![Node B](/img/records/node_b.webp)
Resources Used
- 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 RAK19007 Connectors @@ -148,7 +148,7 @@ Further information on the RAK19003 can be found on the [RAK Documentation Cente RAK19003 Connectors @@ -204,7 +204,7 @@ Further information on the RAK19001 can be found on the [RAK Documentation Cente RAK19001 Connectors 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