1、概述
HaaS100是一款针对物联网场景的开发板,除支持前面介绍的功能外,也支持OTA功能。
OTA为云端一体化技术,HaaS 100 OTA 对接的云端为阿里云物联网平台,设备端搭载的是AliOS Things OTA技术。
主要功能列表如下:
1、支持乒乓升级:固件可在两个分区运行,支持固件版本回退,保证设备安全不变砖;
2、支持断点续传:弱网环境下,支持固件从断点处继续下载;
3、支持固件验签:固件可在云端或用本地签名工具进行数字签名(防止固件被篡改,对固件hash值进行非对称加密),设备端可完成对固件验签(用端侧的公钥对已签名的固件进行验签);
4、支持https安全下载方式:除支持http下载外,支持https下载方式;
5、支持MD5/SHA256固件完整性检验:为保证固件完成性,固件下载完成后,都有完整性校验;
6、支持网关子设备升级:当HaaS 100 做网关时,HaaS 100 OTA 除支持网关本身的升级外,也支持其子设备的升级;
升级操作流程如下:
下面以ota_demo为例介绍HaaS 100的OTA如何使用;
2、使用流程
HaaS100 搭载的是AliOS Things物联网操作系统,编译环境支持windows、linux和mac.
下面以linux环境为主介绍使用过程:
2.1、选择app和board
输入命令:
-
# 清除之前配置
-
$ aos make distclean
-
# 配置app为ota_demo,board为haas100
-
$ aos make ota_demo@haas100 -c config
2.2、配置固件版本号
输入命令:aos make menuconfig, 如下图:
选择顺序:Application Configuration -> Firmware Version
根据需求修改版本号,如app-2.0.0等
2.3、选择OTA组件及功能
完成步骤二,返回主界面:
选择顺序:Middleware Configuration --->-*- OTA Features --->OTA Features Configuration
相关功能介绍如下:
-
[ ] Download Config
# 默认采用初始下载参数,选中可配置下载参数
-
[ ] RSA Verify Support
# 默认不支持固件验签(校验固件是否被篡改),选中支持安全验签功能
-
[ ] Https Download Support
# 默认支持http下载,选中此项将支持https下载模式
-
(1024) write flash cache size(bytes)
# OTA写flash缓存大小默认是1k,支持自定义
-
[ ] OTA via uAgent
# 默认不支持uAgent模式升级,选中支持uAgent方式升级
如上所列的功能选项如果都没选中,OTA采用系统默认参数配置;
2.4、编译本地烧录固件
编译命令:aos make 编译完成后,生成的固件在platform/mcu/haas1000/release/write_flash_gui/ota_bin
目录下。
根据前面的烧录文档,先将固件烧录到HaaS 100板子上。
重启板子,打开串口终端,配置串口波特率为:1500000,连接终端,如果第一次使用板子,需要配置设备的4元组。
在终端输入:identity set pk ps dn ds
,输入成功后以后不用再输入 ,然后配网:
在终端输入:netmgr -t wifi -c wifi_ssid wifi_password
连网成功后,登录物联网平台可以看到对应的设备在线:
3、编译上云固件及云端操作
本地烧录完成后,需要做一个高版本固件上传到云端,通过云端操作完成固件的升级。
所以需要按照步骤2.2,修改固件版本号。
再按照步骤2.4编译固件,生成高版本的固件。
然后登录物联网平台平台,按如下图顺序操作:
点击添加固件后,如下图将platform/mcu/haas1000/release/write_flash_gui/ota_bin/ota_bin/ota_rtos_ota.bin
上传到云端:
点击确定后,选择验证固件即可开始固件升级;升级结果可以点击“查看”获取详细结果;
设备端通过串口打印的日志也能看到升级成功或者失败的log,最明显的标志是升级成功版本号会更新和云端推送的版本号一致,
失败则版本号不变;物联网平台的OTA操作可参考文档阿里云物联网平台固件升级文档
4、开发者技术支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号
更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/
转载:https://blog.csdn.net/HaaSTech/article/details/111057345