esp32-config

在开发板控制台以 root 身份运行 esp32-config,打开配置菜单。 选择设置,编辑当前值,再保存并应用。Back 返回上一级,Finish 退出工具。 退出后,已提交的设置仍会保留。

菜单

页面

设置

System

主机名、登录密码、日期/时间、开机程序

Network

Wi-Fi 网络、IPv4 地址、DNS

Bluetooth

启用状态、设备名、已保存配对

Interfaces

外设选择、引脚、参数、GPIO、USB 功能

Memory & storage

Swap 和一个可移动存储卷

Maintenance

导出、导入、重置、完整状态

页面根据运行镜像中安装的驱动和工具提供功能。例如,USB 设备功能需要 gadget 支持, 挂载存储卷需要对应的文件系统驱动。菜单开关无法启用镜像中未编译的驱动。 见构建配置。

常规设置提交后生效。开机程序配置在下次启动该程序时使用。 导入或重置的设置在重启 Linux 后一起应用;这些操作会说明需要重启。

系统命令

esp32-config system hostname [NAME]
esp32-config system password
esp32-config system time status|apply|sync
esp32-config system time configure ZONE AUTOMATIC SERVER
esp32-config system time set 'YYYY-MM-DD HH:MM:SS'
esp32-config system autostart status|enable|disable|start|stop
esp32-config system autostart configure EXECUTABLE [ARG ...]

hostname 省略 NAME 时会提示输入新名称。 password 打开系统密码工具,为 root 修改密码。 时间配置中的 AUTOMATIC 为 0 或 1。 EXECUTABLE 使用绝对路径,每个 ARG 按原样传递。 示例和启动行为见系统设置。

网络命令

esp32-config wifi status|scan|configure|enable|disable|forget
esp32-config wifi connect SSID [psk|open]
esp32-config wifi configure-hex SSID_HEX [psk|open]
esp32-config network status
esp32-config network dhcp [auto|manual [DNS ...]]
esp32-config network static ADDRESS PREFIX GATEWAY_OR_- [DNS ...]

交互式 wifi configure 要求输入一次 SSID 和一次密码,然后保存并连接。 connect 通过参数接收 SSID,从终端或标准输入读取一次密码。 选择 open 时不读取密码。configure-hex 接收以十六进制表示的完整 SSID 字节。

加密配置接受 8–63 字节的密码,或 64 个十六进制字符组成的 PSK。 工具保存派生密钥,不保留明文口令。 加密网络的 SSID 包含零字节时,需要使用 configure-hex 和预先计算好的 PSK; 开放网络只需使用 configure-hex。

非交互式 wifi configure 读取三行输入:SSID、密码、相同密码。此方式只保存配置。 使用 wifi connect 并从标准输入提供一行密码,可以完成保存并连接。

连接操作在完成后返回 0,应用失败时返回 1,等待结束但连接仍未完成时返回 2。 重试前可先查看 wifi status;等待未完成时,连接进程会继续运行。 参数用法错误也会返回非零状态。

地址命令接受 IPv4 地址和最多三个 DNS 服务器。不需要网关时使用 -。 修改地址设置会重新连接已启用的 Wi-Fi;Wi-Fi 关闭时,设置保留到下次连接使用。 见 Wi-Fi 与蓝牙配置。

蓝牙命令

esp32-config bluetooth info|status|enable|disable|restart
esp32-config bluetooth name [NAME]
esp32-config bluetooth clear-pairings

name 省略名称时显示保存的名称。名称为 1–29 字节,不能包含控制字符,默认为 S31 Radio。 启用蓝牙时修改名称会重启蓝牙。clear-pairings 清除当前控制器的 Classic 和 BLE 密钥, 并重启正在运行的蓝牙服务。

启用蓝牙会提供 Classic A2DP 传输和 BLE 外设功能。 内置应用没有用于 PCM 播放的音频解码器。 bluetooth scan 命令报告不支持扫描,菜单中没有扫描入口。

改变 Wi-Fi/蓝牙启用组合会重新加载共享无线模块。重复设置相同的启用状态不会执行重启; 需要恢复连接时,使用 apply wifi 或 bluetooth restart。 配对和服务说明见网络指南。

接口与 GPIO

esp32-config overlay COMMAND [ARG ...]
esp32-config gpio list|status|apply|reset
esp32-config gpio set LINE application|low|high
esp32-config gpio set LINE input [none|up|down]
esp32-config gpio read LINE

overlay 将参数转交给 s31-overlay,包括 --volatile。 接口页面分别读取默认值、当前值和保存值;固定引脚只显示,不提供 GPIO 编辑字段。

GPIO 配置立即生效,退出菜单后继续保持,并由 Linux 启动服务恢复。 application 释放引脚并移除保存配置。 reset 释放工具持有的全部 GPIO,并清除其保存配置。 read 读取受管理的输入;读取受管理的输出时,返回配置的电平。 使用方式和引脚占用规则见使用外设。

CLI 还提供以下诊断命令:

esp32-config gpio info [CHIP]
esp32-config gpio get CHIP LINE
esp32-config gpio pulse CHIP LINE VALUE [SECONDS]

pulse 临时输出 1–30 秒,默认为 3 秒。 它不创建保存配置,也不属于配置菜单。

内存、存储与 USB

esp32-config storage status
esp32-config storage swap status|disable|apply|stop
esp32-config storage swap enable DEVICE
esp32-config storage configure DEVICE PATH AUTOSTART READONLY
esp32-config storage mount|unmount
esp32-config storage autostart 0|1
esp32-config usb status|apply|stop
esp32-config usb configure MODE [SERIAL_LOGIN [IP/PREFIX]]

存储命令选择已有的 swap 设备或文件系统,不会格式化设备。 设备可以用 /dev/... 路径或 UUID=... 标识。 AUTOSTART 和 READONLY 均为 0 或 1。 挂载目录应为 /mnt 或 /media 下的空目录。 见内存与存储。

USB 的 MODE 为 host、serial 或 network。 SERIAL_LOGIN=0 表示应用串口,1 表示 Linux 登录控制台。 网络模式使用 ECM,开发板地址默认为 192.168.7.2/24。 电脑端配置和角色切换方法见 USB 功能。

应用设置与管理备份

esp32-config status
esp32-config apply [all|system|wifi|bluetooth|gpio|storage|usb]
esp32-config stop
esp32-config maintenance backup PATH.tar
esp32-config maintenance restore PATH.tar
esp32-config maintenance reset network|bluetooth|interfaces|gpio|system|memory|all

apply 默认使用 all,重新应用系统、无线、GPIO、USB 和存储设置。 它不会启动开机程序,也不会替换当前活动的覆盖层集合。 apply system 应用主机名和时间设置。 stop 停止受管理的 Wi-Fi 连接,并保留保存的策略。

备份只包含 esp32-config 管理的设置。 导入和重置会保留用户程序、登录密码和蓝牙配对密钥。 重启 Linux 后应用导入或重置的配置。 备份示例、持久存储和恢复方法见配置。

持久化文件

/etc/esp32-conf 下的文件

内容

system.conf

主机名

wifi.conf

Wi-Fi 启用状态、接口、SSID 标识、IPv4/DNS 策略

wpa_supplicant.conf

保存的 STA 配置

bluetooth.conf

启用状态、控制器选择、BLE 策略、设备名

overlays.conf

保存的外设选择和参数

gpio.conf

受管理的 GPIO 配置

time.conf

时区、自动校时开关、时间服务器

autostart.conf、autostart.args

开机程序和按原样传递的参数

swap.conf

Swap 设备选择和启动策略

storage.conf

存储卷、挂载路径、访问方式、启动策略

usb.conf

USB 模式、串口登录选择、网络地址、设备标识

配置目录权限为 0700,设置文件权限为 0600。 登录密码由系统密码工具单独管理。 运行状态保存在 /run/esp32-config,重启后清除。

主入口位于 buildroot-external/board/esp32-s31/overlay/usr/sbin/esp32-config, 设置模块位于同一 overlay 下的 usr/lib/esp32-config 目录。