计划-通知
使用Python与OpenSky或ADS-B交换数据,通知所配置的飞机是否已经起飞或降落,通过坐标的反向查找,输出起飞的位置和降落的位置。
分支
这个程序有两个分支,单分支是原来只支持一架飞机的OpenSky和ADSBX。多分支是新版本,支持多架飞机,主要是基于ADSBX的数据,这个版本的OpenSky数据可能有问题,没怎么测试。你当前查看的多。
背景介绍
我做这个程序是为了追踪Elon Musk的喷气机,并在Twitter上与其他人分享他的行踪。 我现在已经为多架飞机扩展和运行了多个账户,这里有一个账户列表plan-notify Twitter List
贡献
我愿意接受任何帮助或建议,我意识到他们有很多更好的方法来完成我的许多方法,我只是一个新手。我可以接受拉动请求。如果你想讨论,请加入JacksTech.net/Discord。
算法
设置/安装
确保Python/PIP已经安装
apt update
apt install python3
apt install python3-pip
安装Pipenv和依赖项
pip install pipenv
pipenv install
安装Selenium/ChromeDriver或设置谷歌静态地图
Selenium/ChromeDriver用于在globe.adsbexchange.com上对飞机进行截图。或者使用谷歌静态地图,如果过度使用,可能会花钱(没有教程使用developers.google.com/maps/docume…,以获得一个关键)。
Chromium
sudo apt-get install chromium
这些输出方法一旦安装,可以在你创建的飞机配置中进行配置,使用plan1.ini的例子
安装屏幕以在后台运行
apt install screen
下载 / 克隆
apt install git
git clone -b multi --single-branch https://github.com/Jxck-S/plane-notify.git
cd plane-notify
在configs目录中配置带有密钥和URL的主配置文件(mainconf.ini)
- 在运行的机器上或在你的电脑上用nano或vi编辑它们,然后将配置转移到你将运行机器人的地方。
- 如果你已经设置了多个计划,并想使用ADSB Exchange作为你的源,你必须有/all endpoint访问他们的API,否则将无法工作。
- 为ADSB Exchange选择正确的api版本
- 代理是如果你运行多个使用ADSB Exchange的程序,从lemonodor设置代理,这样你就不会滥用ADSB Exchange的API,否则让启用假。
配置各个平面
- 给出了一个例子(plane1.ini),飞机的配置文件应该在configs目录下,程序会在该文件夹下寻找任何扩展名为.ini的文件。
- 每个飞机都应该有自己的配置
进入并创建新的屏幕会话
screen -R <name screen whatever you want>
启动程序
pipenv run python __main__
与Docker一起使用
从他们的网站上安装docker。从项目的根目录下运行以下命令:
docker-compose up -d
运行此命令后,dut到-d 标志,容器将在后台运行。要看到docker的日志
TODO
- 总体清理
- 重组项目,使其适当的目前的随机文件,因为我以前不知道如何正确的结构一个项目。(正在进行中)
- 添加适当的日志和服务来运行程序,删除过多的打印。