我住在主要机场附近,经常听到飞机从我家上空飞过。我还有一个好奇的学龄前儿童,我经常发现自己需要回答诸如“那是什么?”和“那架飞机要去哪里?”之类的问题。虽然快速的网络搜索可以回答这些问题,但我希望看看我自己是否能回答它们。
借助 Raspberry Pi、廉价的无线电和开源软件,我可以追踪距离我家 200 英里远的飞机。无论您是在回答孩子无休止的问题,还是只是好奇头顶上的天空有什么,您都可以尝试一下。

(Patrick Easters, CC BY-SA 4.0)
背后的协议
ADS-B 是一种飞机在全球范围内使用的技术,用于广播其位置。飞机使用从 GPS 收集的位置数据,并定期广播这些数据以及速度和其他遥测数据,以便其他飞机和地面站可以追踪其位置。
由于此协议是众所周知的且未加密,因此有许多解决方案可以接收和解析它,包括许多开源解决方案。
收集硬件
几乎任何 Raspberry Pi 都可以用于这个项目。我使用了较旧的 Pi 1 Model B,但我建议使用 Pi 3 或更新的版本,以确保您可以跟上解码后的 ADS-B 消息流。
要接收 ADS-B 信号,您需要一个软件定义的无线电。 感谢专为电视调谐器设计的超便宜无线电芯片,有很多廉价的 USB 接收器可供选择。 我使用 FlightAware 的 ProStick Plus,因为它具有内置滤波器,可以削弱 ADS-B 使用的 1090MHz 频段之外的信号。 过滤非常重要,因为强信号(如广播 FM 无线电和电视)会降低接收器的灵敏度。 任何基于 RTL-SDR 的接收器都应该可以工作。
您还需要一个接收器天线。 这里的选择是无限的,从 更具冒险精神的 DIY 选项到购买 现成的 1090MHz 天线。 无论您选择哪条路线,天线放置都是最重要的。 ADS-B 接收是视线接收,因此您需要尽可能地提高天线的高度以扩大您的范围。 我把我的放在阁楼里,但我从我房子的顶层得到了不错的结果。
使用软件可视化您的数据
现在您的 Pi 已配备接收 ADS-B 信号的能力,真正的魔力发生在软件中。 ADS-B 最常用的两个开源软件项目是 readsb 用于解码 ADS-B 消息,以及 tar1090 用于可视化。 将两者结合起来提供了一个交互式地图,显示您的 Pi 正在跟踪的所有飞机。
这两个项目都提供了设置说明,但使用像 ADSBx Custom Pi Image 这样的预构建镜像是最快的入门方式。 ADSBx 镜像甚至配置了一个 Prometheus 实例,其中包含诸如飞机计数之类的自定义指标。
继续实验
如果用 Raspberry Pi 追踪飞机的兴趣减退,还有很多方法可以继续实验。 尝试不同的天线设计或找到最佳天线放置位置,以最大限度地提高您看到的飞机数量。
这些只是使用 Pi 追踪飞机的几种方法,希望这能激励您尝试一下并了解一些关于无线电世界的知识。 祝您追踪愉快!
评论已关闭。