at.py 工具

[English]

at.py 工具用于修改 ESP-AT 官方发布版固件、GitHub 临时固件和 2MB/4MB 固件中的多种参数配置。这些配置包括 Wi-Fi 配置、证书和密钥配置、UART 配置、GATTS 配置等。当默认的固件无法满足您的需求时,您可以使用 at.py 工具修改固件中的这些参数配置。

详细步骤

请根据下方详细步骤,完成 at.py 工具下载、固件中的配置修改以及固件烧录。推荐您优先选择 Linux 系统开发

第一步:Python 安装

如果您本地已经安装过 Python,则可以跳过此步骤。否则,请根据 Python 官方文档,完成 Python 的下载和安装。推荐您使用 Python 3.8.0 或更高版本

安装完成后,您可以在命令行中输入 python --version,查看 Python 版本。

第二步:at.py 下载

访问 at.py 页面,点击 Download raw file 按钮,将 at.py 文件下载到本地。

下载 at.py 文件

下载 at.py 文件

第三步:at.py 用法说明

当前 at.py 支持修改固件中的参数配置,请在命令行中输入 python at.py modify_bin --help,查看支持的用法以及说明。

第四步:at.py 修改固件中的配置示例

备注

  • 您可以混合修改多种参数配置,例如,您可以同时修改 Wi-Fi 配置和证书和密钥配置。

  • 待修改的参数配置,脚本并不会检查其合法性,请确保您输入的参数配置是合法的。

  • 修改后的参数配置,在当前 mfg_nvs 目录下的 mfg_nvs.csv 中,会有对应的记录。

修改 Wi-Fi 配置

当前可修改的 Wi-Fi 参数配置如下表所示:

参数

功能

说明

--tx_power

Wi-Fi 的最大发射功率

详情见 ESP32-S2 发射功率

--country_code

Wi-Fi 国家代码

详情见 Wi-Fi 国家/地区代码 中的 cc 字段

--start_channel

Wi-Fi 起始信道

详情见 Wi-Fi 国家/地区代码 中的 schan 字段

--channel_number

Wi-Fi 的总信道数

详情见 Wi-Fi 国家/地区代码 中的 nchan 字段

例如,您可以使用以下命令,修改 Wi-Fi 的最大发射功率为 18 dBm,国家代码为 US,起始信道为 1,总信道数为 11:

python at.py modify_bin --tx_power 72 --country_code "US" --start_channel 1 --channel_number 11 --input factory_XXX.bin
  • --tx_power 72:单位是 0.25 dBm,72 表示 18 dBm

  • --input factory_XXX.bin:输入的固件文件

修改证书和密钥配置

当前可修改的证书和密钥配置如下表所示:

参数

功能

原始文件

--server_ca

TLS 服务器的 CA 证书

server_ca.crt

--server_cert

TLS 服务器的证书

server_cert.crt

--server_key

TLS 服务器的密钥

server.key

--client_ca0

第 0 套客户端的 CA 证书

client_ca_00.crt

--client_cert0

第 0 套客户端的证书

client_cert_00.crt

--client_key0

第 0 套客户端的密钥

client_key_00.key

--client_ca1

第 1 套客户端的 CA 证书

client_ca_01.crt

--client_cert1

第 1 套客户端的证书

client_cert_01.crt

--client_key1

第 1 套客户端的密钥

client_key_01.key

--mqtt_ca

MQTT 客户端的 CA 证书

mqtt_ca.crt

--mqtt_cert

MQTT 客户端的证书

mqtt_client.crt

--mqtt_key

MQTT 客户端的密钥

mqtt_client.key

--wpa2_ca

WPA2-Enterprise 客户端的 CA 证书

wpa2_ca.pem

--wpa2_cert

WPA2-Enterprise 客户端的证书

wpa2_client.crt

--wpa2_key

WPA2-Enterprise 客户端的密钥

wpa2_client.key

例如,您可以使用以下命令,修改 MQTT 客户端的 CA 证书、客户端的证书和密钥。

python at.py modify_bin --mqtt_ca mqtt/mqtt_ca.crt --mqtt_cert mqtt/mqtt.crt --mqtt_key mqtt/mqtt.key --input factory_XXX.bin
  • --input factory_XXX.bin:输入的固件文件

修改 UART 配置

可修改的 UART 配置,仅包括 AT 命令端口 的 UART 配置。可修改的参数配置如下表所示:

参数

功能

说明

--uart_num

AT 命令口的 UART 号

仅在 AT 日志口同时用作 AT 命令口时,需要修改此参数。同时保证下面的 tx_pinrx_pinAT 日志端口 的管脚一样。

--baud

AT 命令口的波特率

原始值:115200

--tx_pin

AT 命令口的 TX 管脚

请保证待修改的管脚不会和其他管脚冲突

--rx_pin

AT 命令口的 RX 管脚

请保证待修改的管脚不会和其他管脚冲突

--cts_pin

AT 命令口的 CTS 管脚

请保证待修改的管脚不会和其他管脚冲突。不用流控时,修改此参数为 -1。

--rts_pin

AT 命令口的 RTS 管脚

请保证待修改的管脚不会和其他管脚冲突。不用流控时,修改此参数为 -1。

例如,您可以使用以下命令,修改 AT 命令口的波特率为 921600,TX 管脚为 17,RX 管脚为 16,禁用流控。

python at.py modify_bin --baud 921600 --tx_pin 17 --rx_pin 16 --cts_pin -1 --rts_pin -1 --input factory_XXX.bin
  • --input factory_XXX.bin:输入的固件文件

第五步:固件烧录

注意

修改后的 AT 固件,需要您根据自己的产品自行测试验证功能。

请保存好修改前和修改后的固件以及下载链接,用于后续可能的问题调试。

请根据 固件烧录指南,完成固件烧录。