Skip to main content

Signal statistics dashboard for Mode-S/ADS-B signals from dump1090

Project description

dump1090 Real-Time Signal Statistics

This project provides a web application for real-time monitoring of ADS-B messages using dump1090. The application consists of a FastAPI backend and a frontend that displays various statistics in real-time using Chart.js.

Features

  • Message Rate Statistics: Computes and displays message rates over different intervals (5s, 15s, 30s, 60s, 300s).
  • Signal Strength Statistics: Computes and displays minimum, maximum, and average signal strength over 30 seconds.
  • Distance Statistics: Computes and displays minimum, maximum, and percentile distances over 30 seconds.
  • Coverage Statistics: Displays coverage statistics in a radar chart, showing the distribution of messages by distance and bearing.

Backend (main.py)

The backend is built using FastAPI and provides the following functionalities:

  • WebSocket Endpoint: Handles WebSocket connections to broadcast real-time statistics to the frontend.
  • ADSB Client: Connects to a dump1090 BEAST server to receive ADS-B messages, compute statistics, and update sliding windows.
  • Statistics Computation: Computes message rates, signal strength, distance statistics, and coverage statistics.
  • Broadcast Task: Periodically computes and broadcasts statistics to all connected WebSocket clients.

Running the Backend

To run the backend, execute the following command:

python msgrates.py

Command Line Arguments

The script supports the following command line arguments:

  • --host: Host to run the web server on (default: 0.0.0.0).
  • --port: Port to run the web server on (default: 8000).
  • --antenna-lat: Antenna latitude (required for running the server).
  • --antenna-lon: Antenna longitude (required for running the server).
  • --dump1090-host: Host running dump1090 (default: localhost).
  • --dump1090-port: Port for dump1090 (default: 30005).

Example usage:

python msgrates.py run --antenna-lat 52.5200 --antenna-lon 13.4050

Installation

You can install the program from pip:

pip install signalstats1090

After installation, you can run the program using the following command:

signalstats1090 run --antenna-lat 52.5200 --antenna-lon 13.4050

Frontend (index.html)

The frontend is an HTML page that uses Chart.js to display various statistics in real-time. It connects to the backend via WebSocket to receive updates and update the charts.

Charts

  • Message Rate Chart: Displays message rates over different intervals (5s, 15s, 30s, 60s, 300s).
  • Signal Strength Chart: Displays minimum, average, and maximum signal strength over 30 seconds.
  • Distance Chart: Displays minimum, maximum, and percentile distances over 30 seconds.
  • Distance Histogram Chart: Displays the count of position readings in 30km buckets (up to 300km).
  • Coverage Chart: Displays coverage statistics in a radar chart, showing the distribution of messages by distance and bearing.

Viewing the Frontend

To view the frontend, open a web browser and navigate to:

http://localhost:8000

License

This project is licensed under the MIT License.

© 2025 Clemens Vasters. All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signalstats1090-0.2.2.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signalstats1090-0.2.2-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file signalstats1090-0.2.2.tar.gz.

File metadata

  • Download URL: signalstats1090-0.2.2.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for signalstats1090-0.2.2.tar.gz
Algorithm Hash digest
SHA256 454b6c21d6dd43fca6616f236d51ca6901a693442650672ba9d61620c22afe2a
MD5 94384cd420f06e5540da7e471c3f8785
BLAKE2b-256 97872c457705d09f5f3ca2a883eb68dce59b41eb84775b1a507a1375ea3eac97

See more details on using hashes here.

File details

Details for the file signalstats1090-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for signalstats1090-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cad8372f2d8c71855efa1e013161fc83f14724ef37183c8007caeeb9e469990b
MD5 eb7bb324d1481cab68218b4695a4cdd6
BLAKE2b-256 b43680bd25b9cdcd680c49f287e584d68b6089c295b171289af668e904e066f1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page