通过 LoRaWAN 网络更新固件

物联网 罗拉万 东西公园
2021-06-26 08:51:40

我们计划连接数千个 LoRaWAN 连接的水表。预计电池寿命为 8 年以上。我们担心的是,仪表供应商经常发布新的固件版本,包括错误修复(大约每 6 个月),因此我们无法承受 8 年不更新设备固件的后果。有没有办法通过 LoRaWAN 网络更新设备的固件?我们正在运营 ThingPark 网络服务器。

1个回答

是的,固件更新是 LPWAN 网络的一个大问题,因为它们没有下行链路容量来执行每个设备的完整固件更新,如您可以使用例如:蓝牙或 WiFi。

但是,有一个很好的解决方案可以利用以下事实:(1) 通常新的固件更新只是补丁,(2) 许多设备需要相同的更新。

ThingPark 平台有一个提供可靠多播(RMC 服务器)的模块,允许您一次向多个无线电小区广播给定文件(多播组是通过标记无线电小区创建的)。您可以将它与此服务器的另一个功能结合起来自动计算增量补丁(ThigPark FUOTA,https: //www.actility.com/iot-device-firmware-update-over-the-air/ ,即通过仅发送更新来压缩新的 FW。这实际上非常复杂,因为即使是小补丁也可以更改代码中的所有指针……但是 ThingPark FUOTA 在这方面做得很好,通常会将您的新固件压缩约 85-90%。您可以创建升级活动并根据升级设备的百分比跟踪进度。当达到给定的成功率(例如 95%)时它会自动停止,然后您可以仅针对失败的设备重新启动活动,或者对无法访问的设备使用其他方法(例如现场访问和 BLE)。

可靠的多播部分是 LoRa 联盟标准(由 ThingPark RMC 支持),但增量补丁不是,因此您需要固件支持,但好消息是,如果您使用 FUOTA 和有针对 STM MCU 的优化实现(对于其他端口,您可以询问 Actility)。您可以在此处找到指向客户端 GIT 的文档和指针:https : //www.actility.com/thingpark-documentation-portal/