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: 内存分配错误

  • 3: OTA正在进行中

  • 4: OTA初始化错误

  • 5: OTA任务创建错误

示例

从服务器地址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+USEROTA=<sysrst>,<length>

响应格式

成功响应:

OK

错误响应:

ERROR:<error_no>

参数

  • <sysrst>:升级完成后是否自动重启
    • 0: 升级完成后不自动重启

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

  • <length>:
    • OTA固件总长度

错误码

  • 1: 参数错误

  • 2: 内存分配错误

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

  • 4: OTA正在进行中

  • 5: OTA初始化错误

示例

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

AT+OTAUSR=0,1120704
>>>
<发送ota固件内容>

OK