c语言空中升级协议,LoRaWAN固件空中升级

LoRaWAN进行固件空中升级(FOTA)存在挑战,如基站通信同步问题、ClassA节点无法接收多播帧及基站通信时间限制。文中提出一种机制,通过设置Infrastructure Beacon(IB)时间,实现大量数据的下行传输,允许在空中升级期间同时进行上行通信,从而解决FOTA难题。该方法可用于传输各种应用数据。
摘要由CSDN通过智能技术生成

原标题:LoRaWAN固件空中升级

使用LoRaWAN进行固件空中升级(FOTA)较难实现。现阶段LoRa联盟对于这方面的提及并不多,虽然在Class B 和Class C 设备中可以实现。

LoRaWAN进行固件空中升级较为困难的原因有:

1、基站的通信不能同时进行。这意味着基站发送下行数据时,接收不到上行消息。也就是说处在LoRaWAN网络中的节点并不知此时基站并不能接收到自己的消息,所以无论这时节点发送什么消息,基站都是接收不到的。

2、对于ClassA 节点来说没有MAC层的概念来使它接收多播帧。而在ClassB和C中加入了多播帧可以实现控制功能,但不是为固件升级。这意味着使用电池供电的LoRaWAN设备是不可能进行FOTA的,因为它们不能接收多播帧。

3、LoRaWAN基站的工作周期是有限制的。LoRaWAN基站通信的时间只占1%的时间(欧洲电信标准协会规定),所以在这段时间内要处理所有的下行消息和MAC层的控制消息。所以留下用于FOTA多播帧的时间就很少很少了。在美国,不需要1%的时间周期限制,网络工作机制基于第1点提到的理论。

这里提供了一个机制能够实现空中升级,使得下行数据从一个接入点(基站)到终端节点(或者节点组)达到256 KB。接入点将Infrastructure Beacon(IB)时间设置一个较大的值,这样就能为数据传输提供更强的下行传输能力,所以当FOTA进行的同时也可以进行上行传输。一旦传输完成,接入点返回之前它设置的IB值。

aee78fac3359f0b1597684ab2c89fb92.png

图1、空中升级数据传输:初始化首先完成所有数据片段的传输

1f2fee1a884902bac5fec41f9df094fb.png

图2、空中升级数据传输:数据片段重发的例子

空中升级数据传输初始化

为了增加数据传输的吞吐量,基站的下行的每一帧增加了多个片段。这与其他下行数据包,只一个接入点下行每帧每个节点只有一个消息,或一个广播消息每帧。这与其他每个节点每一帧只发送一个下行的基站相比,节点在一个指定的帧中接收了所有文件。一旦一个基站准备好了发送下行,那么它将立即下送所有数据然后暂停。

图1中,所有的数据片段一次性传输后时间序列停止。这时所有参与数据传输的节点将发送它未成功接收到数据片段序列,然后基站根据每个节点的请求准备一个重发的数据片段,当然节点也可以要求基站重发所有的数据。基站重发数据直到所有的节点成功接收。

图2是数据重发和节点成功接收的一个例子。一旦节点向它的基站报告它已经成功的接收了数据,它将保持清醒直到基站给它发送执行的指令。图2中基站的最后一个指令就是执行指令。

结论

空中升级数据传输的方法可以用来传输应用软件、脚本、环境、秘钥、数据库资料等等,可以说是一种强大的工具。

(采编:物联大视野;来源:LPWAN产学研联盟)返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值