一种基于mosbus无线数据传输的差分增量ota升级方法与流程

allin2025-05-13  32


本发明涉及一种基于mosbus无线数据传输的差分增量ota升级方法,属于嵌入式rt-thread操作系统设备领域。


背景技术:

1、当前的ota(over-the-air)技术在嵌入式rt-thread操作系统设备领域正迅速发展。这项技术的主要目的是通过无线传输更新设备的固件和软件,从而提高设备的性能、功能和安全性。差分升级一般来说,可以极大的减少下载量,特别是对于小资源的嵌入式单片机只来说,可以极大的减少维护成本,因为嵌入式设备的升级维护一般都是空中ota升级,比如nb-i0t、lorawan、蓝牙、红外等,下载速度受到波特率、包长、空口环境等限制,更新固件包非常的慢,而差分升级可以让下载的过程极大的缩小。然而,尽管ota技术在一定程度上改善了设备更新的便捷性和效率,但传统的ota技术在差分增量更新方面存在一些局限性,无法充分利用网络带宽和存储空间,导致更新过程耗时且消耗大量资源。此外,现有的ota技术在处理大规模设备更新时也存在一定的瓶颈,无法满足快速、精准、低成本地完成设备固件和软件更新的需求。


技术实现思路

1、本发明的目的是为了克服现有技术存在的缺点和不足,而提供一种基于mosbus无线数据传输的差分增量ota升级方法。

2、一种基于mosbus无线数据传输的差分增量ota升级方法,包括以下步骤:

3、步骤1:获取到新的固件程序和当前设备中运行的固件程序;

4、步骤2:将新的固件程序和旧的固件程序导入到差分包生成软件,生成差分包;步骤3:将生成的差分包导入到modbus主机上面;

5、步骤4:通过modbus主机发送升级指令,通知从机要即将进行固件升级;步骤5:从机收到升级命令,将差分包写入区域擦除,向主机发送ack应答,通知主机,准备接收差分包数据;

6、步骤6:modbus主机收到从机发送的ack应答后开始发送差分包数据,设置超时时间,等待应答,若超出超时时间仍未收到应答则视为从机没有接收到这一包数据,主机继续发送该数据包,直至收到从机应答则发送下一差分包数据,如此循环往复直至差分包数据全部发送完毕;

7、步骤7:从机接收完全部的差分包数据后自行进行差分恢复重组,重启,重启过后的程序就是新的发布版本程序。

8、进一步的,在步骤4中,当所述主机向某一从机发送升级指令时,所述从机如果收到指令会给主机发送确认报文,同时唤醒升级线程做升级前的准备工作。

9、优选的,所述准备工作包括从机获取flash差分包写入位置,并擦除该区域,以保证差分包数据顺利写入。

10、进一步的,在步骤6中,所述主机收到从机发来的确认报文,则开始向所述从机发送差分包数据报文,该所述报文中应当含有以下信息:本次通信的目的地址、源地址、报文中含有的差分包数据实际大小(字节),以及本次发送的报文数据属于第几包;所述主机发送完这一包数据后,设置超时时间并等待从机应答,若已过超时时间仍未收到应答,则重复发送这一数据包。

11、进一步的,在步骤6中,所述从机收到主机发送的报文后进行crc校验,并提取所述报文中的差分包数据、包序号并判断是否符合自己的需求包序号,若符合写入flash,并向所述主机发送ack确认报文;若不符合则丢弃,并向所述从机发送回复报文。

12、进一步的,所述回复报文含有以下信息:源地址,目的地址,功能码、需求包序,用以通知所述主机调整发送的差分包数据;当所述主机接收到来自从机发送的ack响应后根据其内容选择发送下一包差分包数据还是调整发送的差分包数据。

13、优选的,在步骤7中,所述从机接收完毕最后一包差分包数据开始,向所述主机发送确认后开始执行预置的差分恢复程序,选择重启进入到预置的刷机程序,其主要作用是将flash中的差分数据恢复还原成新发布的版本程序,至此升级完毕。

14、本发明的有益效果如下:该技术利用差分数据传输的方式,实现了更高效的固件和软件更新方式,为设备管理和维护带来了诸多优势。首先,基于modbus协议的差分增量ota技术采用了差分数据传输的方法,只需传输更新部分数据,大大减少了更新过程中的数据量和传输时间,节约了网络带宽和存储空间。其次,该技术支持智能版本管理,能够精确识别固件和软件的变化部分,并根据更新需求进行精准更新,降低了更新的复杂性和风险,提高了系统的稳定性和安全性。此外,基于modbus协议的差分增量ota技术还支持无线传输,使得设备维护更加便捷,无需物理连接即可完成更新,极大地方便了设备管理和维护工作。



技术特征:

1.一种基于mosbus无线数据传输的差分增量ota升级方法,其特征在于:包括以下步骤:

2.如权利要求1所述的基于mosbus无线数据传输的差分增量ota升级方法,其特征在于:在步骤4中,当所述主机向某一从机发送升级指令时,所述从机如果收到指令会给主机发送确认报文,同时唤醒升级线程做升级前的准备工作。

3.如权利要求2所述的基于mosbus无线数据传输的差分增量ota升级方法,其特征在于:所述准备工作包括从机获取flash差分包写入位置,并擦除该区域,以保证差分包数据顺利写入。

4.如权利要求1所述的基于mosbus无线数据传输的差分增量ota升级方法,其特征在于:在步骤6中,所述主机收到从机发来的确认报文,则开始向所述从机发送差分包数据报文,该所述报文中应当含有以下信息:本次通信的目的地址、源地址、报文中含有的差分包数据实际大小(字节),以及本次发送的报文数据属于第几包;所述主机发送完这一包数据后,设置超时时间并等待从机应答,若已过超时时间仍未收到应答,则重复发送这一数据包。

5.如权利要求1所述的基于mosbus无线数据传输的差分增量ota升级方法,其特征在于:在步骤6中,所述从机收到主机发送的报文后进行crc校验,并提取所述报文中的差分包数据、包序号并判断是否符合自己的需求包序号,若符合写入flash,并向所述主机发送ack确认报文;若不符合则丢弃,并向所述从机发送回复报文。

6.如权利要求5所述的基于mosbus无线数据传输的差分增量ota升级方法,其特征在于:所述回复报文含有以下信息:源地址,目的地址,功能码、需求包序,用以通知所述主机调整发送的差分包数据;当所述主机接收到来自从机发送的ack响应后根据其内容选择发送下一包差分包数据还是调整发送的差分包数据。

7.如权利要求1所述的基于mosbus无线数据传输的差分增量ota升级方法,其特征在于:在步骤7中,所述从机接收完毕最后一包差分包数据开始,向所述主机发送确认后开始执行预置的差分恢复程序,选择重启进入到预置的刷机程序,其主要作用是将flash中的差分数据恢复还原成新发布的版本程序,至此升级完毕。


技术总结
一种基于mosbus无线数据传输的差分增量ota升级方法,包括以下步骤:步骤1:获取到新的固件程序和当前设备中运行的固件程序;步骤2:将新的固件程序和旧的固件程序导入到差分包生成软件,生成差分包;步骤3:将生成的差分包导入到modbus主机上面;步骤4:通过modbus主机发送升级指令,通知从机要即将进行固件升级;步骤5:从机收到升级命令,将差分包写入区域擦除,向主机发送ACK应答,通知主机,准备接收差分包数据。

技术研发人员:黄焕,陈佳龙,周中军,冯林,李文丹,余转丽
受保护的技术使用者:浙江万胜智能科技股份有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-21047.html

最新回复(0)