项目>Sesame Robot>烧录 Sesame 固件:Arduino IDE 与板型/引脚配置

烧录 Sesame 固件:Arduino IDE 与板型/引脚配置

摘要:按自己的板型选对开发环境、库版本与引脚组,把固件烧进去并从串口确认启动信息。

什么情况需要自己烧录

固件用 Arduino IDE 烧录。Distro Board V3 与 V2 套件出厂已预刷固件,只有想自定义或更新版本时才需要动手;DIY 的 Lolin S2 Mini 路线与 Distro Board V1 路线必须自己烧。烧录前把 sesame-firmware-main.ino 连同全部 .h 头文件放进与主文件同名的文件夹再打开,缺头文件编译不过。

环境与版本要求

先装 Arduino IDE 2.0 或更高版本,在 File → Preferences 的 Additional Board Manager URLs 填入 ESP32 板支持包地址,再到 Tools → Board → Boards Manager 搜索 ESP32 安装板支持包:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
组件 版本要求
Arduino IDE 2.0 或更高
ESP32 by Espressif Systems v2.0.0 或更高
ESP32Servo 锁定 v3.0.9
Adafruit SSD1306 官方未指定版本
Adafruit GFX 官方未指定版本
ESP32Servo 必须锁 v3.0.9。官方明确说明新版存在已知问题:写一个舵机会影响多个通道(madhephaestus/ESP32Servo issue #103)。装最新版会出现多路舵机互相串动,按「装最新版即可」的思路装这个库会直接翻车。

板型与菜单选项对照

Tools → Board 按板型选择,再核对选项:

板型 Board 选择 关键选项
Lolin S2 Mini LOLIN S2 Mini Upload Speed 921600;USB CDC On Boot Enabled;Partition Scheme Default 4MB with spiffs
Distro Board V1 ESP32 Dev Module 官方文档未单列额外选项
Distro Board V2 / V3 ESP32S3 Dev Module USB CDC On Boot Enabled;Flash Mode QIO 80MHz;Partition Scheme Default 4MB with spiffs

V2/V3 用的 S3 板卡复位后串口还能不能出现,关键就在 USB CDC On Boot 是否 Enabled,烧完找不到端口先查这一项。

引脚组与网络配置对照

sesame-firmware-main.ino 顶部默认激活 Lolin S2 Mini 引脚组,另外三组被注释。换板必须把不用的一组注释掉、取消自己板型那组的注释,官方文档把这一步列为烧录流程的固定环节。各组数值逐字如下:

板型 servoPins[8] I2C_SDA / I2C_SCL
Lolin S2 Mini(默认激活) {1, 2, 4, 6, 8, 10, 13, 14} 33 / 35
Distro Board V3 {4, 5, 6, 7, 10, 11, 12, 13} 8 / 9
Distro Board V2 {4, 5, 6, 7, 15, 16, 17, 18} 8 / 9
Distro Board V1 {15, 2, 23, 19, 4, 16, 17, 18} 21 / 22

OLED 字段各板一致,不用改:

字段 值
OLED_I2C_ADDR 0x3C
SCREEN_WIDTH / SCREEN_HEIGHT 128 / 64

网络配置在源码第 17–23 行,默认 ENABLE_NETWORK_MODE 为 false,固件以纯 AP 模式运行,不主动连家庭路由器:

#define NETWORK_SSID ""    // 家庭 WiFi 名
#define NETWORK_PASS ""    // 家庭 WiFi 密码
#define ENABLE_NETWORK_MODE false  // 改成 true 启用网络模式

烧录全程

  1. 配环境:装 Arduino IDE 2.0+,按上文 URL 添加板支持包地址并安装 ESP32 by Espressif Systems v2.0.0+,再装三个库。预期:Library Manager 里 ESP32Servo 显示 3.0.9。
  2. 选板型:按上表在 Tools → Board 选择并核对选项。预期:菜单栏显示自己板型的名字。
  3. 改引脚组:打开 sesame-firmware-main.ino,注释掉不用的 servoPins 与 I2C_SDA / I2C_SCL 组,取消自己板型那组;要开机自动连网再改第 17–23 行的网络字段。预期:源码里只有自己板型的一组引脚未被注释。
  4. USB 连板,Tools → Port 选出现的串口。
  5. 点上传按钮。预期:编译无报错,写入完成时 IDE 提示上传结束。
  6. 验证:打开 Tools → Serial Monitor 设 115200,按一次复位。预期:串口打印启动信息与网络信息;纯 AP 模式下手机连热点、浏览器开任意网址即进 captive portal;网络模式下看到 Connected! IP: 字样后访问 http://sesame-robot.local(源码 deviceHostname = "sesame-robot")或串口显示的 IP,打开控制页。

中文教程常见误区对照

错误说法 官方事实 出处
改 config.h 填 WiFi WiFi 配置写在 sesame-firmware-main.ino 第 17–23 行,字段为 NETWORK_SSID、NETWORK_PASS、ENABLE_NETWORK_MODE Sesame 官方固件文档、固件源码

资料来源

  • Sesame 官方固件文档
  • Sesame 固件源码
  • Sesame 动作序列源码

相关内容

60美元四足机器人Sesame实操指南实践