Step-by-step guide
Observer setup
Select the software you're using. Always replace XXX with your region's three-letter IATA code.
GitHub: agessaman/meshcore-packet-capture
Open the user configuration
Edit the file:
/etc/meshcore-packet-capture/.env.localAdd both MQTT profiles
Change XXX to your region's code, e.g. PRG, BRQ or OSR.
Restart the service
Run sudo systemctl restart meshcore-packet-capture.
# ---------------------------------------------------------------------------
# Global MeshCore settings
# ---------------------------------------------------------------------------
PACKETCAPTURE_IATA=XXX
# Replace XXX with your location's 3-letter IATA code, e.g. OSR, PRG, BRQ...
PACKETCAPTURE_TOPIC_STATUS=meshcore/{IATA}/{PUBLIC_KEY}/status
PACKETCAPTURE_TOPIC_PACKETS=meshcore/{IATA}/{PUBLIC_KEY}/packets
# ---------------------------------------------------------------------------
# MQTT Broker 3 - MeshCore CZ MQTT1
# ---------------------------------------------------------------------------
PACKETCAPTURE_MQTT3_ENABLED=true
PACKETCAPTURE_MQTT3_NAME=MQTT1 Czech
PACKETCAPTURE_MQTT3_SERVER=mqtt1.meshcore.cz
PACKETCAPTURE_MQTT3_PORT=443
PACKETCAPTURE_MQTT3_TRANSPORT=websockets
PACKETCAPTURE_MQTT3_USE_TLS=true
PACKETCAPTURE_MQTT3_TLS_VERIFY=true
PACKETCAPTURE_MQTT3_USE_AUTH_TOKEN=true
PACKETCAPTURE_MQTT3_TOKEN_AUDIENCE=mqtt1.meshcore.cz
PACKETCAPTURE_MQTT3_QOS=0
PACKETCAPTURE_MQTT3_KEEPALIVE=120
PACKETCAPTURE_MQTT3_TOPIC_STATUS=meshcore/{IATA}/{PUBLIC_KEY}/status
PACKETCAPTURE_MQTT3_TOPIC_PACKETS=meshcore/{IATA}/{PUBLIC_KEY}/packets
# ---------------------------------------------------------------------------
# MQTT Broker 4 - MeshCore CZ MQTT2
# ---------------------------------------------------------------------------
PACKETCAPTURE_MQTT4_ENABLED=true
PACKETCAPTURE_MQTT4_NAME=MQTT2 Czech
PACKETCAPTURE_MQTT4_SERVER=mqtt2.meshcore.website
PACKETCAPTURE_MQTT4_PORT=443
PACKETCAPTURE_MQTT4_TRANSPORT=websockets
PACKETCAPTURE_MQTT4_USE_TLS=true
PACKETCAPTURE_MQTT4_TLS_VERIFY=true
PACKETCAPTURE_MQTT4_USE_AUTH_TOKEN=true
PACKETCAPTURE_MQTT4_TOKEN_AUDIENCE=mqtt2.meshcore.website
PACKETCAPTURE_MQTT4_QOS=0
PACKETCAPTURE_MQTT4_KEEPALIVE=120
PACKETCAPTURE_MQTT4_TOPIC_STATUS=meshcore/{IATA}/{PUBLIC_KEY}/status
PACKETCAPTURE_MQTT4_TOPIC_PACKETS=meshcore/{IATA}/{PUBLIC_KEY}/packetsGitHub: Cisien/meshcoretomqtt
Open the configuration
Edit /etc/mctomqtt/config.d/99-user.toml.
Configure the region and both MQTT profiles
Replace XXX with your observer's three-letter region code.
Restart and verify
sudo systemctl restart mctomqttsudo systemctl status mctomqtt --no-pager
[general]
iata = "XXX"
# ============================================================
# MQTT1 Czech
# ============================================================
[[broker]]
name = "MQTT1 Czech"
enabled = true
server = "mqtt1.meshcore.cz"
port = 443
transport = "websockets"
keepalive = 60
qos = 0
[broker.tls]
enabled = true
verify = true
[broker.auth]
method = "token"
audience = "mqtt1.meshcore.cz"
[broker.topics]
status = "meshcore/{IATA}/{PUBLIC_KEY}/status"
packets = "meshcore/{IATA}/{PUBLIC_KEY}/packets"
# ============================================================
# MQTT2 Czech
# ============================================================
[[broker]]
name = "MQTT2 Czech"
enabled = true
server = "mqtt2.meshcore.website"
port = 443
transport = "websockets"
keepalive = 60
qos = 0
[broker.tls]
enabled = true
verify = true
[broker.auth]
method = "token"
audience = "mqtt2.meshcore.website"
[broker.topics]
status = "meshcore/{IATA}/{PUBLIC_KEY}/status"
packets = "meshcore/{IATA}/{PUBLIC_KEY}/packets"Settings › Devices & Services › MeshCore › Configure › Manage MQTT Brokers › Add Broker
Add two separate brokers - one for MQTT1 Czech, one for MQTT2 Czech - using the same dialog.
Broker 1 · MQTT1 Czech
Broker 2 · MQTT2 Czech
GitHub: openhop-dev/openhop_repeater
Open the configuration
Edit the mqtt_brokers section in the Openhop Repeater configuration (formerly PyMC).
Enter your observer's identity details
Replace <email>, <IATA code> and <pub key> with your own values.
Restart the service
Restart Openhop Repeater according to its documentation for the new configuration to take effect.
mqtt_brokers:
brokers:
- name: CZ 1
enabled: true
transport: websockets
host: mqtt1.meshcore.cz
port: 443
format: meshcoretomqtt
disallowed_packet_types: []
retain_status: true
tls:
enabled: true
insecure: false
use_jwt_auth: true
audience: mqtt1.meshcore.cz
- name: CZ 2
enabled: true
transport: websockets
host: mqtt2.meshcore.website
port: 443
format: meshcoretomqtt
disallowed_packet_types: []
retain_status: true
tls:
enabled: true
insecure: false
use_jwt_auth: true
audience: mqtt2.meshcore.website
email: <email>
iata_code: <IATA code>
owner: <pub key>
status_interval: 300