Logan Cusano 2e491f8111 init
2025-12-28 02:37:39 -05:00
2025-12-28 02:37:39 -05:00
2025-12-28 02:37:39 -05:00
2025-12-28 02:37:39 -05:00
2025-12-28 02:37:39 -05:00
2025-12-28 02:37:39 -05:00
2025-12-28 02:37:39 -05:00

radio-c2-core

The "Brain" of the project. This central server manages the global state of the radio network, routes commands to nodes, and persists historical data.

  1. Components

MQTT Broker (Mosquitto): The post office. Handles all traffic between nodes and the C2.

FastAPI Core: The logic engine. Listens to MQTT events and provides the REST API for the future Web Portal.

PostgreSQL: The memory. Stores node registry, status history, and metadata logs.

  1. MQTT Topic Structure

nodes/{node_id}/checkin: Nodes publish their full config here on boot.

nodes/{node_id}/status: LWT (Last Will) and periodic heartbeat.

nodes/{node_id}/command: C2 publishes tuning commands here for nodes to execute.

nodes/{node_id}/metadata: High-resolution talkgroup and signal data.

  1. The Handshake

Node connects to MQTT.

Node publishes online to status and full JSON to checkin.

C2 receives checkin, updates the database, and marks the node as "Manageable".

If Node vanishes, Broker publishes offline to status via LWT.

Description
No description provided
Readme 76 KiB
Languages
Python 94.3%
Dockerfile 5.7%