mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-09-02 08:13:44 +00:00
docs: document the Room Server role
- README: add Room Server to "Device Roles" + a build command in "Building" - ARCHITECTURE.md: role list two -> four (add Room Server + the previously-undocumented Observer) - Repeater_CLI_commands.md: note the room server shares this CLI - boards/example_board/README.md: add the room_server.conf build snippet
This commit is contained in:
@@ -60,6 +60,7 @@ For exact `west build -b` board strings, flash methods, and special setup, see t
|
||||
|
||||
- **Companion** (default) -- connects to MeshCore mobile apps via BLE. Contacts, channels, offline message queue.
|
||||
- **Repeater** -- forwards packets, configured via USB serial CLI. See the [Repeater CLI Command Reference](zephcore/Repeater_CLI_commands.md) for all available commands.
|
||||
- **Room Server** -- store-and-forward shared message room (a "BBS"). Clients log in with an admin or guest password and post messages; the server pushes each new post to every other logged-in client. No BLE; configured via the same USB serial CLI as the repeater.
|
||||
- **Observer** (ESP32 only) -- listen-only node that publishes received LoRa packets to MQTT over WiFi STA. Configured at runtime via serial CLI.
|
||||
|
||||
## Building
|
||||
@@ -97,6 +98,10 @@ west build -b rak4631 zephcore --pristine -- \
|
||||
west build -b xiao_esp32s3/esp32s3/procpu zephcore --pristine --sysbuild -- \
|
||||
-DEXTRA_CONF_FILE="boards/common/repeater.conf;boards/common/wifi_ota.conf"
|
||||
|
||||
# Room Server (store-and-forward BBS, USB CLI)
|
||||
west build -b rak4631 zephcore --pristine -- \
|
||||
-DEXTRA_CONF_FILE="boards/common/room_server.conf"
|
||||
|
||||
# Observer (ESP32, listen-only WiFi+MQTT)
|
||||
west build -b xiao_esp32c3 zephcore --pristine -- \
|
||||
-DEXTRA_CONF_FILE="boards/common/observer.conf"
|
||||
|
||||
@@ -25,10 +25,12 @@
|
||||
|
||||
## 1. Project Overview
|
||||
|
||||
ZephCore is a LoRa mesh networking firmware running on Zephyr RTOS. It supports two device roles:
|
||||
ZephCore is a LoRa mesh networking firmware running on Zephyr RTOS. It supports four device roles:
|
||||
|
||||
- **Companion**: BLE-connected device paired with a phone app. Full contact/channel/message management.
|
||||
- **Repeater**: Autonomous headless relay node. CLI administration via authenticated mesh connections or serial UART.
|
||||
- **Room Server**: Headless store-and-forward shared message room (BBS). Reuses the repeater's ACL/region/CLI; pushes new posts to logged-in clients (per-client sync cursor + ACK).
|
||||
- **Observer** (ESP32): Listen-only node that publishes received LoRa packets to MQTT over WiFi.
|
||||
|
||||
Supported hardware: nRF52840, nRF54L15, ESP32-C3/C6/S3, EFR32MG24 — all with SX1262 or LR1110 LoRa radios.
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
All commands are sent over USB serial (CDC-ACM). Commands sent remotely over the mesh (non-zero `sender_timestamp`) cannot access USB-only commands.
|
||||
|
||||
> The **Room Server** role shares this CLI — the common commands (radio, region, password, advert, gps, etc.) plus `setperm` / `get acl` all apply.
|
||||
|
||||
**Sources:**
|
||||
- `helpers/CommonCLI.cpp` — common commands shared by all roles
|
||||
- `app/RepeaterMesh.cpp` — repeater-specific commands
|
||||
|
||||
@@ -113,6 +113,14 @@ Append `-- -DEXTRA_CONF_FILE="boards/common/repeater.conf"` to any build command
|
||||
west build -b rak4631 zephcore -- -DEXTRA_CONF_FILE="boards/common/repeater.conf"
|
||||
```
|
||||
|
||||
### Building for Room Server Role
|
||||
|
||||
Append `-- -DEXTRA_CONF_FILE="boards/common/room_server.conf"` to any build command:
|
||||
|
||||
```
|
||||
west build -b rak4631 zephcore -- -DEXTRA_CONF_FILE="boards/common/room_server.conf"
|
||||
```
|
||||
|
||||
### Production Build (logging disabled)
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user