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.1.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.1-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: signalstats1090-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 0fc0022e20104b4a31f3e4466beb4cd3db4c5d0924ab998c204f8e80736d04ec
MD5 41e1c857576a7f2ffb90ed6640b187a0
BLAKE2b-256 b59df4e7ad78d0efffa854ebbad16183d46157a153e2d9e0bb8540ab894dd1c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for signalstats1090-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b91732a04352ceef199f4367cc98fd1e38fca6f4fa8381a23965751cd24cdce
MD5 01cc8327fd87fc07134c60efbfdde39a
BLAKE2b-256 8d09bcf6c99cf9e3c076bf3338c4b0582d99fff7200e659ea82786a36a74e7ac

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