| Observer | Key Prefix | Model | Firmware / Client | IATA | Uptime | Pkts/hr | ⏰ Clock | Repeat | 📡 Neighbors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Connecting to MQTT sources… | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Configure a MeshCore observer node to publish packet data to the Chicago Mesh MQTT broker. Your node's data will appear in the matrix above and feed into CoreScope, Live Map, and Health Check.
What's an observer? An observer is a MeshCore node running firmware that captures packets heard over LoRa radio and publishes them to an MQTT broker over WiFi. It's like a packet sniffer for the mesh — you don't need to be a repeater or route traffic, just listen and report.
Flash the Chicagoland firmware — all MQTT brokers, radio settings, and IATA region are baked in. Just add WiFi, identity, and location.
*-merged.bin for your board from the v1.17.0-chioff-0.14.0 release — e.g. heltec_v4_dedicated_observer_mqtt-…-merged.bin, Heltec_v3_dedicated_observer_mqtt-…-merged.bin, Heltec_WSL3_dedicated_observer_mqtt-…-merged.bin, or Station_G2_dedicated_observer_mqtt-…-merged.binFirmware variants: each board has dedicated_observer (listen-only), repeater_observer (repeater + observe), and room_server_observer builds. Pick the one matching your node's role. Heltec V4 also has expansionkit variants.
# Set identity
set name MyObserver
# Configure WiFi
set wifi.ssid YourNetworkName
set wifi.pwd YourPassword
# Set location (find yours at latlong.net)
set lat 41.8781
set lon -87.6298
set alt 180
# Owner contact (email — NOT mqtt.owner, which wants a pubkey)
set mqtt.email you@example.com
# Apply and reboot
reboot
Note: mqtt.iata is pre-set to ORD (Chicago) in the Chicagoland firmware — you do not need to set it manually. MQTT brokers and radio parameters are also baked in.
get public.key # your node's public key (used in the MQTT topic)
get prv.key # private key (keep secret; back it up)
get wifi.status # WiFi connection state
get mqtt.status # per-slot broker connection state
get mqtt.iata # should print ORD
advertise # send a MeshCore ADVERT now
mqtt.neighbors), SNMP diagnostics, power-loss-safe prefs, OTA clean-stop guardalert.psk, alert.region, alert.threshold — see ALERTS.mdIf you're running stock MeshCore firmware (not chioff-flex), you can point it at our plain TCP broker manually:
set mqtt.server mqtt.chicagooffline.com
set mqtt.port 1883
set mqtt.iata ORD
reboot
mqtt.chicagooffline.com:1883mqtt.iata ORD manually with stock firmware — it's only auto-set in the Chicagoland buildTo point an external application — e.g. OpenHop Router, a custom bridge, or any MQTT client — at the Chicago Mesh broker, use one of the endpoints below.
wss://wsmqtt.chicagooffline.com:443/mqtt (alias: wss://ws.chioff.com/mqtt)wsmqtt.chicagooffline.com : 443wsmqtt.chicagooffline.com). No static password.mqtt://mqtt.chicagooffline.com:1883 (alias: mqtt://mqtt.chioff.com:1883)mqtt.chicagooffline.com : 1883ORD (Chicago)meshcore/ORD/<pubkey>/packetsmeshcore/ORD/#OpenHop Router: set the broker to the plain-TCP endpoint mqtt.chicagooffline.com:1883 (topic root meshcore/ORD) for the simplest setup, or the WSS endpoint if your build supports WebSocket + JWT. Match the radio params (910.525 MHz / BW 62.5 / SF7 / CR5) on any RF-facing side.
wss://wsmqtt-dev.chicagooffline.com:443/mqtt (JWT)After configuring and rebooting, confirm your node is connected:
[MQTT] Connectedget wifi.status, check DNS, confirm port 1883 isn't blockedmeshcore/ORD/<pubkey>/packets), check your public key with get public.keyver