首页 > 解决方案 > AWS IoT 设备阴影概念

问题描述

我有一个物联网的东西发布 -

时间戳、isAdmin 和数据

在一个话题上

“物联网/样本数据”

我有一个规则来监听这个主题并将这些数据推送到 DynamoDB。用户可以使用应用程序的设备影子功能将 isAdmin 布尔值更新为 false。如何将设备影子连接到规则引擎,以便在更新影子时更新 DynamoDB 中的 isAdmin 布尔值。

我看到了影子 mqtt 主题,但我遗漏了一些东西,它不知何故不起作用。

任何帮助都深表感谢。

标签: amazon-web-servicesaws-iot

解决方案


我可以提供一些提示,这可能会对您有所帮助。

  1. 我正在使用查询之类的选择子句,您可以从阴影中的结构中进行交叉检查。选择 state.reported.* FROM '$aws/things/pSensor/shadow/update/accepted'
  2. 使用 AWS IoT 本身提供的 mqtt 客户端测试您的主题“$aws/things/pSensor/shadow/update/accepted”。订阅主题并从您的移动应用程序发送数据。
  3. 在 JSON(移动数据发布)中,如果任何一个 key 或 value 为空,它将不起作用。就我而言,我发送的是 valye“NA”而不是“”(空白)。
  4. 最重要的是,在您现有的 AWS IoT 规则中添加错误操作并在 SQS 中推送错误详细信息并在管理控制台中订阅 SQS。如果有任何错误,它将在队列中提供详细信息。SQS 中的数据将采用 Base64 编码,因此您可以在线解码。
  5. 我确信您的 DynamoDB 操作将具有正确的语法。我正在使用诸如“$ {state.reported.isAdmin}”之类的主键(您可以将其与您的影子匹配)。

如果有帮助,请告诉我。

问候,

克里尚


推荐阅读