11 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
📡 Micro Radar
一款适合摆在桌面上的微型开源飞行雷达
前置条件
本项目的核心是集成了 240x240 IPS 屏幕的 ESP32-C3 模块。无需焊接。模块承担了大部分繁重工作。
打印我使用的是深灰色 PLA 线材,但任何颜色都可以。对于镜片(可选但推荐),你需要用透明干燥的环氧树脂来固定(不要用速干胶,它会让镜片起雾。问我怎么知道的。)
所需工具
- 小螺丝刀(用于 M2 螺丝)
- 电烙铁(用于安装热熔螺母)
开始前请搭建一个干净、整洁的工作空间。你需要处理小组件和环氧树脂,因此专用区域很有帮助。手边放一块湿布以便需要时清洁,并确保电烙铁通风良好。
采购清单
下面是你需要的一切。我链接了我使用并推荐的产品,以便更轻松完成组装,不过 Amazon 等地也有替代品。如果你偏离这套硬件,可能需要修改外壳和/或代码。
- 1.28" Round GC9A01 240x240 IPS Display Module with ESP32-C3 (no-touch)
- USB-C Ribbon Extension Cable (5cm, CMUP-CFPCB-BK)
- M2 Heat-set Threaded Inserts (+ soldering iron)
- 32.5mm Round Mineral Glass Lens (optional, recommended)
- Gorilla Epoxy (necessary for fitting lens, useful anyway)
账户 / API
本项目使用 OpenSky 的 API 获取航班数据。
我强烈建议注册账户,因为它是免费的,并且能让雷达每天发出更多请求(400 -> 4000),从而使实时视图更加准确。不过如果你愿意,这不是必须的。
你可以在此,)注册,或搜索 "OpenSky"。
有关账户后续操作的更多信息,请参阅使用部分。
组装
备齐所有零件后,组装通常需要 1-2 小时(不含打印时间)。
我强烈建议在开始组装前阅读使用部分。 如果出现问题,这有助于排查故障。你可能想在完全封闭之前测试固件和硬件。
步骤 1:3D 打印
从 ./hardware/stl/ 打印全部四个 STL 文件:
- 主外壳
- 前面板
- 边框
- 2 个垫片
步骤 2:热熔螺母
你需要: 电烙铁、M2 热熔螺母
从前面板开始:用电烙铁将 2mm M2 热熔螺母压入较大的孔中。
接下来是两个垫片。它们可能会轻微翘曲,没关系。在每个垫片中压入 6mm M2 螺母。
最后是主外壳。压入 5mm M2 螺母。
大功告成。
步骤 3(可选):安装镜片
你需要: 透明干燥的环氧树脂、小型涂抹工具(火柴或鸡尾酒搅拌棒都可以)
这是最费劲的环节。保持整洁可避免抓狂:
- 将环氧树脂涂在前面板上,而不是镜片上
- 将前面板降低到镜片上(更容易处理多余的环氧树脂)
- 准备好边缘清洁剂(我用了洗甲水,效果因人而异)
- 环氧树脂少即是多
- 在不会与环氧树脂粘连的表面上操作
按照标签说明让环氧树脂固化后再继续。
步骤 4:边框
你需要: 2x5mm M2 螺丝、2x10mm M2 螺丝
使用 2x5mm M2 螺丝穿过先前安装的热熔螺母,将边框固定到前面板上。
将 2x10mm M2 螺丝拧入剩余两个孔中。它们应从背面凸出。
撕下屏幕保护膜,将其对准镜片放置。刚插入的螺丝会引导显示屏就位。
在将垫片夹紧之前,确保天线已连接到模块。将其用力按在平整表面直至咔哒一声。方向无关紧要,但必须有此连接,否则无法获得 WiFi 信号。
现在将垫片拧到那些凸出的螺丝上,以夹紧模块。我建议此时保持开发板插电,以便对齐。不要用力过猛,压力过大可能会损坏屏幕。
对齐满意后,可以在模块周围涂少量环氧树脂以永久固定(可选,但如果你对组装效果满意,建议这样做)。
步骤 5:最终组装
你需要: USB-C 扁带延长线、4x7mm M2 螺丝、可选橡胶脚垫
使用随附的螺母和螺栓将 USB-C 扁带线缆固定到外壳上。
如果需要,移除底部的支撑结构并安装橡胶脚垫。
插入开发板,然后用 4x7mm M2 螺丝安装前面板。
完成!
使用
刷写固件
你需要安装 VS Code 以及 PlatformIO IDE 扩展。安装完成后,重启 VS Code,打开仓库文件夹,依赖项会自动拉取。
通过 USB-C 连接开发板,然后点击底部状态栏中的上传按钮(→)。如果开发板没有自动重启并加载新固件,请按住背面的 BOOT 按钮,按一次 RESET,然后松开 BOOT。
开发板应能自动检测,但如果上传失败,请检查状态栏中是否选择了正确的开发板。如果仍然无法上传,请尝试:
- 断开并重新连接 USB 线
- 确认线缆支持数据传输(部分 USB-C 线仅支持充电)
- 尝试电脑上的其他 USB 端口
在此处.进一步了解 PlatformIO
首次启动
首次启动时,雷达会广播名为 MicroRadar-Setup 的 WiFi 热点。用手机或笔记本电脑连接后,配置页面会自动弹出(若没有,请手动打开浏览器访问)。输入 WiFi 凭据并点击保存。开发板将重启并接入你的网络。
若热点未立即出现,请稍等片刻。若 30 秒后仍未出现,请退出设备上的 WiFi 设置再重新进入以强制刷新,通常此时就会显示。
配置
接入网络后,同一局域网内的任意设备均可通过 http://microradar.local 访问雷达配置。
在此可设置:
- 位置(经纬度):雷达的中心点
- 雷达半径:扫描覆盖范围(单位:度;上限为 2 度,以避免触发速率限制)
- 显示选项:切换可视化元素
- OpenSky 凭据:客户端 ID 与密钥(若已注册账号——再次强烈推荐!)
若已注册 OpenSky 账号(强烈建议),可在 opensky-network.org 的账号设置中找到凭据。认证后可享每日 4000 次请求(未认证为 400 次),实时视图会更加准确。在此处.进一步了解该 API
设备连接 WiFi 期间可随时访问该配置页面,因此可随时调整设置。
就是这样!完成配置后,你应能看到所处位置上空所有航班的实时视图。尽情享用 :)
常见问题
端口忙碌或不存在
请在插入设备之后再重启 VS Code。若 VS Code 原本已打开,可能会默认使用设备连接前的陈旧端口。
若仍无效,请在 VS Code 底部状态栏查找带小型 "Plug" 图标的按钮(可能显示 "auto"、"cu.usbmodem101" 或类似文字)。点击并选择显示你设备名称的选项。
3D 打印失败
若使用 Bambu Lab 打印机,请确保打开 .3mf 文件,其中包含正确的打印平台与设置。
使用其他打印机?请提交 Issue,我会尽力提供帮助。
编译时出现
ModuleNotFoundError: No module named 'intelhex'
这似乎是 Windows 特有的问题。以下任一方案应可解决:
方案 A:
- 打开 PlatformIO 终端(PlatformIO 侧边栏 → Miscellaneous → PlatformIO Core CLI)
- 运行
pip install intelhex - 重新编译
方案 B:
- 在 VS Code 中打开新终端(Terminal → New Terminal)
- 运行
python -m pip install intelhex - 重新编译
备注
作为送给热爱航空的朋友的婚礼礼物而设计与开发(祝福他和他的妻子!)
灵感来自 therealhacksaw's 的桌面雷达
在 London 用 ♥︎ 打造