固件发布

上传固件

进入控制台的OTA升级页面,点击右上角的按钮,填写如下“添加新固件”对话框。

◆固件名称,可根据版本特性填入合适的名称

◆固件类型,有“MCU”和“通信模组”两个选项

a)MCU:升级MCU或使用静态库进行二次开发,请选择“MCU”选项

b)通信模组:升级模组整机固件时选择

◆选择固件1/2,上传用于升级的固件,支持后缀名为"bin"或"zip”格式的文件。仅使用ESP8266 1M flash版本模组时需要上传固件2,其他版本无需上传

◆版本号,格式必须为 XX.XX(X为数值0~9),此版本号应与固件源码中的版本号对应。

仅允许比此版本低的设备升级,设备运行版本号相等或大于此版本不会下载升级

◆升级范围,分全部升级和部分升级

a)全部升级:表示该固件对所有在线设备可见,只要比发布版本小的设备都会升级

b)部分版本升级:填写版本号后,此项可选。只升级选中版本号的设备,注意,不会升级未勾选版本设备,如需添加,请勾选“其他版本”并填写相应版本号,如图示

◆固件描述,可根据版本特性填入合适的描述信息

验证固件

为保证在线设备下载新固件后重启能够正常工作,要先对整个升级流程进行验证,验证成功后才可以正式发布新固件。

设备要支持OTA功能,先要对设备端进行编码,编码涉及的ota接口请参考《青莲云嵌入式SDK开发使用文档》第5节。

点击固件版本右边的按钮,弹出“验证固件”对话框,如下图所示:

选择一个大于设备重启时长的时间,云端会在下发重启指令后等待设备重启。

输入待验证设备的MAC地址,点击“立即验证”,弹出“下载进度”提示框,开始设备的验证升级流程。

1)正在下载,可以看到固件下载进度

下载固件时会调用《青莲云嵌入式SDK开发使用文档》5.2节的函数,函数实现在文件qlcloud_interface.c中,请根据具体平台自行编码实现。

此回调函数是对固件每个分包的处理,一般收到第一个数据包时,需要准备升级空间;收到后续数据包,写入升级文件或flash;收到最后一个数据包,整个固件接收完毕,这时需要校验整个固件的合法性,如果校验成功,表示整个固件接收完毕,等待重启升级指令。

参考实现如下:

2)下载完成,等待设备重启,这里会等待60秒

下载完成后云端会立即下发重启指令,之后等待设备重启,等待时长为上文设置的。注意,如果是已发布固件,云端下发重启指令的方式有3种,后面会讲到。

设备端收到升级指令后,自动调用《青莲云嵌入式SDK开发使用文档》5.3节的函数。函数实现在文件qlcloud_interface.c中,请自行编码实现设备重启,参考实现如下:

3)设备重启后,运行新版本固件重新上线,验证成功会提示“升级完成”

正式发布

固件验证成功后,点击按钮弹出如下“升级方式选择”对话框,设置升级指令的下发方式,有三种方式可供选择:

◆立即下发:设备下载固件完成后,云端立即下发升级指令

◆固定时间下发:设备下载固件完成后,云端仅会在设置的时间段下发升级指令

◆APP触发:设备下载固件完成后,APP提示是否升级新版本,最终用户选择“升级”时下发升级指令

选择完成后点发布按钮即可。

Copyright & copy qinglianyun all right reserved,powered by Gitbook该文件修订时间: 2021-04-22 18:53:48

results matching ""

    No results matching ""