diff --git a/README.md b/README.md index 0409968..96812d9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,15 @@ # plane-notify -Developed so I could auto tweet Elon Musk's jet activity. -Still WIP Should not use yet. 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. +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 - OpenSky API https://github.com/openskynetwork/opensky-api - geopy https://github.com/geopy/geopy @@ -24,4 +32,36 @@ 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 +``` + +### Start Program +``` +python3 NotifyBot.py +``` + +