步骤 4:创建发送电子邮件的 Amazon IoT 规则 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 4:创建发送电子邮件的 Amazon IoT 规则

Amazon IoT 规则定义了从设备收到消息时要执行的查询和一项或多项操作。 Amazon IoT 规则引擎监听设备发送的消息,并使用消息中的数据来确定是否应采取某些措施。有关更多信息,请参阅的规则 Amazon IoT

在本教程中,您的 Raspberry Pi 在 aws/things/RaspberryPi/shadow/update上发布消息。这是设备和 Thing Shadow 服务使用的内部 MQTT 主题。Raspberry Pi 发布具有以下形式的消息:

{ "reported": { "moisture" : moisture-reading, "temp" : temperature-reading } }

创建查询来从传入消息中提取含水量和温度数据。创建 Amazon SNS 操作来在含水量读数低于阈值时获取数据并将其发送给 Amazon SNS 主题订阅者。

创建 Amazon SNS 规则
  1. Amazon IoT 控制台中,选择消息路由,然后选择规则。如果显示您还没有任何规则对话框,请选择创建规则。否则,请选择创建规则

  2. 规则属性页面中,输入规则名称(例如 MoistureSensorRule),并提供简短的规则描述(例如 Sends an alert when soil moisture level readings are too low)。

  3. 选择下一步并配置您的 SQL 语句。选择 SQL 版本2016-03-23,然后输入以下 Amazon IoT SQL 查询语句:

    SELECT * FROM '$aws/things/RaspberryPi/shadow/update/accepted' WHERE state.reported.moisture < 400

    moisture读数小于 400时,该语句将触发规则操作。

    注意

    您可能需要使用其它值。在 Raspberry Pi 上运行代码之后,您可以通过触摸传感器、将其放入水中或放入花盆中来查看从传感器获得的值。

  4. 选择下一步并附加规则操作。对于操作 1,选择 Simple Notification Service。此规则操作的描述为将消息作为 SNS 推送通知发送

  5. 对于 SNS 主题,请选择您在步骤 3:创建 Amazon SNS 主题和订阅、中创建的主题 MoistureSensorTopic,并将消息格式保留为 RAW。对于 IAM Role (IAM 角色),选择 Create a new role (创建新角色)。输入角色的名称(例如 LowMoistureTopicRole),然后选择创建角色

  6. 选择下一步进行查看,然后选择创建来创建规则。