左侧菜单提供了适用于学习使用 IoT OTA 库的示例项目的链接。
另外,
IoT 参考集成部分展示了集成到应用程序中的库。
AWS IoT Over the Air (OTA)
简介
借助物联网 (IoT),互联网连接扩展到了以往不能连接在一起的嵌入式设备。可以对这些设备进行编程,以便通过互联网传输可用数据,并且可以进行远程监控和控制。随着技术的进步,这些传统嵌入式设备正以飞快的速度与消费、工业和企业领域互联。
IoT 设备通常大规模部署,而且往往放置于操作员难以甚至不可能够得到的地方。想象一下,现在发现有一个可能导致数据泄露的安全漏洞。在这种情况下,重要的是使用安全补丁快速可靠地更新受影响的设备。如果不能执行 OTA 更新,则很难更新位置分散的设备。技术人员更新这些设备需要耗费大量时间和成本,而且往往不切实际。一旦设备更新不及时,会导致它们暴露在安全漏洞下的时间更长。召回这些设备进行更新的成本也很高,而且可能会在故障停机期间对消费者造成重大干扰。
Over the Air (OTA) 更新
可以在不付出高昂的召回费用或开展技术人员回访操作的情况下更新设备固件。此方法还具有以下优点:
- 安全性高 ——能够快速响应现场部署设备后发现的安全漏洞和软件故障。
- 加快创新——随着新功能的开发,可以经常更新产品,进而缩短创新周期。与传统的更新方法相比,更新在极短的停机时间内便可以生效。
- 节约成本 ——与传统的设备更新方法相比,OTA 更新可以显著降低维护成本。
设计 OTA
功能时需要考虑以下因素:
- 安全通信——更新时必须使用加密的通信信道,以防止下载内容在传输过程中被篡改。
- 恢复功能 ——由于网络连接时断时续或接收的更新失效等原因,更新可能会失败。在这些情况下,设备需要恢复到稳定状态,并避免砖块化。
- 作者身份验证 ——必须验证更新是否来自可信来源,以及进行版本检查和兼容性检查等其他验证。
AWS IoT Over-the-air (OTA) 更新库
AWS IoT OTA 库使您能够管理最新可用更新的通知,下载更新,并对固件更新进行加密验证。使用 Over-the-air (OTA) 客户端库,您可以从逻辑上将固件更新与您设备上运行的应用程序分开。Over-the-air (OTA) 客户端库可以与应用程序共享网络连接,在资源有限的设备中节省内存。此外,over-the-air (OTA) 客户端库允许您针对应用程序定义特定的固件更新测试、提交或回滚逻辑。该库支持不同的应用协议,如消息队列遥测传输 (MQTT) 和超文本传输协议 (HTTP),并提供各种配置选项,您可以根据网络类型和条件进行微调。
该库的 API 提供的主要功能如下:
- 登记接收通知或通过调查选择可用的新更新请求。
- 接收、解析和验证更新请求。
- 根据更新请求中的信息下载并验证文件。
- 在激活收到的更新之前,运行自检,以确保更新的功能有效性。
- 更新设备状态。
该库通过使用 AWS 服务管理各种云相关主题,如:发送固件更新、监控多个地区的大量设备、减少故障部署的影响半径,并验证更新的安全性。此库可以与任何 MQTT 库或 HTTP 库一起使用。
此库的演示可使用 FreeRTOS 上的 coreMQTT 库和 AWS 服务展示完整的 Over-the-air 更新。
ota.c | 8.3 KB | 7.5 KB |
ota_interface.c | 0.1 KB | 0.1 KB |
ota_base64.c | 0.6 KB | 0.6 KB |
ota_mqtt.c | 2.4 KB | 2.2 KB |
ota_cbor.c | 0.8 KB | 0.6 KB |
ota_http.c | 0.3 KB | 0.3 KB |
总估算 | 12.5 KB | 11.3 KB |
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.