AWS IoT Core 可帮助您将设备连接到 AWS 服务和其他设备,确保数据交互安全,并处理设备数据并对其执行操作。
主要功能
AWS IoT 设备软件开发工具包
AWS IoT 设备软件开发工具包可让您更轻松、更快速地将硬件设备或移动应用程序连接到 AWS IoT Core。AWS IoT 设备软件开发工具包可帮助您的设备使用 MQTT、HTTP 或 WebSockets 协议连接和验证 AWS IoT Core 并与之交换消息。AWS IoT 设备软件开发工具包支持 C、JavaScript 和 Arduino,并且包含客户端库、开发人员指南和制造商移植指南。此外,您还可以使用开源替代资源或自行编写软件开发工具包。
在 AWS IoT 设备软件开发工具包文档中了解更多信息,或下载开发工具包以开始使用。
Device Advisor
Device Advisor 是一项完全托管的基于云的测试功能,用于在开发过程中验证 IoT 设备。它提供预先构建的测试,可帮助开发人员验证其 IoT 设备是否能与 AWS IoT Core 进行可靠安全的连接。通过使用 Device Advisor,开发人员可以测试其 IoT 设备是否可以与 AWS IoT Core 可靠地互操作并遵循安全最佳实践。开发人员可以在将设备部署到生产环境前,在开发过程中识别并解决最常见的设备软件问题。Device Advisor 还提供了一份经过签名的确认报告,硬件合作伙伴可以使用这份报告认定他们的设备是否具有纳入 AWS 合作伙伴设备目录的资格。在 Device Advisor 的概览页面、技术文档和博客中了解更多并开始使用。
设备网关
设备网关是 IoT 设备连接到 AWS 的入口点。设备网关管理所有的有效设备连接并执行多种协议的语义,以验证设备是否可以安全、高效地与 AWS IoT Core 通信。设备网关当前可支持 MQTT、WebSockets 和 HTTPS 协议。对于使用 MQTT 或 WebSockets 进行连接的设备,设备网关将保持长寿命的双向连接,帮助这些设备以较低的延迟在任何时候发送和接收消息。设备网关完全托管,并可自动扩展,从而可支持超过十亿台设备,而无需任何基础设施管理。如果您要迁移到 AWS IoT,设备网关能够在对现有架构和 IoT 设备影响最小的情况下进行基础设施转换。要了解有关可配置端点的更多信息,请参阅此处的文档。
在 AWS IoT Core 用户指南中的协议部分了解更多信息。
消息代理
消息代理是一个具有高吞吐量的发布/订阅消息代理,它基于 MQTT 5.0 版消息标准,能够安全地将消息传输进和传输出您的所有 IoT 设备和应用程序,且具有低延迟特点。消息代理具有灵活的主题结构,可帮助您在多台设备上发送或接收消息。它支持从一对一命令和控制消息收发到一对一百万(或更多)广播通知系统以及介于两者之间的所有消息收发模式。此外,您还可以设置细粒度的访问控制,以帮助您在主题级别管理各个连接的权限。这可以验证您的设备和应用程序将仅发送和接收您希望它们发送和接收的数据。消息代理是一项全托管的服务,所以无论您选择如何使用,它都会随消息量自动扩展,而无需运行任何基础设施。
在 AWS IoT Core 用户指南的设备通信协议部分了解更多信息。
CoAP 协议
受限应用协议(CoAP)是一种专门的互联网应用层协议,专为电池供电的物联网传感器等受限设备而构建。CoAP 在轻量级用户数据报协议(UDP)协议中提供熟悉的 HTTP 式请求/响应消息,使其成为适合物联网用例的协议选择,在这些用例中,设备不经常与云通信,大部分时间都处于低功耗的离线状态。AWS IoT Core 通过合作伙伴开发的基于 AWS 构建的物联网平台,为蜂窝设备(例如使用窄带物联网(NB-IoT)技术的蜂窝设备)提供 Coap/UDP 支持。我们的 1NCE、Aeris 和 Telefonica 等合作伙伴已在 AWS IoT Core 上构建了专门的服务来支持 CoAP 协议,因此客户无需构建自己的代理或管理专用的云资源,即可直接将设备连接到云端。
了解有关使用 CoAP 实施 LPWAN 物联网解决方案的更多信息。
身份验证和授权
AWS IoT Core 在所有连接点提供相互身份验证和加密,因此在没有验证身份的情况下,数据绝不会在设备和 AWS IoT Core 之间进行交换。AWS IoT Core 支持 AWS 的身份验证方法(称为 SigV4)、基于 X.509 证书的身份验证和基于客户创建的令牌的身份验证(通过自定义授权方)。 使用 HTTP 的连接可以使用其中任一种方法,使用 MQTT 的连接可以使用基于证书的身份验证,而使用 WebSockets 的连接可以使用 SigV4 或自定义授权方。借助 AWS IoT Core,您可以使用 AWS IoT Core 生成的证书和由您的首选证书颁发机构(CA)签署的证书。您可以将所选的策略映射到每个证书,以便授予设备或应用程序以访问权限,或撤消访问权限(甚至都无需触碰设备)。
您可以通过控制台或使用 API 创建、部署并管理设备的证书和策略。这些设备证书可以预置、激活以及与使用 AWS IoT Core 配置的相关 IoT 策略关联。如果您选择执行此操作,这可帮助您立即撤消设备的访问权限。此外,AWS IoT Core 还支持来自用户移动应用程序使用 Amazon Cognito 的连接,Amazon Cognito 将负责执行所有必要的步骤来为应用程序的用户创建唯一标识符,并获取有限权限的临时 AWS 凭证。在设备使用 X.509 证书进行身份验证后,AWS IoT Core 还可提供临时的 AWS 凭证,这样设备可以更轻松地访问其他 AWS 服务,例如 DynamoDB 或 S3。
对 AWS IoT Core 进行实例集预置能够更轻松地将任意数量的制造设备大规模注册到云中。它提供了一个完整的托管设备登录体验,可为设备设置唯一的数字身份。它还会为每个设备执行所需的设备端和云端配置,以便在第一次连接到 AWS IoT Core 时自动与 AWS IoT 进行连接和操作。实例集预置不向客户额外收费。了解有关实例集预置的更多信息。
在 AWS IoT Core 用户指南的安全和身份验证部分了解更多信息。
注册表
注册表将创建设备标识并跟踪元数据,如设备的属性和功能。注册表向格式一致的每台设备分配标识,而不管设备的类型和连接方式为何。此外,它还支持描述设备功能的元数据(例如传感器是否报告温度,以及数据是华氏度还是摄氏度)。
注册表可帮助您存储设备元数据,无需额外费用。如果您至少每 7 年访问或更新一次注册表项,则注册表中的元数据不会过期。
在 AWS IoT Core 用户指南的注册表部分了解更多信息。
设备影子
使用 AWS IoT Core,您可以为每个设备创建持久的虚拟版本或设备影子。这包括设备的最新状态,以便应用程序或其他设备可以读取消息并与设备交互。设备影子保留每台设备的最后报告状态和期望的未来状态,即便设备处于离线状态。您可以通过 API 或使用规则引擎,获取设备的最后报告状态或设置期望的未来状态。
设备影子提供始终可用的 REST API 操作,使得构建与您的设备进行交互的应用程序更加轻松。此外,应用程序可以设置设备的期望未来状态,而无需说明设备的当前状态。AWS IoT Core 将比较期望未来状态和最后报告状态之间的差异,并命令设备弥补差异。
AWS IoT 设备软件开发工具包使您的设备能够更轻松地将其状态与其设备影子同步,并响应通过使用影子设置的期望的未来状态。
使用设备影子,您可以免费存储设备状态多达一年。如果您至少每年更新一次状态,则设备影子将永久保留状态;否则状态将过期。
在 AWS IoT Core 用户指南的设备影子部分了解更多信息。
规则引擎
规则引擎可以帮助您构建 IoT 应用程序,这些应用程序将收集、处理和分析互连设备在全局范围内生成的数据并根据数据执行操作,且无需管理任何基础设施。规则引擎会评估发布到 AWS IoT Core 上的入站消息,然后根据您定义的业务规则转换这些消息并将它们传输到另一个设备或一项云服务。规则可以应用至一台或多台设备中的数据,并且它可以并行执行一个或多个操作。
规则引擎还可以将消息路由到 AWS 端点,包括 AWS IoT Analytics、AWS IoT Events、AWS Lambda、Amazon Kinesis、Amazon S3、Amazon DynamoDB、Amazon CloudWatch、Amazon Simple Notification Service(SNS)、Amazon Simple Queue Service(SQS)、Amazon Elasticsearch Service、AWS Step Functions 和 Amazon Location Service。用户可以使用 AWS Lambda、Amazon Kinesis、Amazon SNS 和规则引擎的原生 HTTP 操作来访问外部端点。
您可以在 AWS 管理控制台中或者使用类似 SQL 的语句编写规则。规则可以编写为采用不同的方式表示,具体取决于消息内容。例如,如果温度读数超出特定阈值,则它可以启动规则以便将数据传输到 AWS Lambda。规则还可为考虑云中的其他数据来编写,例如其他设备中的数据。例如,如果温度超出其他五台设备的平均值 15%,则您可以启动措施。
规则引擎将提供数十个可用于转换数据的可用功能,并且可以使用 AWS Lambda 创建无限个功能。例如,如果您正在处理各种不同的数值,则可以取传入数字的平均值。规则还会在 AWS Lambda 上启动 Java、Node.js 或 Python 代码的运行时,从而为您提供最高灵活度以及处理设备数据的能力。
了解更多信息,请参阅 AWS IoT Core 用户指南的规则引擎部分。
适用于 LoRaWAN 的 AWS IoT Core
适用于 LoRaWAN 的 AWS IoT Core 可帮助客户连接使用低功耗、远程广域网(LoRaWAN)技术的无线设备。使用 AWS IoT Core,您现在可以通过将自己的 LoRaWAN 设备和网关连接到 AWS 来设置私有 LoRaWAN 网络,而无需开发或运营 LoRaWAN Network Server (LNS)。这减少了管理 LNS 和相关基础设施的无差别开发工作和操作负担,从而加快了网络设置时间。
适用于 LoRaWAN 的 AWS IoT Core 包括对开源 LoRaWAN 网关 LNS 通信协议(称为 Basic Station)的支持。这意味着无需编写或测试自定义网关软件即可将 LoRaWAN 网关连接到 AWS IoT Core。连接 LoRaWAN 网关和设备后,设备数据流将自动路由到 AWS IoT Core 规则引擎,从而加速 IoT 应用程序开发。
开发人员可以使用 AWS IoT Core 规则引擎编写规则(例如使用简单的 SQL 查询来转换和处理设备数据并对其进行操作)、发出警报或将其路由到其他 AWS 服务(例如 Amazon S3)。工程师还可以从控制台查询连接设备和网关的指标,以解决连接问题。采用即用即付定价模式,无每月承付费用,您可以可靠地连接和扩展 LoRaWAN 设备实例集,并使用 AWS 服务更快速有效地构建应用程序。
AWS IoT 合作伙伴可提供经适用于 LoRaWAN 的 AWS IoT Core 认证合格的网关,无需修改嵌入式软件即可直接连接到 AWS IoT Core,从而更轻松上手。搜索 AWS 合作伙伴设备目录以查找符合条件,可与适用于 LoRaWAN 的 AWS IoT Core 结合使用的网关。
在适用于 LoRaWAN 的 AWS IoT Core 指南中了解更多信息并访问入门资源。
*LoRaWAN 是经 LoRa 联盟许可使用的商标。
设备位置
AWS IoT Core 设备位置可帮助您使用位置数据(如纬度和经度坐标)跟踪和管理您的 IoT 设备实例集,而无需传统的全球定位服务(GPS)硬件。使用设备位置功能时,您不必依赖高功耗 GPS 硬件,并且可以选择工程限制范围内适用的相应定位技术。使用设备位置,您可以增强业务流程、简化和自动执行维护工作以及解锁新的使用案例。例如,您的现场服务团队可以随时了解情况,并快速确定需要采取维护操作的设备的位置。您还可以支持基于位置的安全增强功能,例如限制对特定区域的访问,并改善您的 IoT 解决方案的安全态势。
适用于 Amazon Sidewalk 的 AWS IoT Core
Amazon Sidewalk 是一个共享网络,可通过改进的连接选项帮助互联设备更好地运行。Amazon 免费为客户提供的 Sidewalk 服务可以帮助简化新设备的设置。它还可以扩展设备的低带宽工作范围,并帮助设备保持在线状态,即使它们不在其家庭 Wi-Fi 范围之内。
适用于 Amazon Sidewalk 的 AWS IoT Core 使您可以更轻松地将支持 Sidewalk 的设备机群接入 AWS IoT Core 并构建可扩展的 IoT 解决方案。