尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

自动售货机OTA升级实战:从固件更新到百万设备无损升级的系统设计~YH

自动售货机OTA升级实战:从固件更新到百万设备无损升级的系统设计~YH 设备铺出去之后OTA是刚需。但不成熟的OTA方案会让设备成片变砖。一、OTA的必要性为什么要做OTA自动售货机部署后固件更新是常态修复bug、增加新支付方式、优化制冷控制算法、更新安全补丁。如果每次更新都要派人去现场烧录人力成本巨大。偏远点位的设备可能几个月才有机会去一次等去的时候问题已经造成了损失。OTA是工业设备的标准配置不是可选项。二、升级方案选型双分区vs差分两种主流方案双分区A/B分区方案两个完全相同的分区。升级时把新固件写入备用分区校验通过后切换启动分区。差分升级方案只传输新旧固件的差异部分设备端合成新固件。优点是节省流量差分包通常只有全量包的10%-20%缺点是实现复杂需要制作差分patch。三、双分区方案更安全更可靠对于售货机我们选了双分区方案。分区划分bootloader分区、OTA分区A当前运行、OTA分区B备用、工厂分区出厂固件急救用。升级流程从服务器下载新固件到备用分区。校验完整性MD5或SHA256。校验通过后修改启动标志切换到备用分区。重启设备。回滚机制新固件启动后如果10分钟内没有上报启动成功自动回滚到旧分区。如果连续3次启动失败从工厂分区启动。四、关键设计断点续传和流量控制售货机走4G网络流量要钱网络也不太稳定。这两个设计很关键断点续传升级包下载过程中断下次继续从断点处下载不需要重新下载整个包。百万台设备同时升级能节省大量流量。流量控制升级包下发不能一股脑推送所有设备——服务器扛不住4G基站也扛不住。采用分批推送策略每批5000台每批间隔10分钟。五、安全加固防止固件被篡改OTA通道是设备的安全命门。如果被攻击者利用后果不堪设想。安全措施签名验证固件包用RSA私钥签名设备用公钥验证签名。签名不对的不刷写。加密传输升级包通过HTTPS传输防止中间人截获。设备认证设备向服务器请求升级时用设备唯一ID和动态Token做身份认证防止恶意设备消耗服务器资源。六、升级失败率实际数据5000台设备、23次OTA升级的统计数据指标数值升级成功率99.21%自动回滚率0.54%需要人工干预0.25%平均升级耗时4分32秒平均流量消耗12.8MB/台需要人工干预的0.25%主要是设备网络条件极差地下二层停车场、偏远山区导致升级包下载失败。七、总结OTA升级看起来简单做起来细节很多。最核心的一点备好回滚方案给设备留好后悔药。没有任何升级方案是100%可靠的。万一出了问题设备要能自己救自己而不是等人去现场救。
返回列表