# plane-notify [![Codacy Badge](https://api.codacy.com/project/badge/Grade/c4e1d839eec3468cadfe351d64dc1ac4)](https://app.codacy.com/manual/Jxck-S/plane-notify?utm_source=github.com&utm_medium=referral&utm_content=Jxck-S/plane-notify&utm_campaign=Badge_Grade_Settings) [![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/) 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. ## Why I made it Made it so I could track Elon Musk's Jet and share with others of his whereabouts on Twitter. [![Twitter Follow](https://img.shields.io/twitter/follow/ElonJet.svg?style=social)](https://twitter.com/ElonJet) ## How It works - Takes data about every 15 seconds from OpenSky Network or ADS-B Exchange and 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 ) ## Required PIP packages - OpenSky API - geopy - colorama ### Install OpenSky API ```bash apt install git git clone https://github.com/openskynetwork/opensky-api.git pip install -e ~/opensky-api/python ``` ### Install Colorama and geopy ```bash pip install colorama pip install geopy ``` ### Install Pushbullet and Tweepy optional output methods already implemented in code ```bash pip install tweepy pip install pushbullet.py ``` ### Install Screen to run in background ```bash apt install screen ``` ### Make sure Python is installed ```bash apt install python3 ``` ### Download / Clone ```bash git clone https://github.com/Jxck-S/plane-notify.git cd plane-notify ``` ### Configure config file with keys and urls - edit them with nano or vi on the running machine or on your pc and transfer the config to where you will be running the bot ### Enter and create new Screen Session ```bash screen -R ``` ### Start Program ```bash python3 NotifyBot.py ``` ### TODO implement airport name, done by closest airport #### Refrences - - - - -