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
Jack Sweeney 90b74df7db ADSBX v2, crash notifications, Squawk, Nav modes
-ADSBX v2 API Support
-ADSBX API Proxy support, https://gitlab.com/jjwiseman/adsbx-api-proxy
-Built in crash notification to discord (Required RN need to add toggle)
-Fix some error handling
-Emergency Squawk Notifcations
-FMS Nav Mode Notifications (WIP, need to add set alt to althold notis and more)
-Landing / Takeoff notification code simplified to one module
2021-01-08 18:06:03 +00:00
ExImages Add Examples 2020-08-17 23:59:52 -04:00
configs ADSBX v2, crash notifications, Squawk, Nav modes 2021-01-08 18:06:03 +00:00
.gitignore New Airport Lookup 2020-11-21 03:58:43 +00:00
AppendAirport.py Add ADSBX Credit to Screenshots 2021-01-08 17:50:24 +00:00
LICENSE Create LICENSE 2020-08-03 09:35:46 -04:00
NotifyBotMulti.py ADSBX v2, crash notifications, Squawk, Nav modes 2021-01-08 18:06:03 +00:00
PseudoCode.md Fix formatting according to Markdown Style Guide 2020-11-21 18:07:18 +00:00
README.md Update TODO 2020-12-20 13:05:28 -05:00
Refrences.md Update needed dependencies in docs 2020-11-19 00:25:51 +00:00
defADSBX.py ADSBX v2, crash notifications, Squawk, Nav modes 2021-01-08 18:06:03 +00:00
defAirport.py Formatting 2020-11-21 18:26:27 +00:00
defDiscord.py Remove set response, unrefrenced 2020-11-21 03:52:23 +00:00
defMap.py Fix wrong file name 2020-11-21 03:51:50 +00:00
defOpenSky.py Unused value access removed 2020-11-22 01:41:34 +00:00
defSS.py Automatically detect if root and allow Chrome to be run as root 2021-01-01 23:00:45 +00:00
defTweet.py Move config files/reduce repase, intital airport lookup 2020-10-25 22:42:50 -04:00
planeClass.py ADSBX v2, crash notifications, Squawk, Nav modes 2021-01-08 18:06:03 +00:00

README.md

plane-notify

Codacy Badge GPLv3 License

Notify if configured planes have taken off or landed using Python with OpenSky or ADS-B Exchange Data, outputs location of takeoff location of landing and takeoff by reverse lookup of coordinates.

Branches

Their are two branches of this program single is the original only supports one plane works with OpenSky and ADSBX. Multi branch is the new version supports multiple planes, mainly built around being based on ADSBX data, OpenSky data in this version may have issues, didn't test much. Your current viewing multi.

Discord Output Example

Discord Output Example

More examples in the ExImages folder

ExImages

Background

I made this program so I could track Elon Musk's Jet and share with others of his whereabouts on Twitter. Twitter Follow I have now Expanded and run multiple accounts for multiple planes, a list of the accounts here plane-notify Twitter List

Contributing

Im open to any help or suggestions, I realize theirs much better ways im sure to do alot of my methods, im only a noob. I'll accept pull requests. If you'd like to discuss join https://JacksTech.net/Discord

Algorithm

Setup / Install

Make sure Python/PIP is installed

apt update
apt install python3
apt install python3-pip

Install Colorama, geopy, ptyz, etc

pip install colorama
pip install geopy
pip3 install ptyz
pip3 install tabulate
pip install pillow

Install OpenSky Wrapper, if your going to be using OpenSky as source

pip install -e "git+https://github.com/openskynetwork/opensky-api.git#egg=python&subdirectory=python"

Install Selenium / ChromeDriver or setup Google Static Maps

Selenium/ChromeDriver is used to take a screenshot of the plane on globe.adsbexchange.com. Or use Google Static Maps, which can cost money if over used(No tutorial use https://developers.google.com/maps/documentation/maps-static/get-api-key to get to a key).

1. Chromium

sudo apt-get install chromium

2. Web Driver Manager

pip install webdriver-manager

3. Selenium

pip install -U selenium

Install Pushbullet, Tweepy, and Discord optional output methods already implemented in code, only install the ones you want to use

pip install tweepy
pip install pushbullet.py
pip install discord_webhooks

These output methods once installed can be configured in planes config you create, using the example plane1.ini

Install Screen to run in the background

apt install screen

Download / Clone

apt install git
git clone -b multi --single-branch https://github.com/Jxck-S/plane-notify.git
cd plane-notify

Configure main config file with keys and URLs (mainconf.ini) in configs directory

  • 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
  • ADSBX is only setup for V1 API access, a V2 key will not work, I don't have a V2 key their for I can't make it compatible.

Configure individual planes

  • an example file is given (plane1.ini) plane config files should be in the configs directory, the program looks for any file in that folder with a .ini exstenstion.
  • each plane should have its own config

Enter and create new Screen Session

screen -R <name screen whatever you want>

Start Program

python3 NotifyBotMulti.py

TODO

  • General Cleanup
  • Add ADSBX V2 use (not really possible unless i get access, luckly if i to keep V1 use ADSBX may be taking away Free API possibly THANKS ALOT PPL who have to abuse)

More Refrences/Documentation