diff --git a/README.md b/README.md index 635007a8..fbacd048 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,8 @@ CoreScope () 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 diff --git a/eastmesh-docs/boards.md b/eastmesh-docs/boards.md index a23b3319..edc52c84 100644 --- a/eastmesh-docs/boards.md +++ b/eastmesh-docs/boards.md @@ -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)`. diff --git a/eastmesh-docs/custom-cli.md b/eastmesh-docs/custom-cli.md index dee72e8a..c122db45 100644 --- a/eastmesh-docs/custom-cli.md +++ b/eastmesh-docs/custom-cli.md @@ -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 `: 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 `: sets the peer MQTT broker port and restarts the bridge. -- `get bridge.peer.username` / `set bridge.peer.username `: optional peer MQTT broker username. -- `get bridge.peer.password` / `set bridge.peer.password `: optional peer MQTT broker password (`get` returns `set` or `-`, not the stored value). -- `get bridge.secret` / `set bridge.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` diff --git a/eastmesh-docs/index.md b/eastmesh-docs/index.md index 51c91753..cbb1604b 100644 --- a/eastmesh-docs/index.md +++ b/eastmesh-docs/index.md @@ -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: diff --git a/eastmesh-docs/local-builds.md b/eastmesh-docs/local-builds.md index 1acd29af..d2cbb221 100644 --- a/eastmesh-docs/local-builds.md +++ b/eastmesh-docs/local-builds.md @@ -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' diff --git a/eastmesh-docs/releases.md b/eastmesh-docs/releases.md index 174de088..3120a466 100644 --- a/eastmesh-docs/releases.md +++ b/eastmesh-docs/releases.md @@ -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. diff --git a/eastmesh-docs/web-panel.md b/eastmesh-docs/web-panel.md index 77f84f0f..dce014b8 100644 --- a/eastmesh-docs/web-panel.md +++ b/eastmesh-docs/web-panel.md @@ -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 diff --git a/release-notes.yml b/release-notes.yml index aff3a130..27e6ebab 100644 --- a/release-notes.yml +++ b/release-notes.yml @@ -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: []