HaaS 100是一款针对IoT场景的公板,支持OTA功能,OTA为云端一体化技术。HaaS 100 OTA对接的云端为阿里云物联网平台,设备端搭载的是AliOS Things OTA技术。
功能列表
HaaS 100主要功能列表如下:
乒乓升级
固件可在两个分区运行,支持固件版本回退,保证设备安全。
断点续传
弱网环境下,支持固件从断点处继续下载。
固件验签
固件可在云端或用本地签名工具进行数字签名,设备端可完成对固件验签。
HTTPS下载方式
除支持HTTP下载外,还支持HTTPS下载方式。
MD5/SHA256固件完整性检验
为保证固件完成性,固件下载完成后,都有完整性校验。
网关子设备升级
当HaaS 100做网关时,HaaS 100 OTA除支持网关本身的升级外,也支持其子设备的升级。 升级操作流程如下:
使用流程
HaaS 100搭载的是AliOS Things物联网操作系统,编译环境支持Windows和Linux。下面以ota_demo为例介绍在Linux环境使用HaaS 100 OTA的过程。
执行以下命令选择app和board。
# 清除之前配置 $ aos make distclean # 配置app为ota_demo,board为haas100 $ aos make ota_demo@haas100 -c config
配置固件版本号。
输入命令:
aos make menuconfig
选择Application Configuration > Firmware Version,
根据需求修改版本号。
返回主界面。
选择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方式升级
编译本地烧录固件。
编译命令:aos make编译完成后,生成的固件在
platform/mcu/haas1000/release/write_flash_gui/ota_bin
目录下,根据前面的烧录文档,先将固件烧录到HaaS 100板子上,重启板子,打开串口终端,配置串口波特率为:1500000,连接终端,如果第一次使用板子,需要配置设备的证书信息,在终端输入:identity set pk ps dn ds
,然后配网,在终端输入:netmgr connect wifi_ssid wifi_password
,连网成功后,登录物联网平台可以看到对应的设备在线。编译上云固件及云端操作。
说明执行本操作时需确保设备已连接至物联网平台。
本地烧录完成后,需要做一个高版本固件上传到云端,通过云端操作完成固件的升级,所以需要按照步修改固件版本号,再按照步骤4编译固件,生成高版本的固件,然后登录物联网平台,选择监控运维 > OTA 升级 > 添加升级包,上传固件。
参数选择说明如下:
参数
说明
升级包类型
选择整包。
升级包名称
待升级固件的名称,自定义。
所属产品
下拉菜单选择固件所属产品。
升级包模块
选择模块,没有子模块选择default。
升级包版本号
填入待升级固件的版本号。
签名算法
建议选择SHA256。
选择升级包
上传待升级的固件。
升级包是否需要平台验证
选择是。
单击确定开始固件升级,升级结果可以单击查看获取升级详详情。