AWS IoT Core 平台支持您将设备连接到 AWS 服务和其他设备,保证数据和交互的安全,处理设备数据并对其执行操作,以及支持应用程序与设备进行交互 (即使设备处于离线状态也是如此)。

主要功能

AWS IoT 设备软件开发工具包

AWS IoT 设备软件开发工具包可帮助您轻松快速地将硬件设备或移动应用程序连接到 AWS IoT Core。利用 AWS IoT 设备软件开发工具包,您的设备可以使用 MQTT、HTTP 或 WebSockets 协议连接和验证 IoT Core 并与之交换消息。AWS IoT 设备软件开发工具包支持 C、JavaScript 和 Arduino,并且包含客户端库、开发人员指南和制造商移植指南。此外,您还可以使用开源替代资源或自行编写软件开发工具包。

要了解更多信息,请参阅 AWS IoT 设备 SDK 文档或下载软件开发工具包以开始使用。

设备网关

设备网关是 IoT 设备连接到 AWS 的入口点。设备网关管理所有的有效设备连接并执行多种协议的语义,以确保设备能够安全、高效地与 AWS IoT Core 通信。设备网关当前可支持 MQTT、WebSockets 和 HTTP 1.1 协议。对于使用 MQTT 或 WebSockets 连接的设备,设备网关可长久保持。设备网关完全托管,并可自动扩展,从而可支持超过十亿台设备,而无需任何基础设施管理。

要了解更多信息,请参阅“AWS IoT Core 用户指南”中的协议部分

消息代理

消息代理是一个具有高吞吐量的 pub/sub 消息代理,它能够安全地将消息传输进和传输出您的所有 IoT 设备和应用程序,且具有低延迟特点。消息代理具有灵活的主题结构,使您可以根据需要在多台设备上发送或接收消息。它支持多种消息发送方式,从一到一式的命令和控制发送,到一到一百万式(甚至更多!)的广播通知系统,以及介于二者之间的任何发送方式。此外,您还可以设置细粒度的访问控制,从而在主题级别管理单个连接权限,以确保您的设备和应用程序仅发送和接收您允许发送和接受的数据。消息代理是一项全托管的服务,所以无论您选择如何使用,它都会随消息量自动扩展,而无需运行任何基础设施。

要了解更多信息,请参阅“AWS IoT Core 用户指南”中的消息代理部分。

身份验证和授权

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 用户指南”的安全和身份验证部分

注册表

注册表将创建设备标识并跟踪元数据,如设备的属性和功能。注册表向格式一致的每台设备分配唯一的标识,而不管设备的类型和连接方式为何。此外,它还支持描述设备功能的元数据,例如传感器是否报告温度,以及数据是华氏度还是摄氏度。

注册表允许您存储有关设备的元数据,无需支付额外费用;并且只要您每隔 7 天至少访问或更新注册表条目一次,注册表中的元数据就不会过期。

要了解更多信息,请参阅“AWS IoT Core 用户指南”的注册表部分

设备影子

凭借 AWS IoT Core,您可以创建每台设备的持久虚拟版 (或“设备影子”),它包含设备的最新状态,因此应用程序或其他设备可以读取消息并与此设备进行交互。设备影子保留每台设备的最后报告状态和期望的未来状态,即便设备处于离线状态。您可以通过 API 或使用规则引擎,获取设备的最后报告状态或设置期望的未来状态。

设备影子提供始终可用的 REST API,使得构建与您的设备进行交互的应用程序更加轻松。此外,应用程序可以设置设备的期望未来状态,而无需说明设备的当前状态。AWS IoT 将比较期望未来状态和最后报告状态之间的差异,并命令设备“弥补差异”。

AWS IoT 设备软件开发工具包使您的设备能够轻松地将其状态与其设备影子同步,并响应通过影子设置的期望的未来状态。

设备影子支持您免费存储设备状态多达一年。如果您至少每年更新一次状态,则设备影子将永久保留状态;否则状态将过期。

要了解更多信息,请参阅“AWS IoT Core 用户指南”的设备影子部分

规则引擎

规则引擎可以构建 IoT 应用程序,这些应用程序将收集、处理和分析互连设备在全局范围内生成的数据并根据数据执行操作,且无需管理任何基础设施。规则引擎评估发布到 AWS IoT Core 的入站消息,根据您定义的业务规则转换这些消息并将它们传输到另一个设备或云服务。规则可以应用至一台或多台设备中的数据,并且它可以并行执行一个或多个操作。

规则引擎还可以将消息路由到 AWS 终端节点,包括 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、Amazon Simple Notification Service (SNS)、Amazon Simple Queue Service (SQS)、AWS IoT Analytics、内置集成 Kibana 的 Amazon Elasticsearch Service 和 AWS Step Functions。用户可以使用 AWS Lambda、Amazon Kinesis、Amazon SNS 和 AWS Step Functions 访问外部终端节点。 

您可以在管理控制台中或者使用类似 SQL 的语句编写规则。规则可以编写为采用不同的方式表示,具体取决于消息内容。例如,如果温度读数超出特定阈值,则它可以触发规则以便将数据传输到 AWS Lambda。规则还可以编写为考虑云中的其他数据,例如其他设备中的数据。例如,您可以在规则中规定,如果此温度超出其他 5 台设备的平均值 15%,则应采取措施。

规则引擎将提供数十个可用于转换数据的可用功能,并且可以通过 AWS Lambda 创建无限个功能。例如,如果您正在处理各种不同的数值,则可以取传入数字的平均值。规则还会触发在 AWS Lambda 中执行 Java、Node.js 或 Python 代码,从而为您提供最高灵活度以及处理设备数据的能力。

要了解更多信息,请参阅“AWS IoT Core 用户指南”的规则引擎部分

详细了解 AWS IoT Core 的定价

访问定价页面
准备好开始使用了吗?
注册
还有更多问题?
联系我们