你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1041|回复: 10

[活动] 参加STM32 FOTA功能问卷调查,奖品送不停!

[复制链接]

1347

主题

1124

回帖

0

蝴蝶豆

管理员

最后登录
2020-12-9
发表于 2019-6-24 10:17:53 | 显示全部楼层 |阅读模式
问卷时间:2019年6月19日-28日

奖品:问卷结束后,从所有用户中抽取10位用户,赠送STM32双肩包。根据反馈的问卷内容,额外选取10位用户赠送STM32 NUCLEO-L496ZG开发板

礼品.JPG

---------------------------------------------华丽丽的分割线-----------------------------------------------------

今年上半年ST联合阿里云IoT共同推出了“物联网全栈开发”的IoT课程。讲述了如何使用STM32节点连接到阿里云IoT,并把汇聚的节点数据在用户服务器上做前、后端开发。目前,课程的全部讲义,包括节点端项目工程,服务器端项目工程,都已经上传到STMCU中文网站,供大家免费下载学习。课程开发工程师录制的视频讲解,也已经在AI电堂全部上线。当前1.0版本课程,主要向大家展示了IoT应用中数据流全栈开发的过程,这对于传统嵌入式工程师,和传统web开发工程师,都很有借鉴意义。

课程2.0版本,我们将回归到节点端,侧重以STM32为核心的功能扩展。1.0版本中,节点端实现的主要功能就是传感器数据的定时上报,以及对来自云端的下发指令进行接收和本地执行。这样一个以MQTT协议所承载的小体量数据双向通信,是当前iot应用最常见的使用场景。但是,随着节点设备大规模部署,设备的FOTA功能,越来越是一个成熟iot产品不可或缺的部分。FOTA(固件空中升级)可以缩短节点设备的上市部署时间。因为节点的新功能添加,已有功能的补丁安装,都可以通过FOTA来实现。这也从某个角度加强了IoT设备的安全性。

FOTA简单来说,无非就是通过无线传输,接收到新版本固件,然后更新STM32上自己的老版本固件。基于本系列课程的背景,我们仍然采用阿里IoT平台来实现设备的远程固件空中升级。课程采用的硬件,以Nucleo-L4R5ZI为核心、外扩sensor功能板,目前支持wifi连接;NB-IoT的窄带连接方式不久也会加入到课程体系中。

先说wifi连接方式下的FOTA。Wifi连接可提供较高的传输带宽,并且以wifi为连接方式的应用场景里,供电不是大问题,对低功耗并不敏感。基于这样的连接方式,使用全片升级是比较直接的方式。

想象一下:正常情况下,节点设备运行应用程序。某个时候收到“有新固件可推送”的通知(比如MQTT消息推送),下面需要做的是下载新版本固件。应用程序根据当前运行状况,在它觉得合适的时候,去开始下载任务。这里碰到第一个问题:下载功能,是作为应用程序的一部分,还是单独在bootloader里实现?

- 【A.1】在应用程序中实现:应用程序在合适的时候,启动对应功能(比如从MQTT消息中获得固件URL地址,开启HTTP get流程)
好处是:接收新版本固件这个小功能,本身可以升级
局限是:STM32的RAM会被下载功能和应用程序本身的功能,共用

- 【A.2】在bootloader中实现:应用程序在合适的时候,通过软件复位来运行bootloader
好处是:接收新固件时,不会运行应用程序。此时STM32的RAM可供bootloader自己完全使用。
局限是:bootloader本身得不到升级,需要考虑通信协议的成熟固定,安全性方面要能接受
- RAM是新版本固件,无论从本地usb/can,还是通过uart/spi接收无线模块传过来,到烧到STM32片上flash,两个步骤中间的缓冲区域。如果做差分升级,解差分算法本身也会消耗RAM资源。

紧接着,第二个问题:下载的新版本固件(通过RAM中转后)直接更新,还是先放起来?

- 【B.1】先放起来:这是一种典型的冗余升级,或者也可以叫“乒乓升级”
好处是:节点端有两个地方存储着可运行的应用固件(不同版本)。即使接收新固件的过程被意外打断,始终有一个区域里面包含的是可运行的固件代码,即使不是最新版本的。就算当前什么原因,断网或者通信接口受到干扰,本地设备总还是有可以运行的应用固件
局限是:方案成本相应增加

那么第三个问题:先放起来的话,放在哪里?

- 【C.1】放在STM32的片外flash: STM32目前不支持从片外flash执行代码,必须有一个额外的步骤来把片外flash中的内容烧写到片内flash中(所谓新版本固件的)
  • 好处是:增加同样的存储容量,外扩flash的成本更低
  • 局限是:从片外flash读取新版本固件烧写片上flash过程中的安全问题
  【C.2】放在STM32片上flash上:
  • 好处是:安全性相比【C.1】高一些
  • 局限是:成本相比【C.1】也高一些

- 【B.2】收到后直接更新:这里的直接更新,实际暗含的意思是节点端只有一份存放应用程序的地方,所谓“原位升级”。那么这个“下载”和“更新”的功能,一定是由bootloader来运行

不同的分支,会有不同的实现方案。从使用者的角度来说,几种实现方式的优势和局限,大略分析如下。

fota.jpg

基于本次课程所采用的硬件(Nucleo-L4R5ZI、wifi扩展板、sensor扩展板),没有板上搭载STM32片外flash,因此case A和case D先不考虑。

【题目一(多选)】大家在自己的应用中,比较倾向于采用以上哪一种,或哪几种?(方案编号参考上图“case #”栏)

【题目二(多选)】本系列课程仍然基于阿里云IoT来做设备的FOTA,您的IoT应用中会使用什么样的云平台做FOTA这样的设备管理

【题目三(多选)】如果您也是使用阿里云IoT平台,节点设备是如何连接的?


【题目四(多选)】您的IoT应用中,在和云平台或者自己的服务器连接过程中,使用TLS/DTLS来建立安全的通道吗?

目前,随着NB-IoT模块的普及,很多IoT应用节点采用了这样的低功耗连接方式。和Wifi连接不同的是,窄带传输和低功耗是此类应用比较关注的地方,并且由于流量会计入资费,做设备FOTA时往往有另外一些考量。

- 设备固件的迭代,大多时候只是部分功能有更新,其他模块并没有变化。这样,只需要传输更新的部分即可,所谓“部分升级”。

- 更多的情况下,更改并不仅限于某几个函数,改动涉及的范围比较大,使用差分算法可以极大压缩需要在空中传输的数据包大小,

所谓“差分”升级。它也在以NB-IoT和LoRa为传输基础的窄带IoT应用中得到了广泛的应用。

差分制作和解差分算法,是差分升级的核心。用户使用差分服务提供商的在线差分包制作工具,生成差分包;通过集成在STM32里的解差分还原能力,把新版本固件恢复出来并安装。STM32和差分升级服务提供商有着密切合作,基于STM32F0、F1、F4、F7,L0、L4等多个系列,都有适配,可以提供参考实现。差分升级服务的收费通常有两种模式:

- 按照连接到升级平台的设备数量收费。比如,部署了2000台设备,需要通过服务商的差分升级平台进行管理。一台设备1块钱,包终生升级

- 更加适合大众市场的方式:按照实际升级次数收费,一台设备升级一次1毛钱

【题目五(多选)】在您的IoT应用中,尤其是窄带传输的应用场景,对升级的方案考虑是怎样的?

【题目六(多选)】您的IoT应用中,节点端是怎样的拓扑结构

【题目七(多选)】在您的IoT应用中,数据的流转路径是怎样的?


设备的固件升级从某种角度可以加强IoT设备的安全性,因为新功能的添加和已有功能的改善都可以通过FOTA来实现,使得设备可以在其生命周期内可以不断迭代,而无需物理设备的召回。但是固件升级本身的安全性(security)如果不能得到保障,后续的一切都是空谈,反而可以被恶意的攻击者利用,作为破坏系统的一个入口。

- 黑客可以替换掉固件。一个来源不可靠的固件安装到节点设备上,轻则不能运行,让设备变砖;重则若它被注入了恶意代码,设备安装该固件后给系统留了后门,后果更是不堪设想。

- 另外,如果固件在传输过程中没有任何防护措施地明文传输,固件可以被所有人获得,也可以被中途拦截而被人为修改。

- 还有一点不容忽视,没有设备固件的安全启动,以上列举到的环节即使都做到了,系统的安全,包括安全固件升级也是空中楼阁。

【题目八(多选)】在您的FOTA应用中,固件升级的“安全性”是如何考虑和应用的

马上点击参加问卷
,或者扫描二维码
qrcode.png


回复

使用道具 举报

4

主题

324

回帖

16

蝴蝶豆

金牌会员

最后登录
2020-10-26
发表于 2019-6-25 14:23:30 | 显示全部楼层
有价值的问卷
回复 支持 反对

使用道具 举报

1347

主题

1124

回帖

0

蝴蝶豆

管理员

最后登录
2020-12-9
 楼主| 发表于 2019-6-28 14:10:53 | 显示全部楼层
大家快来回答问卷啊
回复 支持 反对

使用道具 举报

14

主题

719

回帖

58

蝴蝶豆

金牌会员

最后登录
2020-12-1
发表于 2019-6-28 14:16:18 | 显示全部楼层
好活动,绝对的亲民调查
回复 支持 反对

使用道具 举报

0

主题

59

回帖

0

蝴蝶豆

初级会员

最后登录
2019-7-30
发表于 2019-6-28 14:16:39 | 显示全部楼层
好活动,绝对的亲民调查
回复 支持 反对

使用道具 举报

57

主题

403

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-15
发表于 2019-6-28 14:22:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

4

回帖

0

蝴蝶豆

新手上路

最后登录
2019-6-29
发表于 2019-6-29 11:33:58 | 显示全部楼层
没搭上末班车!
回复 支持 反对

使用道具 举报

1

主题

98

回帖

2

蝴蝶豆

高级会员

最后登录
2020-11-27
发表于 2019-7-1 07:19:20 | 显示全部楼层
已经参加了!
回复 支持 反对

使用道具 举报

1

主题

201

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-12-8
发表于 2019-7-1 08:46:11 | 显示全部楼层

签到光荣!
回复 支持 反对

使用道具 举报

8

主题

1597

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2019-7-2 09:43:13 | 显示全部楼层
已经参加了!不算太迟吧

点评

不迟哦!  发表于 2019-7-2 10:26
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版