A Field Command Gateway for the Mesh

2026-10-07 by N8NAT builds

A small bot on the station that answers short commands sent from the field over LoRa mesh or APRS: weather, grid, a situation report, nearby repeaters, a callsign lookup. One dispatcher, several radios, a private channel for the keys.

Overview

The idea is simple: from a handheld in the field, send a short text and get a useful answer back. No app, no internet at the radio, just a line of text on a mesh channel.

  field radio  (Meshtastic / MeshCore / APRS)
      |  "!wx"   "!grid"   "!sitrep heading up the ridge"
      v
  the station gateway   (one dispatcher, every transport)
      |  parse the command, run it
      +--> local data:   grid, weather, sun, nearby repeaters
      +--> internet:     callsign lookup, assistant
      +--> files a SITREP to Winlink
      |  reply on the same channel it arrived on
      v
  field radio  shows the answer

How it works

One dispatcher handles every transport. A message arriving over Meshtastic, MeshCore, or APRS lands in the same place, gets parsed, and the answer goes back out the way it came. Commands use a leading ! so the same channel can still carry normal chat without the bot grabbing every line.

The command set so far: grid and whereami (your location from the node’s GPS), wx (weather), sun and solar (HF conditions), rb (nearby repeaters), lookup (US callsign), sitrep (a situation report that also files to Winlink), a question handed to the intelligent assistant, plus operator-defined canned replies.

The private channel is the lock

Commands run on a private channel, and the channel key is the authorization. Any device holding that key can command the station; devices on the default public channel cannot. That keeps the crowd on the public channel out of the command flow without a separate login. On APRS, the gate is the operator’s own callsign.

Replies are broadcasts, on purpose

A direct message on a fresh mesh node can fail before the two nodes have exchanged keys. A broadcast on the private channel always lands for anyone holding that key. Since the only devices on the channel are the operator’s own, a broadcast reply is both simpler and more reliable than a direct message.

Results

Verified end to end over RF: a handheld sends a command on the private channel, the station receives it, runs it, and replies on the same channel. The same commands work over all three transports. The use case that drove it is a field or EMCOMM operator who wants station data, a SITREP relay, or a quick lookup without carrying anything but the radio already in hand.

Lessons

  • One dispatcher, many transports. Parsing the command in one place and letting each transport bring its own send-and-reply kept the design small as radios were added.
  • Make the channel the auth. For a single operator, the channel key is a clean gate. No accounts, no tokens on the air.
  • Prefer the reliable path over the clever one. Broadcast-on-a-private-channel beat direct messaging because it just works on fresh nodes.