什么是AWS IoT?
AWS IoT (Amazon Web Services IoT)是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。AWS IoT 可支持数十亿台设备和数万亿条消息,并且可以对这些消息进行处理并将其安全可靠地路由至 AWS 终端节点和其他设备。借助 AWS IoT,TimeTec的应用程序可以随时跟踪所有设备并与其通信,即使这些设备未处于连接状态也不例外。

借助 AWS IoT,TimeTec可以轻松使用 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、AWS CloudTrail 和内置 Kibana 集成的 Amazon Elasticsearch Service 等 AWS 服务来构建 IoT 应用程序,以便收集、处理和分析互连设备生成的数据并对其执行操作,且无需管理任何基础设施。
AWS IOT的好处
AWS IoT设备SDK
AWS IoT 提供有 SDK,以帮助TimeTec轻松快速地连接硬件设备或移动应用程序。利用 AWS IoT 设备 SDK,TimeTec的设备可以使用 MQTT、HTTP 或 WebSockets 协议连接和验证 AWS IoT 并与之交换消息。设备 SDK 支持 C、JavaScript 和 Arduino,并且包含客户端库、开发人员指南和制造商移植指南。
设备网关
AWS IoT 设备网关支持TimeTec设备安全高效地与 AWS IoT 进行通信。设备网关可以使用发布/订阅模式交换消息,从而支持一对一和一对多的通信。凭借此一对多的通信模式,AWS IoT 将支持互连设备向多名给定主题的订阅者广播数据。设备网关支持 MQTT、WebSocket 和 HTTP 1.1 协议,TimeTec可以轻松实现对专有或陈旧协议的支持。设备网关可自动扩展,以支持 10 亿多台设备,而无需预配置基础设施。
身份验证和授权
AWS IoT 在所有连接点处提供相互身份验证和加密,因此,绝不会在无可靠身份的设备和 AWS IoT 之间交换数据。AWS IoT 支持 AWS 身份验证方法(称为“SigV4”)以及基于身份验证的 X.509 证书。

使用 HTTP 的连接可以使用任一方法,使用 MQTT 的连接可以使用基于证书的身份验证,使用 WebSockets 的连接可以使用 SigV4。借助 AWS IoT,您可以使用 AWS IoT 生成的证书以及由您的首选证书颁发机构 (CA) 签署的证书。TimeTec可以将所选的角色和/或策略映射到每个证书,以便授予设备或应用程序访问权限,或在改变主意时撤消访问权限(甚至都不需触碰设备)。

TimeTec可以通过控制台或使用 API 创建、部署并管理设备的证书和策略。这些设备证书可以预配置、激活和与使用 AWS IAM 配置的相关策略关联。如果您选择执行此操作,则会立即撤消单个设备的访问权限。此外,AWS IoT 还支持用户移动应用使用 Amazon Cognito 进行连接,Amazon Cognito 将负责执行必要的操作来为应用用户创建唯一标识符并获取临时的、权限受限的 AWS 凭证。
注册表
注册表将创建设备标识并跟踪元数据,如设备的属性和功能。注册表向格式一致的每台设备分配唯一的标识,而不管设备的类型和连接方式为何。此外,它还支持描述设备功能的元数据,例如传感器是否报告温度,以及数据是华氏度还是摄氏度。

注册表允许您存储有关设备的元数据,无需支付额外费用;并且只要您每隔 7 年至少访问或更新注册表条目一次,注册表中的元数据就不会过期。
设备影子
憑藉 AWS IoT,您可以創建每台設備的持久虛擬版(或“影子”),它包含設備的最新狀態,因此應用程序或其他設備可以讀取消息並與此設備進行交互。設備影子保留每台設備的最後報告狀態和期望的未來狀態,即便設備處於離線狀態。您可以通過 API 或使用規則引擎,獲取設備的最後報告狀態或設置期望的未來狀態。

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

设备影子支持您免费存储设备状态多达一年。如果您至少每年更新一次状态,则设备影子将永久保留状态;否则状态将过期。
规则引擎
规则引擎可以构建 IoT 应用程序,这些应用程序将收集、处理和分析互连设备在全局范围内生成的数据并根据数据执行操作,且无需管理任何基础设施。规则引擎评估发布到 AWS IoT 的入站消息,并根据您定义的业务规则转换这些消息并将它们传输到另一台设备或云服务。规则可以应用至一台或多台设备中的数据,并且它可以并行执行一个或多个操作。

规则引擎还可以将消息路由到 AWS 终端节点,包括 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch 和内置 Kibana 集成的 Amazon Elasticsearch Service。外部终端节点可以使用 AWS Lambda、Amazon Kinesis 和 Amazon Simple Notification Service (SNS) 进行连接。

在管理控制台中创建规则很容易,或使用类似SQL的语法编写规则。根据消息的内容,可以创建规则的行为不同。例如,如果温度读数超过某个阈值,它可能会触发向AWS Lambda发送数据的规则。也可以创建规则以考虑云中的其他数据,例如来自其他设备的数据。例如,如果这个温度比其他5个设备的平均值高出15%,就可以采取行动。

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