
固件让 LilyGO LoRa 开发板变身 ADS-B 飞机接收器
来源标题:ADSB receiver abusing the SX1262 LoRa chip capabilities
一款固件可将 LilyGO T3-S3 和初代 LilyGO T-Echo 变成便携式飞机接收器,无需改装硬件。设备利用未改动的 SX1262 芯片在 1090 MHz 接收 ADS-B 信号,屏幕显示航班呼号、高度、速度和坐标,数据可通过 USB 导出。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
受够了等待 LoRa 消息?那你来对地方了:这个固件能把带 OLED 的 LilyGO T3-S3 和带电子纸显示屏的原版 LilyGO T-Echo 变成口袋里的飞机接收器。两者都用未经改动的 SX1262 射频芯片(无需硬件改动)。把天线接到 LoRa 天线接口(原装天线也行),用 USB 或电池给板子供电即可。它监听 1090 MHz 上的 ADS-B 消息,飞机通过这类消息广播自己的身份、位置和运动状态。屏幕上用大号字体显示航班呼号或飞机的六字符地址。随着报文不断到达,板子会补全高度、速度、方向和坐标。采样器、解码器和航班显示逻辑均用 C 编写。外出回来后,你可以通过 USB 取回记录。注:把 SX1262 变成 ADSB 接收器所用到的技术细节相当有意思,可以稍后再看。 T-Echo 显示的是 34,175 ft 高度上的 RYR9JW。旁边 T3-S3 显示的是 4BAA79 在 21,150 ft 的位置报告。摄像机在每个视频帧里只拍到几行亮起的 OLED,所以我们把相邻帧的行拼接起来,让屏幕内容可读。 这些是板子上的截图。上面一对是同一报文相隔三秒的画面,航班详情在轮播。下面是实时视图和设置菜单。如何读屏 1090 MHz 超出了 SX1262 标称的 150–960 MHz 范围。在测试过的板子上,射频芯片能调到这个频率,但板子的 RF 前端会衰减信号。接收效果偏向信号强的飞机。一次户外记录来自飞机 48C12B,得到地速 420 节、航迹 203°。接收器现在会在启动时把同样的 256 个功率读数解码,作为自检。Semtech SX1262 规格与数据手册 · 录制的波形与预期报文 板子 下载 你需要什么 原版 T-Echo,nRF52840,SX1262,1.54 英寸单色电子纸 T-Echo 固件(.uf2) USB 数据线和板子的 UF2 驱动器 T3-S3,ESP32-S3,SX1262,单色 OLED,4 MB flash T3-S3 固件与安装器(.zip) USB 数据线、Python 3 和 esptool 在 GitHub 上,用 Download raw file 保存固件下载。SHA-256 校验和 · 第三方声明 连接 USB,双击物理 RESET 按钮。打开名为 TECHOBOOT 的驱动器。 打开 INFO_UF2.TXT。此镜像为板 ID nRF52840-TEcho-v1、S140 版本 6.1.1 构建。这些细节很重要,因为它们决定了应用程序的起始位置。更换固件前,你可以把驱动器里的 CURRENT.UF2 复制到电脑上作为备份。 把 techo-adsb.uf2 复制到该驱动器。写入完成后驱动器会消失。接收器自动启动,电子纸刷新。用电池供电时也会启动。 UF2 会把应用程序写入 flash 的 0x26000 地址。更新会保留 bootloader、SoftDevice、频率设置和报文日志。如果接收器正连着串口终端时想更新,输入 bootloader 并回车即可打开同一个驱动器。正常使用时,用用户按钮浏览和更改设置。该应用程序在 USB 设备列表中可能显示为 nRF52840 DK。 把整个 ZIP 解压到一个可写文件夹。在该文件夹打开终端。用 python -m pip install "esptool>=4.7,<6" 安装 USB 烧录工具。macOS/Linux 上用 python3,Windows 上如果你平时这么运行 Python 就用 py。在需要虚拟环境的系统上,运行 python3 -m venv .venv,并在两条命令中都使用 .venv/bin/python。 连接 USB。按住 BOOT,点按并松开 RESET,然后松开 BOOT。关闭所有串口监视器。 运行 python install.py。它会自动找到唯一的 Espressif USB 端口。如果连接了多个设备,用 python install.py --port COM5 或填入你电脑上的实际端口。写入校验完成后,如果 OLED 没有启动,点按 RESET。 替换其他固件时,安装器会先把全部 4 MB flash 读入当前文件夹中一个带时间戳的备份,并与板子校验。然后它清除新接收器将用于记录的区域。更新已有接收器时,它只写入 bootloader、分区表和应用程序。频率设置和记录都会保留。安装器源码 T3-S3 SX1262。LilyGO 给这块板子配的是 ESP32-S3FH4R2、4 MB flash、2 MB 四线 PSRAM 和 128 × 64 的 SSD1306 OLED。我们用的是高频段版本。LilyGO 的 400–520 MHz 版本接收效果未经验证。V1.2 和 V1.3 的引脚定义相同。测试样机的确切 PCB 版本没有记录。烧录前请确认板子或其产品页面上的射频型号。LilyGO 以 T3-S3 之名销售多种射频版本。LilyGO 的 T3-S3 SX1262 硬件指南和板子照片 原版 T-Echo SX1262。此移植使用 nRF52840、高频段 SX1262 和 200 × 200 的 DEPG0150BN 电子纸面板。引脚定义、面板方向和两条 SPI 总线沿用原版 FreakWAN T-Echo 移植。T-Echo Lite、Plus、彩色面板和其他 bootloader 布局均未测试。LilyGO T-Echo 板子与引脚定义 · FreakWAN T-Echo 移植 在 T-Echo 上,880 MHz 的衰减同轴测试在八次发射中四次解出呼号 LAB123。第二次运行在九条消息中解出七条。T-Echo 把奇偶报文合并后,在航班卡片上显示出 45.24999° N、9.75003° E、12,500 ft 和 240 kt。在 1090 MHz 上,板子在较强设置下八次发射中一次解出了精确的 112 位私有 TEST 字。该次捕获的峰值为 −54.5 dBm,底噪为 −84.5 dBm。T3-S3 也在户外收到过飞机。T-Echo 的户外接收距离仍未测量。回放测试中使用的五段 T-Echo 记录
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。