【免费下载链接】ESP32-Plane-Radar
Open-source ESP32 firmware for a 1.28″ round display that shows live ADS-B aircraft around your location as a sonar-style plane radar.
ESP32-Plane-Radar是一款开源的 ESP32 飞机雷达固件,专为ESP32-C3 Super Mini + 1.28 寸 GC9A01 圆形显示屏(240×240)打造。刷入固件后,圆屏会变成一个声呐风格的ADS-B 实时飞机雷达:以你设定的位置为中心,实时显示周围航线的飞机航向、呼号和海拔,还会叠加机场跑道,堪称极客书桌上的"航班雷达小摆件" ✈️。
一、ESP32-Plane-Radar 是什么?
简单说,它是三样东西的组合:
| 组成 | 说明 |
|---|---|
| 🧠 主控 | ESP32-C3 Super Mini(4MB Flash,Arduino 框架) |
| 🖥️ 屏幕 | 1.28 寸 GC9A01 圆屏,SPI 接口,240×240 像素 |
| 📡 数据 | adsb.fi 免费开放数据 API |
上电连接 WiFi 后,设备会以约 3 秒的间隔拉取附近的飞机数据(刷新间隔可在 include/config.h 中调整),把航向三角形、速度矢量和标签画在深蓝色雷达网格上,整体效果非常接近专业雷达界面。
二、3大核心亮点
亮点1:真正的实时ADS-B数据,飞机"活"在屏幕上 🛫
- 圈内飞机显示红色航向三角形 + 品红色速度矢量,并附带呼号 / 机型 / 海拔标签
- 超出量程的飞机会在屏幕边缘显示红点,指示方向,不会"丢目标"
- 飞机接近时目标会从边缘红点平滑变为完整符号,动态感十足
数据源逻辑位于 src/services/adsb_client.cpp,最多可同时跟踪 64 架飞机。
亮点2:零代码上手,WiFi 配置门户一键设置 📶
新手最头疼的联网问题被WiFiManager配置门户解决:
- 首次上电,设备自动发射热点
PlaneRadar-Setup - 手机连接后访问
http://plane-radar.local(或http://192.168.4.1) - 在网页里填好家里 WiFi、雷达中心坐标,保存即可
之后想改配置也不用拆机器——设备连上局域网后,随时通过http://plane-radar.local重新进入门户,可修改 WiFi、中心经纬度、公英制切换和跑道开关(门户实现见 src/services/wifi_setup.cpp)。
亮点3:机场跑道叠加 + 4档量程切换 🎯
- 跑道叠加:固件内嵌全球大型机场数据(来自 OurAirports),范围内自动绘制青色跑道线并标注 ICAO 代码(如
KJFK),数据文件见 include/data/large_airports.h,可用 scripts/build_large_airports.py 更新 - 4 档量程预设:按 BOOT 按钮即可在 5 / 10 / 15 / 25 km 之间循环切换,设置自动保存到 Flash(预设定义在 include/ui/radar_range.h)
- 公英制切换:门户里勾选 miles,距离环自动切换为英里刻度
三、硬件接线:GC9A01 ↔ ESP32-C3 引脚对照
接对线是成功的一半,官方接线表如下:
| 显示屏 | ESP32-C3 引脚 |
|---|---|
| VCC | 3V3 |
| GND | GND |
| RST | GPIO0 |
| CS | GPIO1 |
| DC | GPIO10 |
| SDA (MOSI) | GPIO3 |
| SCL (SCLK) | GPIO4 |
| BOOT(用户按键) | GPIO9 |
💡 引脚定义集中在 include/config.h,若换板子改这里即可。
四、上手指南:最快配置方法与烧录步骤
1. 编译并烧录固件
项目基于PlatformIO,环境为supermini(配置见 platformio.ini):
pio run -t upload # 编译并上传 pio device monitor # 打开串口监视器(115200)如果你不想自己编译,也可以执行 scripts/merge-firmware.sh 生成单文件镜像plane-radar-merged.bin,配合浏览器烧录工具(如 esptool-js)以0x0地址刷入,全程无需电脑端 SDK。
2. 首次配置 WiFi
按上文"亮点2"完成配置后,设备会保存凭据并自动重连,WiFi 掉线也会后台静默重连,不会反复弹出配置页。
3. 日常操作速查
| 操作 | 效果 |
|---|---|
| 短按 BOOT | 切换量程(5 → 10 → 15 → 25 km),断电保存 |
| 长按 BOOT 3 秒 | 清除 WiFi / 坐标 / 单位设置,重启进入配置门户 |
五、项目结构一览
代码按"硬件 / 服务 / UI"三层组织,结构清晰,适合学习小型 ESP32 固件的工程划分:
- src/main.cpp — 主循环:WiFi 状态机 + 定时拉取 ADS-B + 刷新雷达画面
- include/ui/radar_theme.h — 雷达配色与像素布局,想换主题从这里下手
- src/ui/radar_display.cpp — 雷达网格、飞机符号与标签绘制
- include/services/adsb_client.h — 飞机数据结构与拉取接口
- partitions/plane_radar.csv — 4MB Flash 分区表(单 App + SPIFFS 存放跑道数据)
六、常见问题 FAQ
Q1:需要硬件天线或接收器吗?不需要。本项目不接收 ADS-B 无线电信号,而是通过网络拉取 adsb.fi 的公共数据,只要有 WiFi 就能显示真实航班的实时位置。
Q2:为什么雷达中心不是我的位置?默认坐标在 include/config.h 的kDefaultRadarLat/Lon中,首次进入配置门户后改为你的经纬度即可,设置会永久保存。
Q3:能看到地面飞机吗?默认隐藏地面状态(taxiing/停场)的飞机,想全部显示可在kAdsbShowGroundAircraft处改为true重新编译。
Q4:如何获取仓库源码?
git clone https://gitcode.com/gh_mirrors/es/ESP32-Plane-Radar🚀 总结:ESP32-Plane-Radar用几十块钱的硬件成本,把一块 1.28 寸圆屏变成了真实时的航班雷达,对新手友好(网页配网 + 单键操作)、对开发者友好(分层清晰的 C++ 工程 + 完整 PlatformIO 配置),无论是做成桌面摆件还是学习嵌入式显示项目的入门案例,都非常值得一试!
【免费下载链接】ESP32-Plane-Radar
Open-source ESP32 firmware for a 1.28″ round display that shows live ADS-B aircraft around your location as a sonar-style plane radar.
相关推荐
什么是 DSH Plugin Radar?开源插件生态雷达完全入门教程
什么是 DSH Plugin Radar?开源插件生态雷达完全入门教程 DSH Plugin Radar 是一个面向 DeepSeek Harness(DSH)
dsh-plugin开发工具AI 插件ESP32 实时航班追踪:Plane Radar 雷达固件与 adsb.fi 客户端源码剖析
ESP32 实时航班追踪:Plane Radar 雷达固件与 adsb.fi 客户端源码剖析 ESP32 Plane Radar 是一款开源的 ESP32 固件
xiaozhi-esp32 适配实战:Spotpear ESP32-S3 1.28 英寸圆屏 Box 开发板编译指南
xiaozhi esp32 适配实战:Spotpear ESP32 S3 1.28 英寸圆屏 Box 开发板编译指南 本文以 xiaozhi esp32 开源项
人工智能AI 应用语音交互助手物联网嵌入式智能硬件MCP 服务
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考