Jxck-S / Plan-notify应用程序的指南

215 阅读3分钟

计划-通知

Codacy BadgeGPLv3 License

使用Python与OpenSky或ADS-B交换数据,通知所配置的飞机是否已经起飞或降落,通过坐标的反向查找,输出起飞的位置和降落的位置。

分支

这个程序有两个分支,单分支是原来只支持一架飞机的OpenSky和ADSBX。多分支是新版本,支持多架飞机,主要是基于ADSBX的数据,这个版本的OpenSky数据可能有问题,没怎么测试。你当前查看的多。

背景介绍

我做这个程序是为了追踪Elon Musk的喷气机,并在Twitter上与其他人分享他的行踪。 Twitter Follow我现在已经为多架飞机扩展和运行了多个账户,这里有一个账户列表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

  • 总体清理
  • 重组项目,使其适当的目前的随机文件,因为我以前不知道如何正确的结构一个项目。(正在进行中)
  • 添加适当的日志和服务来运行程序,删除过多的打印。