教程 01

刷写 PteronautOS

以 CYCLONE ELRS 2.4GHz 7CH PWM RX 接收机为例,构建并安装密封固件。

PteronautOS 也支持其他接收机板。共用 ESP8285 并不意味着布线相同:暴露的 GPIO、通道分配、编程连接和 PCB 版本可能不同。下方的供电与 CH2/CH3 接线适用于此 CYCLONE 示例;连接其他接收机前,请检查板子的引脚定义和支持的硬件配置。

连接电源前,请移除机翼机构的推进负载,并确保没有舵机撞到硬限位。刷写属于电气作业;整个过程机架应保持机械安全。

01 · 构建固件

首先构建 WebUI —— 它是被烘焙进接收机固件的界面。此步骤需要 Node.js 20 或更高版本以及 npm。I18N_LOCALES 标志选择要编译的语言;下面的示例包含本教程的语言和英语。省略该标志则会包含全部 11 种语言。

cd src/html && nvm use 20 && I18N_LOCALES=zh,en npm run build:pteronautos

克隆仓库,安装 PlatformIO,然后从仓库根目录运行以下命令。PlatformIO 项目位于 src;此命令构建本示例所用的专用 ESP8285 接收机环境。

cd ../.. && pio run -d src -e PteronautOS_ESP8285_2400_RX

02 · 连接接收机

对于此 CYCLONE 接收机,请使用 FTDI 适配器的 5V 电源输出来给接收机供电,而非其 3.3V 输出。其 UART 连接位于通道 2 和 3 的信号引脚上——无需寻找单独的 UART 焊盘。

FTDI 适配器 接收机连接
GND GND (−)
5 V / VCC 供电 (+)
TX CH3 信号 — 接收机 RX (GPIO3)
RX CH2 信号 — 接收机 TX (GPIO1)

5V 设置指接收机供电。请查看适配器文档:即使供电输出为 5V,TX/RX 也必须使用 ESP8285 兼容的 3.3V 逻辑。请勿同时连接第二个电源。

03 · 进入引导加载程序

按住 BOOT(GPIO0),拔下并重新插入 FTDI USB 线,保持 BOOT 约一秒后松开。刷写脚本不会自动复位,因此运行前请手动进入引导加载程序。

04 · 写入镜像

从仓库根目录运行提供的烧录脚本。它会用你选择的语言构建 WebUI 和固件,定位 PlatformIO 自带的烧录工具和已构建的固件,选择串口,并按所需的 flash 设置写入镜像。

下面的 --lang 标志会直接打包本教程的语言。省略它可交互选择 — 所有语言、部分语言或跳过重新构建。

./scripts/flash.sh --lang zh

自动端口选择会查找 macOS 的 /dev/cu.* 设备。若连接了多个串口设备,或使用其他操作系统,请显式选择接收机适配器的端口。将下方示例替换为你的实际设备路径。

./scripts/flash.sh --lang zh --port /dev/cu.usbserial-XXXX

要在不写入固件的情况下检查引导加载程序通信,请使用可选的检查模式。若失败,请在重试前重复 BOOT 上电循环。

./scripts/flash.sh --port /dev/cu.usbserial-XXXX --check

05 · 验证安装

不按 BOOT 给接收机重新上电。确认其 WiFi 热点和 WebUI 已可用(SSID: Pteronaut OS ,密码: flynatural ),然后加载配置并在重新连接舵机前验证目标名称。

继续阅读 硬件页面 查看引脚图和版本特定的接线说明。