基于ESP32 + ADS-B数据构建实时空中交通雷达
ADS-B(即自动依赖式监视广播)是目前用于追踪飞机的现代标准,已在全球空域交通管制(ATC)中基本取代了传统雷达。在我的上一个视频中,我介绍过如何通过RTLSDR dongle、专用天线和软件接收并解码ADS-B信号。
在本项目中,我利用基于ESP32的7英寸HMI显示屏构建了一个功能完整的实时飞机跟踪雷达。该系统以平滑旋转的雷达扫描方式实时显示空中交通数据,效果与专业雷达系统无异。ADS-B信号通过免费的在线API获取,并实时呈现在雷达上,因此仅需Wi-Fi连接和互联网即可运行。
这些信号包含以下信息:
•呼号
•海拔
•速度
•飞机类型(A320、B738等)
•以及位置(纬度和经度)
每架飞机仅在旋转扫描线经过时才会出现在雷达上,从而呈现出真实的雷达效果。检测到的飞机也会以距离为依据,在右侧面板中列出。
本项目由PCBWay赞助。2026年7月1日至7月31日,PCBWay将举办第12周年庆典活动。立即领取优惠折扣,解锁更多奖励:专属优惠券、仅需5美元购买PCB订单、一站式电子设计服务、3D打印与CNC加工最高5折优惠,以及PCBWay商店的特别促销。接下来,参与互动游戏,领取专属工程师色彩性格,点击方框参加幸运抽奖,展示你缤纷的项目,并投票选出最受欢迎的徽章。
该项目的一大优势在于使用了ESP32-S3 CrowPanel 7英寸人机交互显示屏,这意味着无需进行任何焊接或制作对应外壳。它包含一个7英寸LCD显示屏,带电容式触摸功能,以及控制显示屏的ESP32S3微控制器,还有USB、扬声器和电池接口,GPIO、I2C和UART端口,以及一个Micro SD卡插槽。在本项目中,我仅使用Wi-Fi功能,但凭借丰富的输入/输出接口选择,我们还可以将其用于许多其他更复杂的项目。
首先让我介绍一下如何安装软件,因为这是将这个显示模块变成专业外观飞机追踪雷达所必须完成的唯一步骤。根据制造商的说明,我们需要安装ESP32 Core 2.0.14或2.0.15版本。然后,在“板子管理器”中,我们需要选择“板子:ESP32S3开发板”。接下来,我们需要对这个板子进行一些设置:
•USB CDC开机启用:启用
•闪存模式:QIO 80MHz
•闪存大小:4MB
•分区方案:HUGE APP
•以及PSRAM:OPI PSRAM
至于代码部分,我们首先需要输入Wi-Fi登录信息以及家庭位置的坐标(纬度和经度)。我们还可以调整一些参数,例如颜色和亮度、扫描速度、最大检测到的飞机数量等。
接下来进入最有趣的部分,即开启设备并说明其工作原理和各项功能。连接到网络后,雷达显示屏会立即出现。左上角显示的是距离当前位置100公里范围内当前检测到的飞机数量。左下角有一个小指南针,显示方位标示;右下角以度数形式直观地显示当前扫描位置;右上角则分别显示各环区(20、40、60、80和100公里)内的飞机数量。
中央部分为平滑旋转的雷达扫描,并带有渐隐效果。只有当旋转扫描线经过时,飞机才会出现在雷达上,从而呈现出逼真的雷达效果。同时,检测到的飞机也会在右侧面板中按距离排序列出。
>= 30000 英尺 蓝色
>= 10000 英尺 绿色
>= 0 英尺 黄色
未知高度 红色
需要注意的是,在西北区域,距离起始位置约100公里处,我们经常能看到飞机处于非常低的飞行高度。原因在于最近的机场(地拉那)就恰好位于飞机常起降的位置。状态每360度更新一次,大约为15秒,但此时间可缩短至1秒。更新时刻显示在屏幕左上方。
显示屏右侧提供更多信息。底部以大数字显示当前本地时间,并通过NTP同步校准;上方则显示起始位置的经纬度坐标及地点名称;顶部则显示最近探测到的十架飞机信息。每架飞机的详细信息包括:
•呼号、
•与起始位置的距离、
•移动速度、
•飞行高度,
•以及飞机类型。
最右侧是一个圆圈,其颜色根据飞行高度相应变化。
最后简要总结。该项目展示了如何将ESP32与实时ADS-B数据结合,以创建流畅且逼真的空中交通雷达显示。它是一个将嵌入式系统、航空技术与定制图形界面融合为一个完全交互式实时项目的优秀范例。
本文编译自hackster.io





