开源飞行雷达桌面摆件——移植Dask Rader到M5Dial

2026-09-265

一、背景

中秋在家,闲来无事刷视频,看见一个很漂亮的开源项目:飞行雷达桌面摆件。使用ESP32主控,通过访问开放的航班飞行数据,结合自己的地理位置,在圆形的屏幕上模拟雷达方式显示飞机,挺好玩的。手头有个M5Dial,Dial 是一款多功能的嵌入式开发板,配备 1.28 寸圆形 TFT 触摸屏,以 StampS3 为主控,内置旋转编码器,可精确记录旋钮位置。这个硬件和这个项目简直就是绝配,于是开始动手移植这个项目。

二、项目准备

硬件:M5Dial。软件:Vscode+platformIO。先从github上将源项目下载下来。作者 Steffen Moll 发布开源项目,文档、固件、3D 模型全部公开。所以我这里仅做移植使用。

三、项目实现

有了开源项目,就有了清晰的、可用的项目逻辑了。接下来就不用自己费心费力啦!我过中秋,AI可不能歇着。让AI出面,帮忙开始移植。

源代码库使用了TFT_eSPI绘图库,现在改为M5GFX绘图库。源代码库使用按键来控制,现在使用编码器来控制显示范围。

// 原始 — 无编码器,范围固定
// 只能在 Web 页面修改范围

// 当前 — 编码器实时调距(核心新增功能)
long encPos = M5Dial.Encoder.read();
float newRange = encPos * 5.0f;                    // 每步 5km
if (newRange < 10) { newRange = 10; M5Dial.Encoder.write(2); }
if (newRange > 200) { newRange = 200; M5Dial.Encoder.write(40); }
if (newRange != maxRadarRangeKm) {
    maxRadarRangeKm = newRange;
    preferences.putFloat("range", maxRadarRangeKm);  // 持久化
}

其余基本就沿用开源库中的设定啦!

四、项目演示

显示90公里范围内的飞机

开源飞行雷达桌面摆件——移植Dask Rader到M5Dial_image_1.webp

 

50公里范围内的飞机

开源飞行雷达桌面摆件——移植Dask Rader到M5Dial_image_2.webp

 

25公里范围

开源飞行雷达桌面摆件——移植Dask Rader到M5Dial_image_3.webp

五、项目源码

见附件

 

创作许可协议

本项目采用 CC BY(署名) 进行许可。

评论(0)
- 没有更多了 -