物联网(IoT)概念正在席卷全球科技行业,预计到2025年,全球将有410亿台连网设备。如此大量的连网设备可以通过Wi-Fi、以太网、4G、5G甚至LoRa网关等各种方式访问互联网,很明显,这些连网设备必须能够与较新的同类设备并肩工作。
由于每当有新版本进入市场时就更换现有物联网设备已不再实用,因此添加功能和执行维护任务的最佳方法是更新物联网设备上的软件和文件。这不仅可以改善设备的现有功能(例如错误修复),而且还可以添加某些新的软件功能。
什么是物联网设备更新/升级?
正如Wikipedia所说:“升级是用同一产品的更新版本替换产品的过程。在计算和消费电子领域,升级通常是用更新或更好的版本替换硬件、软件或固件,以使系统更新或改善其性能。”
就物联网设备而言,有两种主要的更新方式:
- 物理更新
- 远程/OTA(无线)更新
物理更新物联网设备
更新设备的最传统方式是物理访问设备并执行更新/升级,我们对此已习以为常。对于小型嵌入式物联网系统,这可能小到将设备插入计算机并执行更新(即Arduino或其他类似的基于微控制器的设备)或通过专门的编程器(例如JTAG编程器)进行更新。这可以扩展到通过本地网络访问嵌入式计算机,如Raspberry Pi或Nvidia Jetson单板计算机,建立SSH或远程桌面连接并执行更新。
当物理更新达到极限时…
如果您只需要处理一到两台设备,物理更新尤其是一个可行的解决方案;然而,当有成百上千台相同类型的设备,并且离您很远时,物理更新会相当昂贵且无效。因此,有一些OTA更新方法允许您远程更新物联网设备。
物联网设备的OTA更新
为了应对物理更新的局限性,OTA更新被用来远程更新物联网设备,这些设备都可以通过互联网等无线通信媒介来执行,从而减少了人力。
- 边缘到云OTA更新(E2C)
- 网关到云OTA更新(G2C)
- 边缘到网关到云OTA更新(E2G2C)
边缘到云更新(E2C)
E2C更新使用物联网设备的网络连接直接与远程服务器通信,并直接从服务器接收更新。大部分以消费者为终端的物联网设备属于这一类,因此部署也很简单,这主要是因为它易于通过Wi-Fi和LAN连接访问互联网。
Google Home、Apple Siri和Nest恒温器是使用E2C更新方法的一些示例。Raspberry Pi和其他基于单板计算机的系统还能够使用专门的服务(如Upswift)以相同的方式接收更新。
网关到云OTA更新(G2C)
与上述E2C方法相比,网关到云更新方法稍微复杂一些,但更安全,它涉及中间人物联网网关(例如LoRaWAN网关设备)来接收、处理和分发固件更新到所连接的物联网设备“节点”。
此方法主要用于所连接的物联网设备无法自行处理所有更新且没有直接互联网连接的情况。
一些使用G2C OTA更新方法的设备包括ATM、远程能源监控系统和其他银行和金融服务,如自助服务亭。这种OTA更新方法提高了系统的安全性,因为设备受到保护,不受外部攻击和漏洞的影响。
边缘到网关到云OTA更新(E2G2C)
在边缘到网关到云OTA更新方法中,物联网设备可以通过中央网关建立网络连接,并通过它请求更新。网关是唯一连接到互联网并请求更新的设备。在这种情况下,物联网设备应该能够自己执行更新。这种方法用于诸如温度、湿度传感器、天气传感器和其他工业管理传感器等设备。
选择物联网设备更新方法时需要考虑的事项
业内专家建议,在为任何应用程序选择合适的更新方法时,应考虑多方面的可能性:
(1) 安全通信
建立安全、不间断的通信是保护边缘设备免受网络钓鱼和其他类型攻击的关键。
(2) 自动恢复失败的更新
如果更新过程出错,则更新方法应该能够恢复更改并退回到最后一个已知的工作状态。
(3) 更新完整性
应检查所有更新的完整性,以确保在传输过程中未更改更新包。这应该是任何物联网设备更新系统的基本功能。