云端一体化差分升级,AliOSThings物联网升级“利器”

摘要: 随着物联网的日益发展,OTA升级逐渐成为物联网设备的刚性需求,目前物联网设备种类繁多,但并未提供统一的OTA升级方案,针对日益发展的物联网设备,开发者迫切需要一套云端一体化的OTA升级方案来满足快速迭代的产品开发周期,降低产品开发和部署的成本,同时针对物联网低功耗和省流量的场景,AliOS Things推出物联网设备的升级“利器”:云端一体化的差分+安全升级,可以快速修复软件漏洞,更新系统,解决了用户开发部署难,售后维护成本高,升级下载流量大,升级不安全的痛点问题。

1.1 OTA升级简介
随着物联网的日益发展,OTA升级逐渐成为物联网设备的刚性需求,目前物联网设备种类繁多,但并未提供统一的OTA升级方案,针对日益发展的物联网设备,开发者迫切需要一套云端一体化的OTA升级方案来满足快速迭代的产品开发周期,降低产品开发和部署的成本,同时针对物联网低功耗和省流量的场景,AliOS Things推出物联网设备的升级“利器”:云端一体化的差分+安全升级,可以快速修复软件漏洞,更新系统,解决了用户开发部署难,售后维护成本高,升级下载流量大,升级不安全的痛点问题。
1.2 OTA升级软件架构

AliOS Things OTA采用云端一体化软件架构如图所示,用户接口包括升级服务管理等界面设计在云端服务器上,通过设备端与云前端相互配合,为用户提供丰富特性的升级服务。

1.2 丰富的功能特性
AliOS Things OTA提供云端一体化的升级服务,不仅可以为用户提供更加安全可靠的基础升级服务,如乒乓双备份分区升级,安全的下载通道,固件完整性校验,断点续传,断电保护; 也可以为用户提供丰富的高级升级服务,如差分增量升级,数字签名验证安全升级。
1、安全可靠的双备份升级方式

AliOS Things OTA通过提供云端一体化的双备份分区升级,来确保任何情况不会因为升级过程而导致升级的设备无法启动。 如下图所示,使用乒乓双备份升级方式,同时配合设备端引导程序支持升级失败后可以自动回滚老的固件,使整个升级过程更加安全可靠。

2、云端一体化的差分升级方案

AliOS Things OTA提供云端一体化的差分升级服务,将耗时,计算量的差分包生成工具集成到云端后台服务器集群来生成,升级过程中的状态信息通过云端web或者手机端界面显示出来,极大的简化了物联网设备端端的操作流程,同时升级过程的状态信息,如进度条,错误码等可以实时的通过云端显示出来,最大限度的提高用户体验。差分生成的增量包只有原始包的5%以下大小,特别适合物联网设备低功耗,低流量场景,相信AliOS Things云端一体化的差分升级方案必将成为物联网领域设备升级的一把不可或缺的升级“利器”。云端一体化的差分升级流程如下午所示:

使用优化后的高效压缩算法,在最小内存使用的情况下可以达到最大压缩率,可以稳定运行在内存资源很小的平台,如乐鑫8266芯片,对bin文件平均压缩率在5%左右,在版本代码更改较小的情况下,对1M大小原始压缩后的bin文件,经过我们的差分算法压缩后增量包大小只有4332字节,几乎可以忽略不计, 可以最大限度的节省升级流量。

  3、安全数字签名验证(RSA)
如下图流程所示:AliOS Things OTA提供云端一体化的安全升级服务,与阿里云安全服务器KPM直接对接,在云端完成秘钥及证书管理,数据签名,下发公钥到设备端,设备端完成固件签名验证,整个流程云端一体化提供服务,集成开发及操作非常简单。云端一体化的安全升级如下图所示:

1.4 轻松上手AliOS Things升级服务

1、按照1.1章节AliOS Things wiki文档安装好集成编译工具,并下载好源码
AliOS Things OTA云到端使用文档链接: https://github.com/alibaba/AliOS-Things/wiki/OTA-Tutorial
2、在编译AliOS Things OTA Linux host Demo程序
aos make clean;
aos make [email protected]
3、Linuxhost下运行OTA Demo程序,确保PC正常联网并获取到IP地址
./[email protected]

4、从云端创建产品,获取产品信息pk,dn,ds, ps,执行命令行运行
OTA_APP "a16UKrlKekO" "gateway_test01" "AT2XFOPOIbJaKfXsKeaEhabJ8TLhMQYp" "RDluqbn3LQazrdqM"

如上图打印显示对应的ota设备pk,dn注册OTA服务成功(注意确保设备信息PK,DN等正确):

5、通过云端界面选择验证固件,点击确认后可以看到设备端OTA升级开始:

升级完成,在Linux host下会将文件写入到当前目录的文件名字为[email protected]文件中。

原文链接

本文为云栖社区原创内容,未经允许不得转载。

原文地址:http://blog.51cto.com/13952056/2296377

时间: 2024-10-13 01:03:38

云端一体化差分升级,AliOSThings物联网升级“利器”的相关文章

云计算未来趋势预测:AIaaS、无服务器、云端一体化等将成重点?

云计算是一种业务模式,服务提供商在定制的环境中处理客户的完整基础架构和软件需求.随着云计算的发展,云服务和解决方案也将随之增长. 软件即服务(SaaS)预计到2020年将以18%的年均复合增长率增长,平台即服务(PaaS)的采用率将在2020年达到56%,而2017年为32%.2018年基础设施即服务(IaaS)的全球市场规模将达到175亿美元.随着企业云服务的采用,云文件共享服务将会增加,而消费者云服务也将会随之增长.在云计算领域,亚马逊领先于微软.IBM.谷歌及其他技术巨头.2022年,亚马

ubuntu14.04升级以及gitlab升级

环境:系统版本ubuntu14.04 .gitlab-ce.8.11.3 升级要求:系统升级为目前最新的LTS版本的ubuntu16.04.gitlab升级为最新的版本 升级可以有两种方案: 一种类似于迁移(重新找台机器,系统直接安装ubuntu16.04,然后安装gitlab版本和原版本一致,进行数据迁移后确认数据无误后再对gitlab进行升级). 另一种直接在原机器上,首先对系统升级,然后对gitlab升级. 1.直接在原机器上升级的方案: 升级前备份数据: 停止gitlab备份数据 git

PostgreSQL升级之pg_upgrade升级

PostgreSQL中的升级,如果针对小版本的升级,比如9.6.1升级到9.6.2(当前的最新版本),只需要用9.6.2版本的软件替换9.6.1版本的软件即可,不需要做额外的操作,因为整个大版本是相互兼容的,内部存储形式也是兼容的.但如果涉及到跨大版本升级比如9.4.11升级到9.6.2,这种直接替换软件就不行了,因为跨版本的内部存储形式发生了变化. 官方给了三种升级的方式来解决跨版本升级: pg_dumpall pg_upgrade 通过复制 pg_dumpall是一种把数据从旧版本逻辑导出,

求公司电脑升级方案 求升级顺序 配置价格

技嘉 台式电脑 操作系统 Windows 7 旗舰版 32位 SP1 ( DirectX 11 ) 处理器 英特尔 Pentium(奔腾) G2030 @ 3.00GHz 双核 主板 技嘉 H61M-S1 (英特尔 Ivy Bridge - H61 芯片组)内存 4 GB ( 金士顿 DDR3 1600MHz )主硬盘 希捷 ST500DM002-1BD142 ( 500 GB / 7200 转/分 )显卡 英特尔 Ivy Bridge Graphics Controller ( 1551 MB

采用MySQL_upgrade升级授权表方式升级

1.7.1 采用MySQL_upgrade升级授权表方式升级(1) 这种升级方式比较省事,通过MySQL_upgrade命令即可完成.下面来演示一下整个升级过程. 1)修改my.cnf配置文件,因为MySQL5.1里的参数在5.5版本里已经不识别了. #skip-locking  在5.5里已经不识别了,改成 skip-external-locking #log-long-format  在5.5里已经不识别了,改成 log-short-format #log_slow_queries  在5.

django升级2.1python升级3.7时出现的错误:"trying to load '%s': %s" % (entry[1], e) django.template.library.InvalidTemplateLibrary:

django升级2.1python升级3.7时出现如下的错误: "trying to load '%s': %s" % (entry[1], e) django.template.library.InvalidTemplateLibrary: Invalid template library specified. ImportError raised when trying to load 'crispy_forms.templatetags.crispy_forms_utils':

6-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇-优化升级(安装Apache (Web服务器)软件,测试HTTP)

为了和SDK升级保持协议一致,花了两天时间实现了用LUA开发,MQTT+HTTP方式实现远程升级 安装Apache主要是为了实现通过HTTP下载资源 升级介绍: 1,用户点击检查更新时,APP用HTTP访问云端的更新信息,版本号,升级文件的位置,和这次升级的内容 2,APP通过MQTT把信息(版本号,升级文件的位置)发给设备,设备对比版本号以后把信息通过MQTT发给APP 3,APP根据设备返回的信息判断是不是需要升级,如果需要,弹出一个对话框(设备的版本号,云端的版本号,更新的内容),如果不需

大叔教你快速升级 老区新手升级心得详解

先说说什么是老区.玩神武有点历史的人应该明白,神武分3种区:老区.新区.测试区.新区应该一目了然吧,不多说.在这里先解释下测试区.测试区,是专门用来实验游戏新设计和检测游戏BUG(即程序漏洞)的服务器,出于对节省游戏开发成本和互动促销的考虑,绝大多数测试区都对公众开放,同时具备一般服务-器的游戏功能. 由此可见,测试区相比较负担更重,这就不难理解为什么测试区有时会出现登录排队.网络延迟等现象.很多玩家不知道神武的测试区,其实很简单!每周五上午是服务.器更新维护的时间,大家在进入游戏以后登录游戏之

拇指接龙游戏升级记录03(升级MainScene.cpp)

MainScene是拇指接龙游戏的主游戏场景文件,拥有近5000行代码. 说实在的,实现自cocos2d-x 2.x版本向当下最新的3.8.1版本的升级过程,其中涉及的技术不是一下能够说明的.有些是形式上的简单修改,更多的则是性能上的提升相应的修改. 简单总结一下主场景文件MainScene的升级工作.主要集中在如下几个方面: 1.扑克拖动相关事件的升级修改: 这一点在网络上已经有不少细致的资料,在此不赘述,请参考后面的引文. 如今的手指移动事件操作起来要比2.x时期简化多了. 2. CCArr