Merge pull request #466 from meshtastic/move_mqtt

Move mqtt, talk about bridging networks before complicated software integrations
This commit is contained in:
Garth Vander Houwen 2022-10-30 19:36:42 -07:00 committed by GitHub
commit 5273d00371
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 14 additions and 94 deletions

View file

@ -19,8 +19,6 @@ You may want to change your [GPS location sharing settings](gps#location_share)
If your device is connected to WiFi you can enable it to forward messages along to an MQTT server. This allows users on the local mesh to communicate with users on the internet.
Be sure to checkout this [MQTT](/docs/software/other/mqtt) too.
## Settings
| Setting | Acceptable Values | Default |

View file

@ -2,7 +2,7 @@
id: device-firmware
title: Device firmware
sidebar_label: Device firmware
sidebar_position: 5
sidebar_position: 3
---
The device firmware runs on the nodes to build the mesh for communication. Each different make and model of device requires a different build of the Meshtastic firmware in order to run properly. Thankfully, due to the design of Meshtastic, it is possible to port the firmware to new devices as they become available. The firmware currently runs on a range of ESP32 based devices, but there is also increasing support for the nRF52 microprocessor with some more recent devices coming to market.

View file

@ -2,16 +2,22 @@
id: mqtt
title: MQTT
sidebar_label: MQTT
sidebar_position: 4
---
Meshtastic devices with wifi hardware (ESP32) are able to connect to an MQTT broker to uplink and downlink mesh packets. This is useful for a number of purposes:
## Bridging networks
- Connecting your mesh to the official Meshtastic MQTT broker. This makes your devices appear on the world map, and provides a limited copy of your mesh traffic, translated into JSON.
- Using a custom MQTT broker to bridge several mesh networks together, via the internet (or just a local IP network)
- Using a custom MQTT broker and a translator program to decode the raw protobuf packets and translate them into a plain text form for use in other systems. eg plotting temperature readings in Grafana, or device positions in Traccar.
- Using or emitting packets directly in/from smart home control software such as Home Assistant or other consumers that can work with JSON messages.
Meshtastic networks in different locations beyond the reach of LoRa can be easily bridged together using MQTT. The simplest option is to connect your mesh to the official Meshtastic MQTT broker. This makes your devices appear on the world map, and provides a copy of your mesh traffic, translated into JSON. All you have to do to join the public MQTT server is to Enable MQTT and set uplink and downlink on the channels that you want to share over MQTT.
When MQTT enabled, the Meshtastic device simply uplinks and/or downlinks every raw protobuf packet that it sees to the MQTT broker. In addition, some packet types are serialized or deserialized from/to JSON messages for easier use in consumers. All packets are sent to the broker, whether they originate from another device on the mesh, or the gateway node itself.
You can also share channel settings with a remote network and enable encryption for MQTT, encryption is off by default for MQTT. You can also specify your own private MQTT broker and specify authentication for that broker to bridge several mesh networks together, via the internet (or just a local IP network).
You can find the settings available for MQTT [here](https://meshtastic.org/docs/settings/moduleconfig/mqtt).
## Software Integrations
Using or emitting packets directly in/from smart home control software such as Home Assistant or other consumers that can work with JSON messages.
When MQTT is enabled, the Meshtastic device simply uplinks and/or downlinks every raw protobuf packet that it sees to the MQTT broker. In addition, some packet types are serialized or deserialized from/to JSON messages for easier use in consumers. All packets are sent to the broker, whether they originate from another device on the mesh, or the gateway node itself.
Packets may be encrypted. If you use the default meshtastic MQTT server, packets are always encrypted. If you use a custom MQTT broker (ie set `mqtt_server`), the `mqtt_encryption_enabled` setting applies, which by default is false.

View file

@ -1,84 +0,0 @@
---
id: 1.3-enthusiast
title: 1.3 Enthusiast
sidebar_label: 1.3 Enthusiast
---
Meshtastic 1.3 has not been released as a beta.
This page will function as a cheat-sheet to keep our notes on how to work with Meshtastic 1.3.
## Known Limitations
* Meshtastic 1.3 will not work with older versions of Meshtastic. All clients and device nodes on your Meshtastic Network will need to run 1.3.
* OTA updates don't work. We don't have an ETA of when this will be implemented. To update device firmware, you will need to use a cable.
## Meshtastic 1.3 - Device
There are often breaking changes in the firmware right now so please test the latest version.
The latest firmware can be found here:
https://github.com/meshtastic/Meshtastic-device/releases
Where to file bugs:
https://github.com/meshtastic/Meshtastic-device/issues
## Meshtastic 1.3 - Python
Most CLI commands are now working, documentation has been updated but the --help has not
https://meshtastic.org/docs/settings/config/
Where to file bugs:
https://github.com/meshtastic/Meshtastic-python/issues
## Meshtastic 1.3 - Android
F-Droid: https://mesh.tastic.app/fdroid/repo
or join the Play Store testing program: https://play.google.com/apps/testing/com.geeksville.mesh
Android App 1.3 apk available here
https://github.com/meshtastic/Meshtastic-Android/releases
Where to file bugs:
https://github.com/meshtastic/Meshtastic-Android/issues
## Meshtastic 1.3 - MacOS
The Meshtastic MacOS build is available in TestFlight.
https://testflight.apple.com/join/c8nNl8q1
Where to file bugs:
TestFlight
## Meshtastic 1.3 - iOS
https://testflight.apple.com/join/c8nNl8q1
Where to file bugs:
TestFlight
## Meshtastic 1.3 - Web
Hosted version available at client.meshtastic.org, we are still working to get the new webui running locally on the device firmware.
You can connect your device to WiFI using the apple apps or the python CLI
Where to file bugs:
https://github.com/meshtastic/meshtastic-web/issues
## Meshtastic 1.3 - Flasher
Currently flashing and setting region are available
https://github.com/meshtastic/Meshtastic-gui-installer/issues
Have fun!

View file

@ -2,6 +2,7 @@
id: linux-native-application
title: Linux native application
sidebar_label: Linux native application
---
The device software can also run on a native Linux machine thanks to the [Portduino framework](https://github.com/geeksville/framework-portduino).

View file

@ -2,7 +2,6 @@
id: web-app-software
title: Web interface overview
sidebar_label: Web Interface
sidebar_position: 3
---
<!--- FIXME add self hosting details link --->