本文扩展了模块化AWS FreeRTOS的集成™ 通过重新配置原始项目以向AWS发送MQTT消息并使用规则引擎执行操作。该项目在STM32U585物联网发现套件上运行,并连接到AWS。本文的重点是在Windows操作系统中运行该项目的非TrustZone版本。

1.简介

在本文中,我们使用AWS物联网核心来监控何时检测到敲门。一旦检测到敲门事件。它触发一个物联网规则,向最终用户发送警报。
所使用的板是B-U585I-IOT02A板。它具有多种基于运动的功能,如磁力计、加速度计、陀螺仪、压力、飞行时间和手势检测。它还有一些环境传感器,如温度和湿度。对于该项目的扩展,我们使用了基于运动的传感器,特别是已经与发现工具包集成的ISM330DHCX传感器。
在本教程中,您可以修改下面链接的原始项目,以更改运动传感器数据发送到AWS IoT Core的内容,无论何时板检测到双击事件,它都只显示一条消息,而不是恒定的传感器数据流。
 

2.要求

  • 原始项目的工作构建
  • 请参阅本文以启动并运行原始项目
 

3.修改原项目


使用这里的GitHub存储库,您可以使用与克隆原始项目文件相同的类unix控制台应用程序。唯一的区别是,我们将用上面链接的GitHub存储库中的文件替换原始项目中的文件,因此建议将它们克隆到易于访问的地方。
git克隆https://github.com/timdenisiuk/Double-Tap-Detection-Updated-Files.git
克隆后,打开更新的文件和原始项目的根目录。请注意更新后的文件中的文件夹名称与原始项目中的某些文件夹名称是如何匹配的。这样做是为了方便地找到需要替换的文件。
注意:强烈建议您创建原始项目的备份,以防文件传输过程中出现问题。这样可以节省您重新克隆原始项目并重新构建它的时间。
 

 


4.测试修改后的项目


传输完所有文件后,重新生成并重新刷新项目。请注意,您不必再次重新编程板,因为它会将MQTT消息发送到AWS物联网核心中的同一设备(东西)。
与您的IAM用户一起登录aws.amazon.com。导航回AWS IoT Core,然后单击左侧栏上的MQTT测试客户端。
在这种情况下,我们希望清楚地观察到,通过MQTT测试客户端检测到并发送了双击事件。在主题过滤器搜索栏上,键入
<通过提供脚本给出的板名称>/motion_sensor_data
然后按订阅。完成后,用身体敲击木板两次,每次敲击间隔约半秒。如果一切顺利,你应该会看到一条消息弹出。

5.建立警报系统


警报系统使用规则引擎,这是一种免费服务,它监视MQTT消息,以便在检测到正确的消息后触发操作。规则在触发后立即发送电子邮件
要设置规则,请在IOT核心导航到左侧栏,然后转到管理->消息路由->规则
请确保您在与设备相同的区域中设置规则。
给规则起个名字。描述和标记是可选的。
将SQL语句版本保留到2016-03-23。对于SQL语句本身,请按如下方式写出:

对于上下文,SQL语句在motion_sansor_data主题中查看JSON负载中的double_tap对象。只有当double_tap为true时,它才会激活规则。
对于规则操作,请从下拉菜单中单击简单通知服务(SNS)。


6.创建消息传递系统


你需要创建一个新的社交网络主题。这将为您带来一个新窗口。
在新窗口中,将主题类型设置为标准,为其命名,然后创建主题。

您将被发送到主题详细信息。在下面的选项卡上,单击订阅,然后单击创建订阅。
ARN将自动为您填写。从协议下拉列表中选择电子邮件,然后键入您知道的电子邮件。
注意:对此的限制是,该规则在触发之间没有延迟,因此可以向您的电子邮件发送大量通知。使用一封燃烧的电子邮件或一封你不担心洪水泛滥的电子邮件。
打开发送到该地址的电子邮件,然后单击链接以确认并激活订阅。


7.完成规则创建


导航回规则并将SNS主题附加到规则。将消息格式保持为RAW,并为规则创建一个新的IAM角色。
查看信息并创建规则。它将自动为您激活。您可以随时从网站停用该规则以停止发送消息。