Send SMS aircraft alerts based on ADS-B data
adsms | ||
.gitignore | ||
adsms.service | ||
example_config.json | ||
installer.sh | ||
LICENSE | ||
pyproject.toml | ||
README.md | ||
requirements.txt | ||
screenshot.jpg |
adsms
Send SMS aircraft alerts based on ADS-B data
Usage
Copy the configuration file, make any necessary changes, and run:
./adsms.py <configuration_file>
Configuration file
textbelt_key
: your Textbelt API keydata
: a URL to a readsb/tar1090aircraft.json
endpointtracker
: a URL to a tar1090 tracker (e.g. https://globe.theairtraffic.com/)database
: an SQLite file in which to store subscriptionspid_file
: path to which to write the PID (set to empty string to not write a PID file)max_age
: maximum age of aircraft pings in seconds; pings older than this will be ignoredmin_disappearance
: the minimum time in seconds for which an aircraft must go "off the radar" before disappearing for new pings to trigger notifications againdelay
: time to wait after processing all rules before running the loop again
Database Schema
adsms
uses a SQLite database to store subscriptions and information about tracked aircraft. Currently, the only table is subscriptions
.
subscriptions
The subscriptions
table has the following columns:
Column Name | Data Type | Description |
---|---|---|
rowid |
INTEGER | Unique identifier for the subscription. |
phone |
TEXT | Phone number to receive notifications for this subscription. |
icao |
TEXT | ICAO address of the aircraft to track. |
description |
TEXT | Description of the aircraft being tracked. |
last_seen |
INTEGER | Timestamp of the last time this aircraft was seen by the system. |
This table stores information about each subscription, including the phone number to send notifications to, the ICAO address of the aircraft to track, a description of the aircraft, and the last time it was seen by the system.
Use of ChatGPT
Portions of both this README and the adsms
code have been partially written with ChatGPT.