720模块C_SDK版本使用合宙后台进行固件升级指南

720模块C_SDK版本使用合宙后台进行固件升级指南

720模块支持FOTA远程升级,正常AT版本可以使用AT+UPGRADE来手动进行远程升级。720模块C_SDK版本不支持此命令,现在demo是从FTP服务器下载固件来进行升级的。导致无法使用lua物联云平台进行升级。

本文主要介绍的是720模块C_SDK如何使用lua物联云平台(https://iot.openluat.com) 进行远程升级。


升级方式:与现有demo从FTP服务器下载固件方法类似,需要建立http客户端get或post对应的获取到的获取到的url来下载固件进行升级。


1、Url获取说明
示例:
http://iot.openluat.com/api/site/firmware_upgrade?project_key=O9XU3rv3h62wL9vYETGVW5yDwWsoPnTF&imei=868575021833902&device_key=&firmware_name=LUAT_AT_Luat_AirM2M_720H_LTE_AT&version=1.0.1132&iccid=89861118225035944728&pwrcause=0&netsta=0,causetyp=0,rejectcause=0&fatalinfo=0

Url需要参数:http://iot.openluat.com/api/site/firmware_upgrade?project_key&imei&device_key=&firmware_name=LUAT_AT_Luat_AirM2M_720H_LTE_AT&version&iccid&pwrcause=0&netsta=0,causetyp=0,rejectcause=0&fatalinfo=0

ProductKey: luat物联云平台中产品信息中的 ProductKey;
例:ProductKey=O9XU3rv3h62wL9vYETGVW5yDwWsoPnTF

imei: AT+CGSN查询的imei号
例:868575021833902
imei=868575021833902

version: AT+VER版本中的版本号
例:AirM2M_720H_V1132_LTE_AT
version=1.0.1132

iccid:AT+ICCID查询出来的ICCID号
例:+ICCID: 898600f1121054884508
iccid=898600f1121054884508

2、连接http服务器
使用http客户端连接上述生成的url服务器时
2.1 成功会读取数据进行下载

2.2 连接错误会返回对应的HTTP错误码
http错误码,详细错误码参考 https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin

2.3 HTTP连接成功,升级失败返回失败原因值
{"code": 27, "msg": "\u5df2\u662f\u6700\u65b0\u7248\u672c"}

3 :无效的设备。找不到设备。
17:无权限。
25:无效的项目
26:无效的固件
27:已经是最新版本。通过了前面的检查,但版本号已是最新,或没打开升级开关、没指定imei等。

3、下载数据存储位置
连接http服务器成功后再接收数据是,将读到的数据使用iot_fota_download()函数下载到指定区域。具体可参见C_SDK代码demo_fota.c中FTP服务器下载逻辑

4、固件升级
下载固件完成后调用iot_fota_done()来进行升级,升级时会重启设备进行固件烧写。具体可参见C_SDK代码demo_fota.c中升级逻辑

注意:远程升级文件名需要修改成类似这种LUAT_AT_1.0.1314_Luat_AirM2M_720H_LTE_AT,然后放到服务器上。服务器上的版本号必须比本地版本号要大

上次更新 2021-01-28