@@ -18,8 +18,8 @@ CoreScope (<https://core.eastmesh.au>) offers visibility into the network, inclu
|
||||
- native WiFi
|
||||
- MQTT over WSS with JWT auth
|
||||
- optional local HTTPS config panel on supported ESP32 targets
|
||||
- `*_repeater_observer_mqtt_bridge` firmware targets that add a **bidirectional MQTT mesh bridge** to a peer broker (separate from MQTT uplink)
|
||||
- `*_repeater_observer_espnow` firmware targets that add a local ESP-NOW mesh bridge
|
||||
- `*_repeater_bridge_espnow` firmware targets for a plain upstream-style repeater ESP-NOW bridge, without MQTT uplink or the EastMesh web panel
|
||||
- `*_companion_radio_wifi` firmware targets for WiFi-connected companion devices
|
||||
- EastMesh-specific release workflows and versioning on top of upstream MeshCore releases
|
||||
- docs and release guidance for EastMesh users instead of the full upstream MeshCore docs set
|
||||
|
||||
@@ -27,7 +27,6 @@ For bridge repeaters, think local radio linking between nearby repeaters:
|
||||
- pure ESP-NOW bridge repeaters do not need MQTT, the EastMesh web panel, or a screen
|
||||
- prioritise stable power, suitable antennas, and placement over display features
|
||||
- use `observer-eastmesh-bridge-espnow` only when the same repeater also needs MQTT uplink and a local ESP-NOW bridge; otherwise `repeater-bridge-espnow` keeps the role simpler
|
||||
- use `observer-eastmesh-bridge-mqtt` when the same repeater needs MQTT uplink and bidirectional MQTT mesh bridging through a peer broker
|
||||
|
||||
Other notes:
|
||||
|
||||
@@ -53,7 +52,6 @@ The tables below are built from the repo's PlatformIO board metadata and variant
|
||||
- `companion-wifi` boards are for app-connected companion devices.
|
||||
- `observer-eastmesh` boards are for Wi-Fi repeaters that publish to MQTT.
|
||||
- `repeater-bridge-espnow` and `observer-eastmesh-bridge-espnow` boards are for local ESP-NOW bridge use between nearby repeaters on different MeshCore radio configs.
|
||||
- `observer-eastmesh-bridge-mqtt` boards bridge mesh packets through a shared MQTT topic at a peer broker you configure.
|
||||
|
||||
Bridge firmware is not MQTT-over-WAN or VPN bridging. Use it when two local repeaters need to exchange traffic across radio configs such as `Australia (Narrow)` and `Australia (Mid)`.
|
||||
|
||||
|
||||
@@ -159,40 +159,6 @@ Example:
|
||||
OK
|
||||
```
|
||||
|
||||
### MQTT Bridge Settings For Observer MQTT Bridge Builds
|
||||
|
||||
These commands are available on `*_repeater_observer_mqtt_bridge` firmware targets (release track `observer-eastmesh-bridge-mqtt`).
|
||||
|
||||
The MQTT bridge forwards raw mesh packets over a shared topic at a peer MQTT broker. It is separate from MQTT uplink publishing to EastMesh or MeshMapper brokers.
|
||||
|
||||
- `get bridge.type`: returns `mqtt` on MQTT bridge builds.
|
||||
- `get bridge.peer.host`: shows the configured peer MQTT broker host.
|
||||
- `set bridge.peer.host <host>`: sets the peer MQTT broker host and restarts the bridge.
|
||||
- `get bridge.peer.port`: shows the configured peer MQTT broker port (defaults to `1883` when unset).
|
||||
- `set bridge.peer.port <port>`: sets the peer MQTT broker port and restarts the bridge.
|
||||
- `get bridge.peer.username` / `set bridge.peer.username <username>`: optional peer MQTT broker username.
|
||||
- `get bridge.peer.password` / `set bridge.peer.password <password>`: optional peer MQTT broker password (`get` returns `set` or `-`, not the stored value).
|
||||
- `get bridge.secret` / `set bridge.secret <secret>`: shared XOR key used by all bridge nodes on the same bridge network.
|
||||
|
||||
Both bridge nodes must use the same peer broker address, port, credentials, and `bridge.secret`.
|
||||
|
||||
On `*_repeater_observer_mqtt_bridge` builds, MQTT uplink brokers are **disabled by default** so the mesh bridge client is not competing with EastMesh/MeshMapper WSS uplink at boot. Enable uplink brokers manually in MQTT Settings when needed.
|
||||
|
||||
Example:
|
||||
|
||||
```text
|
||||
> set bridge.peer.host 192.168.1.10
|
||||
OK
|
||||
> set bridge.peer.port 1883
|
||||
OK
|
||||
> set bridge.peer.username meshbridge
|
||||
OK
|
||||
> set bridge.peer.password your-mqtt-password
|
||||
OK
|
||||
> set bridge.secret my-shared-secret
|
||||
OK
|
||||
```
|
||||
|
||||
### Web Panel Controls
|
||||
|
||||
- `get web`
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
# MeshCore EastMesh Docs
|
||||
|
||||
MeshCore-EastMesh keeps the upstream MeshCore firmware intact and publishes five firmware tracks, depending on how the device needs to connect:
|
||||
MeshCore-EastMesh keeps the upstream MeshCore firmware intact and publishes four firmware tracks, depending on how the device needs to connect:
|
||||
|
||||
- `companion-wifi`: use this for Wi-Fi-connected companion devices. It stays closest to upstream MeshCore and adds the EastMesh Wi-Fi rescue/configuration commands.
|
||||
- `repeater-bridge-espnow`: use this when you need a plain upstream-style repeater ESP-NOW bridge without MQTT uplink or the EastMesh web panel.
|
||||
- `observer-eastmesh`: use this for a Wi-Fi repeater that should publish to an MQTT broker and, on supported ESP32 boards, offer the optional local web panel for setup and troubleshooting.
|
||||
- `observer-eastmesh-bridge-espnow`: use this when one repeater needs both MQTT uplink and ESP-NOW bridge duties, including bridge channel/secret controls for keeping the bridge aligned with Wi-Fi.
|
||||
- `observer-eastmesh-bridge-mqtt`: use this when one repeater needs both MQTT uplink and bidirectional MQTT mesh bridging through a peer broker you configure in the web panel or CLI.
|
||||
|
||||
!!! note "Bridge tracks are local radio bridges"
|
||||
|
||||
The ESP-NOW bridge tracks are for bridging two nearby repeaters that operate on different MeshCore radio configs, for example one repeater on `Australia (Narrow)` and another on `Australia (Mid)`.
|
||||
|
||||
The MQTT bridge track uses a shared topic at a peer MQTT broker for mesh packet bridging. It is separate from MQTT uplink publishing to EastMesh or MeshMapper.
|
||||
|
||||
Bridge tracks are not MQTT-over-WAN, VPN, or internet tunnel releases.
|
||||
|
||||
If you want guidance first, start with:
|
||||
|
||||
@@ -146,13 +146,9 @@ T_Beam_S3_Supreme_SX1262_repeater_observer_espnow
|
||||
|
||||
## Supported `repeater_observer_mqtt_bridge` Boards
|
||||
|
||||
At present only the Xiao S3 WIO observer MQTT bridge target is defined:
|
||||
An `mqtt_bridge` build variant is defined for each observer board.
|
||||
|
||||
```text
|
||||
Xiao_S3_WIO_repeater_observer_mqtt_bridge
|
||||
```
|
||||
|
||||
List all observer MQTT bridge targets:
|
||||
List the available targets:
|
||||
|
||||
```bash
|
||||
bash eastmesh-build.sh list | grep '_repeater_observer_mqtt_bridge'
|
||||
|
||||
@@ -22,7 +22,7 @@ If you are not sure which track you need, start with `companion-wifi` for app-co
|
||||
|
||||
## Pick Your Track
|
||||
|
||||
EastMesh publishes five release tracks:
|
||||
EastMesh publishes four release tracks:
|
||||
|
||||
| Track | Use it when | Firmware filename suffix |
|
||||
| ----- | ----------- | ------------------------ |
|
||||
@@ -30,14 +30,11 @@ EastMesh publishes five release tracks:
|
||||
| `observer-eastmesh` | You want a repeater with Wi-Fi and MQTT uplink, usually feeding broker visibility such as EastMesh/CoreScope. | `*_repeater_observer` |
|
||||
| `repeater-bridge-espnow` | You want a local ESP-NOW bridge between nearby repeaters, without MQTT uplink or the EastMesh web panel. | `*_repeater_bridge_espnow` |
|
||||
| `observer-eastmesh-bridge-espnow` | You want one repeater to provide both MQTT uplink and local ESP-NOW bridge duties. | `*_repeater_observer_espnow` |
|
||||
| `observer-eastmesh-bridge-mqtt` | You want one repeater to provide both MQTT uplink and bidirectional MQTT mesh bridging to a peer broker. | `*_repeater_observer_mqtt_bridge` |
|
||||
|
||||
!!! note "Bridge firmware is not a WAN bridge"
|
||||
|
||||
ESP-NOW bridge tracks are for bridging two nearby repeaters that operate on different MeshCore radio configs, for example `Australia (Narrow)` and `Australia (Mid)`.
|
||||
|
||||
The MQTT bridge track forwards mesh packets through a shared topic at a peer MQTT broker you configure. It is separate from MQTT uplink publishing to EastMesh or MeshMapper.
|
||||
|
||||
Bridge tracks do not use MQTT uplink brokers to tunnel mesh traffic over the internet, WAN links, or VPNs.
|
||||
|
||||
## Pick The Right Asset
|
||||
@@ -51,7 +48,6 @@ Examples:
|
||||
- `heltec_v4_repeater_observer-v1.15.0-eastmesh-v2026.5.1-abcdef-merged.bin`
|
||||
- `heltec_v4_repeater_bridge_espnow-v1.15.0-abcdef.bin`
|
||||
- `heltec_v4_repeater_observer_espnow-v1.15.0-eastmesh-v2026.5.1-abcdef.bin`
|
||||
- `Xiao_S3_WIO_repeater_observer_mqtt_bridge-v1.15.0-eastmesh-v2026.7.0-abcdef.bin`
|
||||
|
||||
The important part is the board/env prefix:
|
||||
|
||||
@@ -59,7 +55,6 @@ The important part is the board/env prefix:
|
||||
- `*_repeater_observer`
|
||||
- `*_repeater_bridge_espnow`
|
||||
- `*_repeater_observer_espnow`
|
||||
- `*_repeater_observer_mqtt_bridge`
|
||||
|
||||
## Which File To Flash
|
||||
|
||||
@@ -192,19 +187,6 @@ Typical first steps after flashing:
|
||||
- set `bridge.channel` to match that Wi-Fi channel
|
||||
- set the same `bridge.secret` on every local ESP-NOW bridge node that should talk together
|
||||
|
||||
### Observer MQTT Bridge
|
||||
|
||||
`repeater_observer_mqtt_bridge` builds combine the observer role with bidirectional MQTT mesh bridging.
|
||||
|
||||
Typical first steps after flashing:
|
||||
|
||||
- set `wifi.ssid`
|
||||
- set `wifi.pwd`
|
||||
- set `mqtt.iata`
|
||||
- confirm `get mqtt.status`
|
||||
- set `bridge.peer.host` and `bridge.peer.port` to your peer MQTT broker
|
||||
- set the same `bridge.secret` on every MQTT bridge node that should talk together
|
||||
|
||||
### Repeater ESP-NOW Bridge
|
||||
|
||||
`repeater_bridge_espnow` builds are for local ESP-NOW bridge nodes without MQTT uplink.
|
||||
|
||||
@@ -255,7 +255,6 @@ This section includes:
|
||||
- `mqtt.email`: owner contact email.
|
||||
- MQTT brokers: **Primary MQTT** and **Secondary MQTT** dropdowns, each selecting one of `eastmesh-au`, `meshmapper`, `Custom`, the retired `letsmesh-eu`/`letsmesh-us`, or `None`. The two slots enforce the two-broker maximum, and a broker chosen in one slot is disabled in the other.
|
||||
- custom MQTT `host:port`, TCP/WSS transport, username, and password fields, shown when `Custom` is selected in either slot.
|
||||
- mesh bridge peer MQTT `host:port`, optional username and password, shown on MQTT bridge builds (`get bridge.type` returns `mqtt`). This is separate from MQTT uplink brokers and points at the shared peer broker used for bidirectional mesh packet bridging.
|
||||
|
||||
`UNSET - To be configured` is the default for new observer installs until a real saved value exists.
|
||||
|
||||
@@ -270,7 +269,6 @@ Notes:
|
||||
- turning off a connected MQTT server publishes retained offline status before the client disconnects
|
||||
- changing `mqtt.iata` away from a configured value publishes retained offline status to the old status topic, restarts connected broker clients, and reconnects under the new topic path
|
||||
- at most two MQTT brokers can be enabled at once
|
||||
- on MQTT bridge builds, both bridge nodes must use the same peer broker host, port, credentials, and `bridge.secret`
|
||||
|
||||
## `/stats` Overview
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ tracks:
|
||||
- repeater-bridge-espnow
|
||||
- observer-eastmesh
|
||||
- observer-eastmesh-bridge-espnow
|
||||
- observer-eastmesh-bridge-mqtt
|
||||
generated_from: "Adjacent git tag comparisons plus non-merge commit subjects."
|
||||
|
||||
releases:
|
||||
@@ -466,27 +465,3 @@ releases:
|
||||
area: mqtt
|
||||
text: "Added `packets_sent` and `packets_received` counters to the MQTT `status` payload `stats` object, reporting cumulative radio TX/RX packet totals to align with the Waev/MeshMapper status schema."
|
||||
breaking_changes: []
|
||||
|
||||
- track: observer-eastmesh-bridge-mqtt
|
||||
version: "2026.7.0"
|
||||
tag: "observer-eastmesh-bridge-mqtt-v2026.7.0"
|
||||
date: "2026-07-01"
|
||||
previous_version: null
|
||||
summary: "Introduces the observer-eastmesh-bridge-mqtt release track with bidirectional MQTT mesh bridging and web-panel peer broker configuration."
|
||||
changes:
|
||||
- type: added
|
||||
area: mqtt
|
||||
text: "Added `WITH_MQTT_BRIDGE` and `MQTTBridge` for bidirectional mesh packet transport over a shared MQTT topic at a peer broker."
|
||||
- type: added
|
||||
area: cli
|
||||
text: "Added `get/set bridge.peer.host` and `get/set bridge.peer.port` for configuring the peer MQTT broker used by the mesh bridge."
|
||||
- type: added
|
||||
area: web
|
||||
text: "Added mesh bridge peer MQTT host:port controls to the web panel on MQTT bridge builds."
|
||||
- type: added
|
||||
area: release
|
||||
text: "Added the `observer-eastmesh-bridge-mqtt-v*` release tag format, PlatformIO `*_repeater_observer_mqtt_bridge` environments, and CI build workflow."
|
||||
- type: added
|
||||
area: board
|
||||
text: "Added `Xiao_S3_WIO_repeater_observer_mqtt_bridge` as the first supported observer MQTT bridge target."
|
||||
breaking_changes: []
|
||||
|
||||
Reference in New Issue
Block a user