现在很有可能有飞机飞过你的房子。使用一个覆盆子π我们可以创建自己的“雷达”,显示这些飞机的实时位置,如果我们有一个投影仪,我们可以把它投射到天花板上。否则,我们可以在普通屏幕上追踪它。
对ads - b技术
许多飞机都配备了一种被称为ADS-B的装置。它是“自动依赖监视-广播”的缩写,是一种允许飞机将自己的位置信息发送给其他飞机、地面基站,甚至卫星基站的技术。对于无法安装更复杂的避撞技术的小型飞机来说,ADS-B发射器和接收器可以大大提高飞行安全性。
装有ADS-B发射器(这在越来越多的国家成为法律)的飞机,可以传送各种位置数据,如高度、GPS坐标和地面速度数据。幸运的是,所有的数据都是用标准频率传输的,而且没有加密。这意味着我们可以通过一个小型USB适配器和一个树莓派,监听附近飞机的位置信息
这个项目你需要什么
- 树莓4π或带电源适配器的树莓派3
- 8gb(或更大)microSD卡withRaspberryπOS。查看我们的列表覆盆子派最好的microSD卡.
- ads - b接收设备(天线和USB狗)这一个.
- 显示器或投影仪使用HDMI和电源线。如果你想在天花板上投影,你需要一台投影仪。
如何用树莓派追踪本地飞机
在你开始之前,确保你已经设置好了Raspberry Pi操作系统。如果您以前没有这样做过,请参阅我们关于如何做的文章设置一个树莓派第一次或如何做一个无头树莓派安装(没有键盘和屏幕)。
1.更新树莓派操作系统在命令提示符处输入下面的命令。这几乎是不言而喻的,但却是一个很好的实践。
Sudo apt-get update -y
2.安装基础组件我们需要与ADS-B接收器通信,并使用Python显示飞机位置。
Sudo apt-get install build-essential debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev libhackrf-dev liblimesuite-dev libsdl2-ttf-2.0-0
3.克隆dump1090存储库放到主目录中。Dump1090是一个解码器,可以让我们将ADS-B消息解码成可读的JSON。
CD ~/ git clone https://github.com/flightaware/dump1090.git
4.构建dump1090.这可能需要一些时间,这取决于你的树莓派的类型。
cd dump1090使
5.连接ADS-B接收器到树莓派的USB接口。
6.运行dump1090从它的目录中。
/ dump1090——互动
您应该会在控制台中看到一个表格,其中的不同行填充了头顶飞机的数据,包括它们的高度和航班号。
现在我们已经安装了ADS-B解码器,我们可以下载投影代码了。我用python和pygame库编写了一个简单的程序,它显示飞机的实时位置,以及它们的航班号和高度(都来自dump1090)。我们非常欢迎您对其进行修改或自行构建。
7.克隆树莓派飞行跟踪器git.
CD ~/ git clone https://github.com/rydercalmdown/raspberry_pi_flight_tracker.git
8.建立一个虚拟环境使用python3作为飞行跟踪器。
CD raspberry_pi_flight_tracker virtualenv -p python3 env . exe
9.激活虚拟环境,安装python需求.
Source env/bin/activate PIP install -r src/requirements.txt
10.将environment.sample.sh重命名为environment.sh和打开新文件进行编辑。
Mv environment.sample.sh environment.sh #使用nano environment.sh编辑文件
11.编辑文件以设置值为当前纬度和经度,以及最大纬度和经度。最大值将决定你的位置周围有多少区域要显示。获取纬度和经度值的一个简单方法是使用谷歌Maps。首先,找到您的位置并右击它以显示一个菜单-单击纬度和经度值以将它们复制到剪贴板。
接下来,从当前位置缩小。选择当前位置以北的一个点,并将值复制到剪贴板。然后将第一个值(纬度)以LAT_MAX的形式复制到environment.sh文件中(如下所示为43.680222)。对当前位置以南的位置执行同样的操作,并将environment.sh文件中的第一个值填写为LAT_MIN。这些值表示跟踪在您的位置向北和向南延伸的距离。
接下来,选择当前位置以西的一个点,并将坐标复制到剪贴板。使用第二个值(上面显示为-79.49174)来填充LON_MAX值。对您所在位置以东的一个点和LON_MIN执行同样的操作。这些值表示从您当前位置向东西方向延伸多远。
完成后,environment.sh文件看起来应该是这样的(带有坐标)。
export LAT_MAX=43.680222 export LAT_MIN=43.63501 export LON_MAX=-79.49174 export LON_MIN=-79.37080 export CURRENT_LAT=43.64611 export CURRENT_LON=-79.37929
12.启动dump1090服务器和使用相同命令的投影代码:
bash entrypoint.sh
如果一切顺利,片刻之后你将看到一个空白屏幕,屏幕中央有一个圆点指示你的当前位置,你周围的飞机将在屏幕上以移动圆点的形式出现。
如果你收不到信号,试着把天线移到能看到清晰天空的地方,比如楼上的窗户。
13.如果你在用投影仪,把它指向天花板和在屏幕上方与你的磁北对齐。
这就是答案。你自己的私人飞机“雷达”系统。