Notify if a selected plane has taken off or landed using ADS-B data. Compares older data to newer data to determine if a landing or takeoff has occurred. As well as nav modes, emergency squawk and resolution advisory notifications. Can output to Twitter, Discord, Mastodon, and Telegram
Go to file
Jxck-S 9a10edbc60 Add Image Map ability 2020-07-22 12:35:45 -04:00
OpenSky Bot.py Add Image Map ability 2020-07-22 12:35:45 -04:00
README.md Refrences 2020-07-06 22:05:50 -04:00
defMap.py Add Image Map ability 2020-07-22 12:35:45 -04:00
defOpenSky.py Change defined modules and add tweeting 2020-06-27 18:46:47 -04:00
defTweet.py Change defined modules and add tweeting 2020-06-27 18:46:47 -04:00

README.md

plane-notify

Nearing final first version. Notify If a Selected Plane has taken off or landed using Python with OpenSky API, outputs location of takeoff location of landing and takeoff by revese lookup of cordinates.

How It works

  • Takes data about every 15 seconds from OpenSky Network compares it to previous data with whats I've defined as a landing or takeoff event.
  • A takeoff event event is the plane is not on ground, below 10k feet and ((previously no data and now getting data) or was previously on ground).
  • A landing event is previosly below 10k feet and (previously getting data, no longer getting data and previously not on ground) or (now on ground and previously not on ground).
  • Given the coordinates of the aircraft the coordinates are reverse looked up for a location name. (Geopy Nomination Geolocater)
  • At time of takeoff a takeoff time is set which is refrenced in landing event to calculate an approximate total flight time.
  • Static map image is created based off location name. (Google Static Maps API)
  • If the landing event and takeoff events are true creates the output to Twitter and Pushbullet, uses the location name, map image and takeoff time if landing. (Tweepy and Pushbullet ) a

Required PIP packages

Install OpenSky API

apt install git 
git clone https://github.com/openskynetwork/opensky-api.git
pip install -e ~/opensky-api/python

Install Colorama and geopy

pip install colorama
pip install geopy

Install Pushbullet and Tweepy optional output methods already implemented in code

pip install tweepy
pip install pushbullet.py

Install Screen to run in background

apt install screen

Make sure Python is installed

apt install python3

Download / Clone

git clone https://github.com/Jxck-S/plane-notify.git
cd plane-notify

Configure defOpenSky, defTweet and defMap with API keys

  • defOpenSky doesn't require an OpenSky API key but bennefits from one.
  • defTweet can be disabled if removed from NotifyBot.py or give Twitter API keys to it.
  • Pushbullet is setup in main NotifyBot.py
  • defMap needs Google Static Map API keys.
  • edit them with nano or vi

Enter and create new Screen Session

screen -R <name screen whatever you want>

Start Program

python3 NotifyBot.py

Refrences