MAVLink Local Demo¶
The local demo replays a safe Panama City shoreline patrol telemetry fixture into the existing drone telemetry endpoint.
Prerequisites¶
Run the AI1SAD backend with drone ingestion enabled:
$env:DRONE_INGEST_ENABLED="true"
python3 -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
Enable the bridge only for the local demo shell:
$env:MAVLINK_BRIDGE_ENABLED="true"
$env:AI1SAD_BASE_URL="http://localhost:8000"
$env:MISSION_ID="mission-panama-city-mavlink-demo"
$env:DRONE_ID="drone-panama-city-mavlink-demo"
Run The Demo¶
The script:
- creates or reuses a local demo mission
- replays
tests/fixtures/mavlink/panama_city_demo_telemetry.jsonl - posts normalized telemetry records to
/api/v1/drone/missions/{mission_id}/telemetry - fetches mission detail
- fetches the public surveillance feed
- prints concise pass/fail output
After the backend and frontend are running, the Drone Operator Console can be opened at:
Use the console to review the demo mission ID and submit human-entered observations. The console does not read .tlog files, listen to UDP, or send MAVLink commands.
Generic Fixture Replay¶
python scripts/run_mavlink_bridge.py --fixture-jsonl tests/fixtures/mavlink/panama_city_demo_telemetry.jsonl
.tlog and UDP modes are placeholders in Phase 25B and do not parse or transmit MAVLink traffic yet.