面向低功耗物联网设备的LoRaWAN无线增量固件更新技术bpatch:一种轻量级差分补丁生成与重构方法

【字体: 时间:2025年10月12日 来源:Internet of Things 7.6

编辑推荐:

  为解决低带宽LoRaWAN网络中全固件传输能耗高、耗时长的问题,意大利都灵理工大学团队开发了轻量级差分算法bpatch。该算法仅用COPY/ADD两种指令,实现高达39,000倍的压缩比,显著降低传输时长与能耗,为受限IoT设备提供硬件无关的增量更新方案,已开源发布。

  
在蜂群健康监测、环境传感等远程物联网应用中,设备往往部署在难以触及的区域,依靠电池供电长期运行。这些设备需要通过无线方式(Over-the-Air, OTA)进行固件更新以修复漏洞或升级功能,但传统方式需要传输完整固件镜像,而低功耗广域网(LoRaWAN)等物联网通信协议带宽极低,传输百KB级固件往往需要数百分钟,期间射频模块持续工作,能耗巨大,严重缩短设备续航。尤其对于采用LoRaWAN Class C模式(射频常开)的设备,其能耗比休眠的Class A模式高三个数量级,使得频繁更新变得不可行。现有差分更新技术如bsdiff、VCDIFF等虽能压缩数据,但往往依赖外部压缩算法或复杂计算,需要文件系统和大内存支持,难以在资源受限的微控制器(MCU)上运行。
针对这一难题,意大利都灵理工大学电子与通信系的Andrea De Simone、Giovanna Turvani和Fabrizio Riente团队在《Internet of Things》上发表研究,提出了名为bpatch的轻量级增量固件更新方案。该方案核心在于生成极简的差分补丁文件,设备端只需实现低开销的重构算法,即可在本地合成新固件,无需传输完整镜像,从而大幅节省空口传输时间和能量。
研究采用的关键技术方法包括:1)基于UNIX diff(Myers算法)进行二进制差异分析,生成初始编辑脚本;2)设计自定义位级编码格式,仅使用COPY(从旧固件复制字节)和ADD(插入新字节)两种基本指令,通过动态字段位长前缀实现高效压缩;3)开发硬件无关的C语言重构函数,可直接集成于MCU,支持内部Flash或外部存储器操作;4)采用实际蜂箱监测物联网节点(STM32WL55JC MCU)和LoRaWAN网络(868MHz, SF9)进行能耗实测,对比完整传输与增量更新的时间/电流消耗。
研究结果通过系统架构与集成、算法描述、差分算法对比及能耗测量四个部分呈现。(1)系统架构与集成:团队在现有LoRaWAN FUOTA(Firmware Update Over-the-Air)流程中嵌入bpatch,服务器比较新旧版本生成补丁,设备接收后应用补丁重构固件。内存足迹分析表明,该过程仅需额外缓存补丁和临时固件空间,无需额外存储层次。(2)算法描述:bpatch补丁文件含头部(定义字段位长常量WNBD、WNBC、WNBA及总大小)和交替出现的COPY(含nbd丢弃字节数、nbc复制字节数字段)与ADD(含nba新字节数字段及数据)操作码,采用非字节对齐的位级编码,最大化压缩效率。(3)差分算法对比:在173对真实固件(来自STM32WL、STM32H7、Raspberry Pi架构)测试中,bpatch在近乎无更新(NU)场景压缩比达676–39,067倍,显著优于HDiffPatch(561–6,955倍)和VCDIFF(591–13,568倍);在微小更新(MN)场景达9–18倍,与HDiffPatch相当;重大更新(MJ)时bpatch_m优化版仍保持2.3–3.3倍压缩。(4)能耗测量:在STM32WL55JC硬件平台实测显示,Class C模式接收电流约6.06mA,每片段传输耗时18.8ms。增量更新使传输片段数减少7.5–18.1倍,更新时长从114–149分钟缩短至8–46分钟,能耗从12.17–15.93mAh降至0.86–4.93mAh,节省7.24–15.01mAh。固件重构阶段能耗仅15.64–16.85μAh,相对传输可忽略。
研究结论强调,bpatch以极小计算开销实现了与复杂算法相当的压缩率,尤其适合微小变更占主导的物联网更新场景。其硬件无关性和开源发布(Zenodo及GitHub)促进了在多种低功耗MCU上的部署。讨论指出,未来工作可探索更多操作码优化压缩,并集成组播传输以提升大规模网络更新效率。该研究为受限物联网设备的可持续远程维护提供了关键技术路径,显著延长了电池寿命并降低了物理维护成本。
相关新闻
生物通微信公众号
微信
新浪微博
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号