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

Uploaded Python 3

File details

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

File metadata

  • Download URL: signalstats1090-0.2.4.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.4.tar.gz
Algorithm Hash digest
SHA256 43699dce2406727182d55a791b54c014bd3ee4d475792801dc3a26c19d8cb007
MD5 946ef33813fdeb7501ea4c3833812702
BLAKE2b-256 b905c4ea760f0cfae5721bfc7c833fd4f070e5bc2de857e010a3b5261c93945a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for signalstats1090-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 90ce33cdac97d31d16685b2b108227ba916fd0e2177cd5f109afed868fc35256
MD5 378c212e7a06bcc86144763827770188
BLAKE2b-256 87a8164f84fbe6fe5597a186adce1f1e0694dfb617f438964f1727d8fcfb4f73

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