本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用为两种状态创建 AWS IoT Events 探测器 CLI
在此示例中,我们调用 usin AWS IoT Events APIs g AWS CLI 命令来创建一个探测器,该探测器对发动机的两种状态进行建模:正常状态和超压状态。
当发动机中测得的压力超过一定阈值时,模型会过渡到超压状态,并发送亚马逊简单通知服务 (AmazonSNS) 消息,提醒技术人员注意该情况。当连续三个压力读数的压力降至阈值以下时,模型将恢复到正常状态并发送另一条 Amazon SNS 消息,以确认条件已清除。我们需要获得低于压力阈值的三个连续读数,以消除在非线性恢复阶段或一次性异常恢复读数的情况下可能出现的过压/正常消息卡顿现象。
下文概述了探测器创建步骤。
- 创建输入。
-
要监视您的设备和流程,它们必须具有将遥测数据导入 AWS IoT Events的方法。这是通过向发送消息作为输入来完成的 AWS IoT Events。有几种方式可以实现:
-
使用该 BatchPutMessage操作。此方法很简单,但要求您的设备或进程能够 AWS IoT Events API通过SDK或访问 AWS CLI。
-
在中 AWS IoT Core,为将您的消息数据转发到 AWS IoT Events的 AWS IoT Core 规则引擎编写一条AWS IoT Events 操作规则。按名称识别输入。如果您的设备或进程可以或已经通过发送消息,请使用此方法 AWS IoT Core。这种方法通常对设备的计算能力要求不高。
-
在中 AWS IoT Analytics,使用 CreateDataset操作创建数据集
contentDeliveryRules
,该数据集用于指定 AWS IoT Events 输入,数据集内容将在其中自动发送。如果您想根据在 AWS IoT Analytics中汇总或分析的数据控制您的设备或进程,请使用此方法。
在您的设备以这种方式发送数据之前,您必须定义一个或多个输入。为此,请为每个输入赋予一个名称,并指定输入要监视传入消息数据中的哪些字段。
-
- 创建探测器模型
-
使用状态创建一个探测器模型(您的设备或进程的模型)。对于每种状态,请定义条件(布尔值)逻辑,该逻辑评估传入的输入以检测重要事件。当检测到事件时,它可以使用其他 AWS 服务更改状态或启动自定义或预定义的操作。您可以定义其他事件,这些事件将在进入或退出某个状态以及满足某个条件(可选)时发起操作。
- 监视多个设备或进程
-
如果您正在监视多个设备或进程,并且想要单独追踪每个设备或进程,请在每个输入中指定一个字段,可用于识别输入来自的特定设备或进程。请参见
CreateDetectorModel
中的key
字段。当识别出新设备时(在key
识别的输入字段中看到一个新值),就会创建一个探测器实例。新的探测器实例会继续响应来自特定设备的输入,直至探测器模型更新或被删除。您的唯一探测器(实例)数量与输入key
字段的唯一值相同。 - 监视单个设备或进程
-
如果您正在监视单个进程(即使多个设备或子进程正在发送输入),则无需指定唯一的标识
key
字段。在这种情况下,当第一次输入到达时,将创建单个探测器(实例)。例如,你可能在房屋的每个房间里都有温度传感器,但只有一个HVAC单元可以加热或冷却整个房子。因此,即使每个房间的占用者都希望他们的投票(输入)占上风,您也只能将其作为单个进程进行控制。 - 将来自设备或进程的消息作为输入发送至探测器模型
-
我们描述了从设备或进程发送消息作为输入到 AWS IoT Events 探测器的输入的几种方法。创建输入并构建探测器模型后,您就可以开始发送数据。
注意
创建探测器模型或更新现有探测器模型后,新的或更新的探测器模型需要几分钟才能开始接收消息和创建探测器(实例)。如果探测器模型已更新,则在此期间您可能会继续看到基于先前版本的行为。