Connect an observer
Stream what your node hears to the BxMesh broker, so it shows up on the live map. Pick your software below; each guide takes you from login to a connected observer.
Before you start
You need a login. Apply at observers.bxmesh.net with a username and your email. Once it's approved, your password arrives by email: keep it to yourself.
One connection per login. If a second box connects with the same login, it takes over and the first one drops. Run two observers? Ask for two logins.
The radio must be on Bathurst's Australia (Mid) profile: 915.075 MHz, 125 kHz, SF9, CR 4/5.
| Host | mqtt.bxmesh.net |
|---|---|
| Port | 443 |
| Transport | MQTT over WebSockets, with TLS (wss) |
| Path | / (openHop's /mqtt works too) |
| Login | Your username and password |
| Packets | meshcore/BHS/<public key>/packets |
|---|---|
| Status | meshcore/BHS/<public key>/status |
| IATA code | BHS |
| Format | LetsMesh-compatible JSON, as openHop and meshcoretomqtt publish |
Pick your software
openHop
The pyMC Repeater, renamed. Set up in its web dashboard.
openHop runs your repeater and publishes what it hears. You set the broker up in its web dashboard, on the Observer page.
Open your repeater's dashboard and choose Configuration › Observer in the side menu.
Screenshot to come: the Observer page, Observer Status and Broker SettingsThe Observer page. Click Edit Settings.
Under Observer Setup, set IATA Code to
BHS. Leave Status Interval at 300 seconds. Owner Companion Pubkey and Email are optional.Under Broker Settings, click Add. (From Template lists other networks' brokers; ours isn't one of them.)
Fill in the Add Broker form, then click Done:
Name bxmesh Format Letsmesh Enabled On Transport Websockets Use JWT Auth Off Host mqtt.bxmesh.net Port 443 Username <your username> Password <your password> Retain Status On Insecure Off Publish Neighbours Off Screenshot to come: the Add Broker form, filled inThe Add Broker form. Click Save Settings.
Check Observer Status: Handler shows Active and the bxmesh broker shows as connected. Your node appears on CoreScope within a few minutes.
Screenshot to come: Observer Status with the bxmesh broker connectedConnected.
There's no path or TLS switch to set: openHop connects with TLS on by default, at /mqtt, which our broker accepts.
Editing the file instead
Add the broker under mqtt_brokers in /etc/openhop_repeater/config.yaml (keep any brokers you already have in the brokers list), then restart with sudo systemctl restart openhop-repeater.
mqtt_brokers:
iata_code: "BHS"
brokers:
- name: bxmesh
enabled: true
host: mqtt.bxmesh.net
port: 443
transport: websockets
format: letsmesh
username: <your username>
password: <your password>
retain_status: true
tls:
enabled: true
insecure: falsemeshcoretomqtt
A Raspberry Pi or Linux box bridging a node over USB.
meshcoretomqtt reads the packet log from a MeshCore node plugged in by USB, so the node needs firmware built with packet logging. It runs on a Raspberry Pi or any Linux machine with Python 3.11 or newer.
Install it. The installer creates an
mctomqttuser and service, and asks about brokers: you can skip its presets, as ours goes in the file in the next step.Installcurl -fsSL https://raw.githubusercontent.com/Cisien/meshcoretomqtt/main/install.sh | sudo bashPut our broker in
/etc/mctomqtt/config.d/99-user.toml, the file updates never overwrite:/etc/mctomqtt/config.d/99-user.toml[general] iata = "BHS" [[broker]] name = "bxmesh" enabled = true server = "mqtt.bxmesh.net" port = 443 transport = "websockets" keepalive = 60 qos = 0 retain = true [broker.tls] enabled = true verify = true [broker.auth] method = "password" username = "<your username>" password = "<your password>"retain = trueis right: meshcoretomqtt retains only its online/offline status, never packets. Leave remote serial off (it is by default): our logins can't receive commands, so it would only log refusals.Restart it and check it's running:
Restartsudo systemctl restart mctomqtt sudo systemctl status mctomqtt
MeshCore observer firmware
An ESP32 node that streams over Wi-Fi by itself.
The MQTT observer firmware turns an ESP32 node into an observer with no computer attached: it joins your Wi-Fi and publishes straight to the broker.
Flash it with the MeshCore Observer Flasher: choose MQTT Observer Firmware and your device, from Chrome or Edge.
Open a console: USB serial at 115200 baud, or a repeater admin login from the companion app.
Set the radio, the name, the region, Wi-Fi and our broker. Values run to the end of the line: no quotes.
Commandsset radio 915.075,125,9,5 set name <your observer's name> set mqtt.iata BHS set wifi.ssid <your Wi-Fi network> set wifi.pwd <your Wi-Fi password> set mqtt3.preset custom set mqtt3.server wss://mqtt.bxmesh.net:443/ set mqtt3.username <your username> set mqtt3.password <your password> rebootAfter it restarts, check it joined Wi-Fi and connected:
Checkget link.status get mqtt.status
mqtt2 in place of mqtt3).