本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
有几种接收遥测数据的方法 AWS IoT Events (请参阅支持在中接收数据和触发操作的操作 AWS IoT Events)。本主题介绍如何在 AWS IoT 控制台中创建 AWS IoT 规则,将消息作为输入转发给 AWS IoT Events 探测器。您可以使用 AWS IoT 控制台的MQTT客户端发送测试消息。您可以使用此方法获取遥测数据,了解您的设备 AWS IoT Events 何时能够使用MQTT消息代理发送 AWS IoT 消息。
发送输入以测试探测器模型
-
打开AWS IoT Core 控制台
。在左侧导航窗格的管理下,选择消息路由,然后选择规则。 -
选择右上角的创建规则。
-
在 创建规则页面上,完成以下步骤:
-
第 1 步。指定规则属性。填写以下字段:
-
规则名称。输入规则的名称,例如
MyIoTEventsRule
。注意
不要使用空格。
-
规则描述。该项为可选项。
-
选择 下一步。
-
-
第 2 步。配置SQL语句。填写以下字段:
-
SQL版本。从该列表中选择适当的选项。
-
SQL声明。输入
SELECT *, topic(2) as motorid FROM 'motors/+/status'
。
选择下一步。
-
-
第 3 步。附加规则操作。在规则操作部分,完成以下操作:
-
操作 1。选择 IoT 事件。显示以下字段:
-
输入名称。从该列表中选择适当的选项。如果您的输入未显示,请选择 刷新。
要创建新输入,请选择创建 IoT 事件输入。填写以下字段:
-
输入名称。输入
PressureInput
。 -
描述。该项为可选项。
-
上传JSON文件。上传您的JSON文件副本。如果您没有文件,则此屏幕上会有一个指向示例文件的链接。该代码包括:
{ "motorid": "Fulton-A32", "sensorData": { "pressure": 23, "temperature": 47 } }
-
选择输入属性。选择相应的选项。
-
标签。该项为可选项。
选择 创建。
返回到创建规则屏幕并刷新输入名称字段。选择您创建的输入。
-
-
批量模式。该项为可选项。如果负载是一组消息,请选择此选项。
-
消息 ID。您可以自由选择,但我们建议您这样做。
-
IAM角色。从该列表中选择适当的角色。如果未列出该角色,请选择创建新角色。
键入角色名称,然后选择创建。
要添加其他规则,请选择 添加规则操作
-
-
错误操作。此部分是可选的。要添加操作,请选择添加错误操作,然后从列表中选择相应的操作。
填写显示的字段。
-
选择下一步。
-
-
第 4 步。审核和创建 检查屏幕上的信息,然后选择 创建。
-
-
在左侧导航窗格的 “测试” 下,选择 “MQTT测试客户端”。
-
选择发布到主题。填写以下字段:
-
主题名称。输入用于标识消息的名称,例如
motors/Fulton-A32/status
。 -
消息负载。输入以下信息:
{ "messageId": 100, "sensorData": { "pressure": 39 } }
注意
每次发布新消息时都要更改
messageId
。
-
-
对于发布,请保持主题不变,但将负载中的
"pressure"
更改为大于您在探测器模型中指定的阈值的值(例如85
)。 -
选择 发布。
您创建的检测器实例会生成并向您发送一条 Amazon SNS 消息。继续发送压力读数高于或低于压力阈值(本示例为 70)的消息,以查看探测器的运行情况。
在此示例中,您必须发送三条压力读数低于阈值的消息才能转换回正常状态,并收到一条 Amazon SNS 消息,表明超压状况已清除。回到正常状态后,一条压力读数超过极限的消息会导致探测器进入危险状态,并发送一条表明该状况的 Amazon SNS 消息。
现在,您已经创建了一个简单的输入和探测器模型,请尝试以下操作。
-
在控制台上查看更多探测器模型示例(模板)。
-
按照中的步骤使用为两种状态创建 AWS IoT Events 探测器 CLI使用创建输入和探测器模型 AWS CLI
-
了解事件中使用的 用于筛选、转换和处理事件数据的表达式 的详细信息。
-
如果某些东西不起作用,请参阅 故障排除 AWS IoT Events。