This project provides a Python CLI script to measure key network metrics between a base station and rover at multiple distances.
- TCP bandwidth/throughput (
iperf3) - UDP throughput, jitter, and loss (
iperf3) - Ping latency (avg and p95) and packet loss (
ping) - Program feasibility for:
telemetrycommand_control
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtCopy and edit the example config:
cp config.example.yaml config.yamlSet:
base.hostrover.hostssh.userssh.key_pathdistances.rover_m
Dry-run matrix:
python network_rig_test.py run --config config.yaml --dry-runRun tests:
python network-test/network_rig_test.py run --config config.yamlOptional flags:
--session-name <name>--output-dir <path>--no-plots--fail-fast
Default output directory:
results/<timestamp_session>/
Artifacts:
measurements.csvsummary.jsonplots/metric_vs_distance.pngplots/latency_loss_vs_distance.pngplots/program_feasibility_vs_distance.png
- Current implementation supports
future.scenario_mode: directonly. - CSV schema includes relay-ready columns (
scenario,relay_distance_m) for future expansion. - The script retries each metric command once before marking failure in
notes.