网站友情链接购买,自己做影视网站,国美网站建设的特点,dw怎么做音乐网站摘要#xff1a; FOTA#xff08;Firmware Over-The-Air#xff09;即空中固件升级功能#xff1b;CoAP(Constrained Application Protocol),字面意思为受限的应用协议#xff0c;基于UDP#xff0c;专为资源有限的物联网设备量身定制#xff1b;所以AliOS Things的纯Co…摘要 FOTAFirmware Over-The-Air即空中固件升级功能CoAP(Constrained Application Protocol),字面意思为受限的应用协议基于UDP专为资源有限的物联网设备量身定制所以AliOS Things的纯CoAP FOTA就是专为资源有限的物联网设备(如基于NB-IoT,LoRa)提供的远程固件升级功能。
FOTAFirmware Over-The-Air即空中固件升级功能CoAP(Constrained Application Protocol),字面意思为受限的应用协议基于UDP专为资源有限的物联网设备量身定制所以AliOS Things的纯CoAP FOTA就是专为资源有限的物联网设备(如基于NB-IoT,LoRa)提供的远程固件升级功能。
1.AliOS Things1.1.2 FOTA简介 我们先看一下当前版本(AliOS Thing1.1.2)的FOTA结构图简要介绍信息交互通道指与特定的云平台交互更新信息如版本上报、查询下载链接获取进度上报等控制或通知类信息 下载通道通过1中获取的下载链接下载指定固件 FOTA service:fota主服务 版本管理维护升级前后的固件版本 Securityfota安全部分包括通道安全mbedtls,固件下载校验flash写入校验等 Hal适配层针对特定硬件的接口适配主要指flash操作部分 启动参数设置/固件更新这里分两种情况1.乒乓升级直接将新固件写入与当前程序运行分区对等的另一个分区中下载完成后设置启动参数让下次程序启动直接从FOTA下载分区启动每次更新来回切换2.下载完成后设置启动参数进入bootloader中将下载好的固件从下载分区中复制到程序运行分区以完成固件升级。
2.CoAP块传输 CoAP协议格式RFC7959定义了CoAP协议的块输出规范对于resource representation无法通过一个CoAP数据包承载时发起块传输过程。块传输使用options字段进行控制。CoAP块传输标准新增了4个Option(size1最早在RFC7252中定义RFC7959扩展了其含义)。 块传输机制采用Block1和Size1完成Request中Resource Presentation的块传输采用Block2和Size2完成Response中的Resource Presentation的块传输FOTA CoAP下载由客户端像服务端请求资源所以采用BLOCK2请求资源。
Block 格式Option Value为变长0-3个字节的无符号数。
NUM具有给定大小的块序列内的块NUM的相对数从0开始编号即块序号 M是否有更多块 SZX:块大小取值0-6实际每个块的payload为2^ (4SZX)即块大小为16-1024Byte
Block2出现在Response中Option value取值含义NUM表示当前Message的Payload在整个body中的编号 M表示是否还有更多块才能完成整个body的传输 SZX当M为1时表示当前Message的Payload的大小(2**(SZX4))当M为0时实际Payload为1到2**SZX4Byte Block2出现在Request中属于控制性用法
NUM期望Response传输的块号 M无意义设置为0 SZX当NUM为0时表示希望采用的块大小当NUM非0时直接采用上一个接收到的Response中的块大小
3.纯CoAP FOTA 通过上节我们对CoAP块传输有了比较详细的了解CoAP FOTA正是借助了CoAP块传输功能实现完整固件的下载。如第一节FOTA框架图当交互通道与下载通道都走CoAP协议时即为纯CoAP FOTA仅仅依赖UDP协议无需资源消耗较大的TCP协议支持甚至连TCP/IP协议栈都不用实现从而减少code size,ram等资源占用更重要的是CoAP对网络带宽/网络稳定性要求要求都很低说到此可能很多人都想到了NB-IoTLoRa环境没错我们针对这种低功耗低性能场景有备而来。CoAP FOTA流程如下4.上板测验 至此我们对CoAP FOTA应该有了较深的理解如果想实战试一把请移步 AliOS Things github下载代码搭建环境亲自体验一把我们配有较丰富并持续丰富中的指导文档请参考https://github.com/alibaba/AliOS-Things/wiki/AliOS-Things-FOTA-Porting-Guide 功能验证章节。