OTA AT 命令集

备注

  • OTA AT命令集默认未启用。

  • 参考 配置 SDK (menuconfig) 进入 CONFIG AT CMD 配置,勾选 Enable OTA 来启用 OTA AT 命令集。

  • OTA 功能相关说明请参考 OTA

AT+OTAHTTP

功能说明

通过 HTTP 的 GET 方式获取 OTA 固件,并将其烧录到对应的区域进行升级

OTA 过程通常需要几十秒到几分钟,为了保证期间其他 AT 命令可以正常进行,OTA 过程在后台运行,通过 AT 消息 来提示 OTA 的状态和进展。

命令格式

AT+OTAHTTP=<sysrst>,<host>,<path>[,<port>],<conn_type>[,<cert_index>]

响应格式

成功响应:

OK

错误响应:

ERROR:<error_no>

AT 消息

OTA 在后台运行时,会有如下进度和结果的提示消息:

[$][OTA][HTTP]: UPDATE <百分比>
[$][OTA][HTTP]: UPDATE SUCCESS
[$][OTA][HTTP]: UPDATE FAIL

参数

<sysrst>:

升级完成后是否自动重启

  • 0:升级完成后不自动重启

  • 1:升级完成后自动重启

<host>:

目标主机,不需要 http://https:// 前缀

  • 支持域名或 IPv4 地址

  • 最大长度:128 字符

<path>:

资源路径

  • 最大长度:256 字符

<port>:

HTTP 服务器端口

  • 范围:[0,65535](默认值0)

  • 0:HTTP 使用 80 端口,HTTPS 使用 443 端口

<conn_type>:

HTTP 连接类型

  • 1:HTTP

  • 2:HTTPS(不校验证书)

  • 3:HTTPS(用CA证书验证服务器证书)

  • 4:HTTPS(提供客户端证书给服务器验证)

  • 5:HTTPS(双向认证,3 和 4 的合集)

<cert_index>:

安全证书套件索引,参考 AT 安全证书

  • [1-10]

  • 仅 <conn_type> 为 3~5 时需要

错误码

  • 1:参数错误

  • 2:内存分配错误

  • 5:OTA初始化错误

  • 4:OTA正在进行中

  • 5:OTA任务创建错误

  • 6:证书套件获取失败

示例

从服务器地址 192.168.137.11 的 8082 端口上获取 ota_all.bin 固件进行升级,并且升级完成后自动重启

AT+OTAHTTP=1,192.168.137.1,8082,ota_all.bin

OK
[$][OTA][HTTP]: UPDATE 10%
[$][OTA][HTTP]: UPDATE 20%
[$][OTA][HTTP]: UPDATE 30%
[$][OTA][HTTP]: UPDATE 40%
[$][OTA][HTTP]: UPDATE 50%
[$][OTA][HTTP]: UPDATE 60%
[$][OTA][HTTP]: UPDATE 70%
[$][OTA][HTTP]: UPDATE 80%
[$][OTA][HTTP]: UPDATE 90%
[$][OTA][HTTP]: UPDATE 100%
[$][OTA][HTTP]: UPDATE SUCCESS

AT+OTAUSER

功能说明

透传(TT)模式 发送 OTA 升级固件,进行升级

备注

该命令仅支持在 主控控制模式 下使用。

命令格式

AT+OTAUSER=<sysrst>,<length>

响应格式

成功响应:

OK

错误响应:

ERROR:<error_no>

参数

<sysrst>:

升级完成后是否自动重启

  • 0:升级完成后不自动重启

  • 1:升级完成后自动重启

<length>:

OTA 固件总长度

错误码

  • 1:参数错误

  • 2:内存分配错误

  • 3:OTA初始化错误

  • 4:OTA正在进行中

  • 5:透传模式错误

  • 6:升级过程中发生错误

示例

发送一个 1120704 字节长度的 OTA 固件进行升级,升级完成后不重启

AT+OTAUSER=0,1120704
>>>
<发送 OTA 固件内容>

OK