Send SMS aircraft alerts based on ADS-B data
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Samuel Sloniker 7c38eae1aa Add shebang to run_adsms.py 12 months ago
adsms Packaging 1 year ago
.gitignore Initial commit 1 year ago
LICENSE Initial commit 1 year ago
README.md Update 'README.md' 1 year ago
build.sh Use build script 1 year ago
example_config.json Fix mismatch between installer and config 1 year ago
installer.sh Add systemd unit file 1 year ago
meson.build Remove debian/ 1 year ago
pyproject.toml Remove debian/ 1 year ago
requirements.txt Initial commit 1 year ago
run_adsms.py Add shebang to run_adsms.py 12 months ago
screenshot.jpg Upload screenshot 1 year ago

README.md

adsms

Send SMS aircraft alerts based on ADS-B data

Screenshot of text sent by adsms

Usage

Copy the configuration file, make any necessary changes, and run:

./adsms.py <configuration_file>

Configuration file

  • textbelt_key: your Textbelt API key
  • data: a URL to a readsb/tar1090 aircraft.json endpoint
  • tracker: a URL to a tar1090 tracker (e.g. https://globe.theairtraffic.com/)
  • database: an SQLite file in which to store subscriptions
  • pid_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 ignored
  • min_disappearance: the minimum time in seconds for which an aircraft must go "off the radar" before disappearing for new pings to trigger notifications again
  • delay: 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.