设备影子:
AWS IoT 允许 Web 或移动或任何其他客户端与 IoT 设备进行通信,即使它们处于离线状态。它通过在云端创建设备影子来实现这一点,并始终保持设备的最新状态。它以 JSON 文档的形式存储所有这些信息。
例如,如果我们有一个灯泡设备,其状态为“开”或“关”,那么 AWS IoT 将在云上创建该灯泡的影子,并保存灯泡的最新状态。如果灯泡将数据发送到服务器,并且由于 XYZ 原因,它会在那之后断开连接。然后我们仍然将其最后状态存储在云中的设备影子中,并且所有其他客户端(Web 或移动)仍然可以与设备影子通信,而无需知道设备现在处于离线状态。
一旦设备再次可用,最新的状态将自动与设备影子同步。
规则与行动:
我们可以让多个设备不断在 AWS IoT 上发 卡塔尔电话号码库 送数据。它们可能并非都与我们的目的相关。为了仅筛选所需的数据,AWS IoT 允许我们创建规则。
使用规则,我们可以过滤数据并根据我们的要求对其采取行动。操作可以是任何操作,包括调用 lambda 函数、存储到 S3、存储到 dynamo DB 或发送 SNS 通知等。
要应用规则,AWS 允许我们使用规则 功能强大的轻量级代码编辑器 查询语句。这是用类似 SQL 的查询语言编写的,如下图所示。
我们就可以定义对这些数据的操作。
目前支持以下操作:
- Elasticsearch:用于将数据写入Amazon Elasticsearch Service域。
- Kinesis:用于将数据写入 Kinesis 流。
- 云监控警报:用于更改CloudWatch警报。
- 云监控指标:用于捕获 CloudWatch 指标。
- Lambda:用于调用 Lambda 函数。
- Firehose:用于将数据写入 Amazon Kinesis Data Firehose 流。
AWS 还提供 SDK,帮助用户通过代码轻松快速地连接 IoT 设备。每个事物、事物类型、设备影子、规则等都有 Lambda 函数的独特 arn。使用 选择加入列表 它我们可以轻松地与 AWS IoT 核心通信以创建新事物、更新设备影子、创建新规则并向规则添加操作等。
AWS SDK 是开源的,具有良好的文档和大量可用的示例。我们可以选择我们喜欢的语言的 SDK。
概括:
AWS IoT 确实提供了强大的基于云的基础,可将创新理念转化为现实。它具有很强的可扩展性,可以处理数十亿个连接并处理通过这些连接收到的消息。它为所有终端提供安全可靠的通信。它还允许我们通过 OTA 更新固件,并且非常灵活。它还允许我们将各种其他服务(如 AWS Lambda、SNS、Dynamodb、S3 等)与 AWS IoT 集成,并使用户可以轻松处理所有事情。我们还提供各种语言的 SDK,以便将 AWS IoT 与我们的代码一起使用。