234 lines
11 KiB
Markdown
234 lines
11 KiB
Markdown
<!-- WEHUB_ZH_README -->
|
||
> [!NOTE]
|
||
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
|
||
> [English](./README.en.md) · [原始项目](https://github.com/AnthonySturdy/micro-radar) · [上游 README](https://github.com/AnthonySturdy/micro-radar/blob/HEAD/README.md)
|
||
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
|
||
|
||
<h1 align=center>
|
||
📡 Micro Radar
|
||
</h1>
|
||
<h6 align=center>
|
||
一款适合摆在桌面上的微型开源飞行雷达
|
||
</h6>
|
||
<p align=center>
|
||
<img src="https://github.com/user-attachments/assets/2ccb2063-d15c-4180-8e3c-ae3a81c814ff" alt="drawing" width="400"/>
|
||
</p>
|
||
<p align=center>
|
||
<a href="#prerequisites">前置条件</a> - <a href="#assembly">组装</a> - <a href="#usage">使用</a> - <a href="#faq">常见问题</a>
|
||
</p>
|
||
|
||
## 前置条件
|
||
|
||
本项目的核心是集成了 240x240 IPS 屏幕的 ESP32-C3 模块。无需焊接。模块承担了大部分繁重工作。
|
||
|
||
打印我使用的是深灰色 PLA 线材,但任何颜色都可以。对于镜片(可选但推荐),你需要用透明干燥的环氧树脂来固定(不要用速干胶,它会让镜片起雾。问我怎么知道的。)
|
||
|
||
### 所需工具
|
||
|
||
- 小螺丝刀(用于 M2 螺丝)
|
||
- 电烙铁(用于安装热熔螺母)
|
||
|
||
开始前请搭建一个干净、整洁的工作空间。你需要处理小组件和环氧树脂,因此专用区域很有帮助。手边放一块湿布以便需要时清洁,并确保电烙铁通风良好。
|
||
|
||
### 采购清单
|
||
|
||
下面是你需要的一切。我链接了我使用并推荐的产品,以便更轻松完成组装,不过 Amazon 等地也有替代品。如果你偏离这套硬件,可能需要修改外壳和/或代码。
|
||
|
||
- [ ] [1.28" Round GC9A01 240x240 IPS Display Module with ESP32-C3 (no-touch)](https://www.aliexpress.com/item/1005008482665220.html)
|
||
- [ ] [USB-C Ribbon Extension Cable (5cm, CMUP-CFPCB-BK)](https://www.aliexpress.com/item/1005005371248824.html)
|
||
- [ ] [M2 Heat-set Threaded Inserts (+ soldering iron)](https://www.aliexpress.com/item/1005008493831823.html)
|
||
- [ ] [32.5mm Round Mineral Glass Lens (optional, recommended)](https://www.aliexpress.com/item/1005004783554496.html)
|
||
- [ ] [Gorilla Epoxy (necessary for fitting lens, useful anyway)](https://www.amazon.co.uk/Gorilla-Glue-25ml-Epoxy/dp/B009NQQJFC)
|
||
|
||
### 账户 / API
|
||
|
||
本项目使用 OpenSky 的 API 获取航班数据。
|
||
|
||
我强烈建议注册账户,因为它是免费的,并且能让雷达每天发出更多请求(400 -> 4000),从而使实时视图更加准确。不过如果你愿意,这不是必须的。
|
||
|
||
你可以[在此](https://opensky-network.org),)注册,或搜索 "OpenSky"。
|
||
|
||
有关账户后续操作的更多信息,请参阅使用部分。
|
||
|
||
## 组装
|
||
|
||
备齐所有零件后,组装通常需要 1-2 小时(不含打印时间)。
|
||
|
||
**我强烈建议在开始组装前阅读[使用](#usage)部分。** 如果出现问题,这有助于排查故障。你可能想在完全封闭之前测试固件和硬件。
|
||
|
||
### 步骤 1:3D 打印
|
||
|
||
<img width="400" alt="FFCBBECA-6165-4138-8C84-16AB375511A2_1_105_c" src="https://github.com/user-attachments/assets/21c0753c-7d7c-425c-bdf6-0df037a8fdaa" />
|
||
|
||
从 `./hardware/stl/` 打印全部四个 STL 文件:
|
||
|
||
- 主外壳
|
||
- 前面板
|
||
- 边框
|
||
- 2 个垫片
|
||
|
||
### 步骤 2:热熔螺母
|
||
|
||
**你需要:** 电烙铁、M2 热熔螺母
|
||
|
||
从前面板开始:用电烙铁将 2mm M2 热熔螺母压入较大的孔中。
|
||
|
||
<img width="400" alt="IMG_7882" src="https://github.com/user-attachments/assets/defcfb2c-cdff-4bf1-84b9-7fceeefb0caf" />
|
||
|
||
接下来是两个垫片。它们可能会轻微翘曲,没关系。在每个垫片中压入 6mm M2 螺母。
|
||
|
||
<img width="400" alt="IMG_7887" src="https://github.com/user-attachments/assets/73b95049-5f12-4e2b-983a-5242c05f9106" />
|
||
|
||
最后是主外壳。压入 5mm M2 螺母。
|
||
|
||
<img width="400" alt="IMG_7891" src="https://github.com/user-attachments/assets/e36f3eec-31b5-468e-8451-9c428eaf9c21" />
|
||
|
||
大功告成。
|
||
|
||
<img width="400" alt="IMG_7896" src="https://github.com/user-attachments/assets/97337223-223c-4531-90e1-f511adfb3d66" />
|
||
|
||
### 步骤 3(可选):安装镜片
|
||
|
||
<img width="400" alt="IMG_7902" src="https://github.com/user-attachments/assets/e555f787-ca87-4558-b1eb-107f9071f96e" />
|
||
|
||
**你需要:** 透明干燥的环氧树脂、小型涂抹工具(火柴或鸡尾酒搅拌棒都可以)
|
||
|
||
这是最费劲的环节。保持整洁可避免抓狂:
|
||
|
||
- 将环氧树脂涂在前面板上,而不是镜片上
|
||
- 将前面板降低到镜片上(更容易处理多余的环氧树脂)
|
||
- 准备好边缘清洁剂(我用了洗甲水,效果因人而异)
|
||
- 环氧树脂少即是多
|
||
- 在不会与环氧树脂粘连的表面上操作
|
||
|
||
<img width="400" alt="IMG_7911" src="https://github.com/user-attachments/assets/aa497389-efd5-45c3-84dc-c997232889ac" />
|
||
|
||
按照标签说明让环氧树脂固化后再继续。
|
||
|
||
### 步骤 4:边框
|
||
|
||
**你需要:** 2x5mm M2 螺丝、2x10mm M2 螺丝
|
||
|
||
使用 2x5mm M2 螺丝穿过先前安装的热熔螺母,将边框固定到前面板上。
|
||
|
||
<img width="400" alt="IMG_7914" src="https://github.com/user-attachments/assets/37a3502a-83e1-4552-a399-9a914e0ec973" />
|
||
|
||
将 2x10mm M2 螺丝拧入剩余两个孔中。它们应从背面凸出。
|
||
|
||
<img width="400" alt="IMG_7915" src="https://github.com/user-attachments/assets/9ccfe5f2-347d-4563-a2b1-eb5e65e1d83f" />
|
||
|
||
撕下屏幕保护膜,将其对准镜片放置。刚插入的螺丝会引导显示屏就位。
|
||
|
||
在将垫片夹紧之前,**确保天线已连接到模块**。将其用力按在平整表面直至咔哒一声。方向无关紧要,但必须有此连接,否则无法获得 WiFi 信号。
|
||
|
||
<img width="400" alt="IMG_7917" src="https://github.com/user-attachments/assets/ee53aac0-d119-4941-a814-f7ef23ffe7a0" />
|
||
|
||
<img width="400" alt="IMG_7920" src="https://github.com/user-attachments/assets/0d4d7d86-9787-4972-aa55-8ae43c9a078b" />
|
||
|
||
现在将垫片拧到那些凸出的螺丝上,以夹紧模块。我建议此时保持开发板插电,以便对齐。不要用力过猛,压力过大可能会损坏屏幕。
|
||
|
||
对齐满意后,可以在模块周围涂少量环氧树脂以永久固定(可选,但如果你对组装效果满意,建议这样做)。
|
||
|
||
### 步骤 5:最终组装
|
||
|
||
**你需要:** USB-C 扁带延长线、4x7mm M2 螺丝、可选橡胶脚垫
|
||
|
||
使用随附的螺母和螺栓将 USB-C 扁带线缆固定到外壳上。
|
||
|
||
<img width="400" alt="IMG_7921" src="https://github.com/user-attachments/assets/f40a7943-c880-4718-9e69-c87a4f5d33aa" />
|
||
|
||
<img width="400" alt="IMG_7923" src="https://github.com/user-attachments/assets/2daccb36-421f-4a3e-812a-51dae4444d4e" />
|
||
|
||
如果需要,移除底部的支撑结构并安装橡胶脚垫。
|
||
|
||
<img width="400" alt="IMG_7924" src="https://github.com/user-attachments/assets/fdeb69f2-ec0d-441e-95ca-abd7523f7c61" />
|
||
|
||
插入开发板,然后用 4x7mm M2 螺丝安装前面板。
|
||
|
||
<img width="400" alt="IMG_7925" src="https://github.com/user-attachments/assets/40da22d9-447d-4ad0-a500-02f862050e5c" />
|
||
|
||
完成!
|
||
|
||
<img width="400" alt="IMG_7930" src="https://github.com/user-attachments/assets/989fb56f-dacc-4bf5-a9ab-cb1311e534e4" />
|
||
|
||
## 使用
|
||
|
||
### 刷写固件
|
||
|
||
你需要安装 [VS Code](https://code.visualstudio.com/) 以及 [PlatformIO IDE 扩展](https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide)。安装完成后,重启 VS Code,打开仓库文件夹,依赖项会自动拉取。
|
||
|
||
通过 USB-C 连接开发板,然后点击底部状态栏中的上传按钮(→)。如果开发板没有自动重启并加载新固件,请按住背面的 BOOT 按钮,按一次 RESET,然后松开 BOOT。
|
||
|
||
开发板应能自动检测,但如果上传失败,请检查状态栏中是否选择了正确的开发板。如果仍然无法上传,请尝试:
|
||
|
||
- 断开并重新连接 USB 线
|
||
- 确认线缆支持数据传输(部分 USB-C 线仅支持充电)
|
||
- 尝试电脑上的其他 USB 端口
|
||
|
||
在[此处](https://docs.platformio.org/en/latest/).进一步了解 PlatformIO
|
||
|
||
### 首次启动
|
||
|
||
首次启动时,雷达会广播名为 `MicroRadar-Setup` 的 WiFi 热点。用手机或笔记本电脑连接后,配置页面会自动弹出(若没有,请手动打开浏览器访问)。输入 WiFi 凭据并点击保存。开发板将重启并接入你的网络。
|
||
|
||
若热点未立即出现,请稍等片刻。若 30 秒后仍未出现,请退出设备上的 WiFi 设置再重新进入以强制刷新,通常此时就会显示。
|
||
|
||
### 配置
|
||
|
||
接入网络后,同一局域网内的任意设备均可通过 [http://microradar.local](http://microradar.local) 访问雷达配置。
|
||
|
||
在此可设置:
|
||
|
||
- **位置**(经纬度):雷达的中心点
|
||
- **雷达半径**:扫描覆盖范围(单位:度;上限为 2 度,以避免触发速率限制)
|
||
- **显示选项**:切换可视化元素
|
||
- **OpenSky 凭据**:客户端 ID 与密钥(若已注册账号——再次强烈推荐!)
|
||
|
||
<img width="400" alt="image" src="https://github.com/user-attachments/assets/45e6219c-2672-4197-baad-16ae08180b58" />
|
||
|
||
若已注册 OpenSky 账号(强烈建议),可在 opensky-network.org 的账号设置中找到凭据。认证后可享每日 4000 次请求(未认证为 400 次),实时视图会更加准确。在[此处](https://opensky-network.org).进一步了解该 API
|
||
|
||
设备连接 WiFi 期间可随时访问该配置页面,因此可随时调整设置。
|
||
|
||
就是这样!完成配置后,你应能看到所处位置上空所有航班的实时视图。尽情享用 :)
|
||
|
||
<img width="400" alt="IMG_7935" src="https://github.com/user-attachments/assets/118b9a1c-c2c0-488d-b638-d8684a30b1d7" />
|
||
|
||
## 常见问题
|
||
|
||
> 端口忙碌或不存在
|
||
|
||
请在插入设备*之后*再重启 VS Code。若 VS Code 原本已打开,可能会默认使用设备连接前的陈旧端口。
|
||
|
||
若仍无效,请在 VS Code 底部状态栏查找带小型 "Plug" 图标的按钮(可能显示 "auto"、"cu.usbmodem101" 或类似文字)。点击并选择显示你设备名称的选项。
|
||
<br/><br/>
|
||
|
||
> 3D 打印失败
|
||
|
||
若使用 Bambu Lab 打印机,请确保打开 `.3mf` 文件,其中包含正确的打印平台与设置。
|
||
|
||
使用其他打印机?请提交 [Issue](../../issues),我会尽力提供帮助。
|
||
<br/><br/>
|
||
|
||
> 编译时出现 `ModuleNotFoundError: No module named 'intelhex'`
|
||
|
||
这似乎是 Windows 特有的问题。以下任一方案应可解决:
|
||
|
||
**方案 A:**
|
||
1. 打开 PlatformIO 终端(PlatformIO 侧边栏 → Miscellaneous → PlatformIO Core CLI)
|
||
2. 运行 `pip install intelhex`
|
||
3. 重新编译
|
||
|
||
**方案 B:**
|
||
1. 在 VS Code 中打开新终端(Terminal → New Terminal)
|
||
2. 运行 `python -m pip install intelhex`
|
||
3. 重新编译
|
||
|
||
## 备注
|
||
|
||
> 作为送给热爱航空的朋友的婚礼礼物而设计与开发(祝福他和他的妻子!)
|
||
|
||
> 灵感来自 [therealhacksaw](https://www.instagram.com/therealhacksaw/)'s 的桌面雷达
|
||
|
||
> 在 London 用 ♥︎ 打造
|