一个简单的IoT Core设备规则和SiteWise属性别名摄入配置

0

【以下的问题经过翻译处理】 你好,

我想请教一些基础的问题,请帮忙指导。非常感谢。

我有一个接收MQTT数据的温度传感器设备。

  • 设备的名称为:TestThing
  • 数据包括4个字段:“TS”、“datetime”、“class”、“data”
  • 发布的主题是:TestTopic
  • IoT Core MQTT测试客户端消息载荷显示为:{"TS": 1656941515, "datetime": 04/07/2022 23:31:55, "class": Temperature, "data": 11}

我不知道如何正确填写IoT Core规则,并且我也不确定SiteWise Asset propertyAlias是否正确。根据我所阅读的(见下文),最新的失败原因如下:

IoT Core Rule配置UI

  • SQL语句:SELECT * FROM 'TestTopic'
  • 属性别名:TestTopic
  • 秒为单位的时间:${TS}
  • 数据类型:DOUBLE
  • 值:${data}
  • IAM角色:通过UI创建的新角色

我使用了DOUBLE数据类型,尽管我注意到传入的数据在IoT Analytics中被视为整数。SiteWise模型测量定义也设置为DOUBLE

SiteWise配置

  • 模型测量定义:Temperature
  • 资产测量:Temperature
  • 资产测量-温度字段(输入属性别名):TestTopic

我认为我已经正确创建了模型和资产。但是,我不确定什么是Property,因此也不确定propertyAlias的确切含义。根据上述内容,我认为我已经为温度字段创建了propertyAlias:TestTopic

设置和读取历史记录

为了进行测试,设置非常简单。一个IoT设备,拉取MQTT主题数据。Thing是一个带证书的单个Thing创建。MODBUS传感器连接到带有MQTT的网关。没有OPC服务器,没有Greengrass,没有Lora。IoT Analytics 和 AWS QuickSight 服务可以访问数据。 我已经阅读了:1)所有AWS建议的问题,2)手册 - SiteWise IoT Core数据摄取的文档页面,包括教程部分,3)AWS研讨会页面,4)观看有关该主题的每个精彩的Youtube(不多)。主要文章阅读:

https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-data-from-iot-things.html

https://docs.aws.amazon.com/iot/latest/developerguide/iotsitewise-rule-action.html

https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html

https://docs.aws.amazon.com/iot-sitewise/latest/userguide/iot-rules.html

https://iot-sitewise.workshop.aws/en/40_aws-iot-sitewise-data-ingestion.html

https://repost.aws/tags/TAGaSyCvg-SI2w6FYqm1H2RQ/aws-io-t-site-wise

profile picture
专家
已提问 5 个月前10 查看次数
1 回答
0

【以下的回答经过翻译处理】 大家好,

我发布了自己的答案,以协助其他人使用我认为是一个简单和基本的配置示例来添加IoT Core单个设备到SiteWise。没有OPC服务器,没有Greengrass,没有Lora。为设备在IoT Core中创建带有证书的单个设备。

设置 这个设备是一个温度传感器。因此,在下面使用术语“Temperature”既与IoT SiteWise模型和资产测量字段相关,也与来自我的网关/传感器的传入IoT Core JSON有效负载中“Temperature”相关。

  • 设备的名称是:TestThing
  • 数据包括4个字段:“TS”,“datetime”,“class”,“data”
  • 发布的主题是:TestTopic
  • IoT Core MQTT测试客户端有效负载显示为:{“TS”:“1657098676”,“datetime”:“06/07/2022 19:11:16”,“class”:“Temperature”,“data”:13}
  • 注意:JSON有效负载是一个对象格式--由网关定义的%x:{"TS":"%t","datetime":“%d”,“class”:“%x”,“data”:%x}

IoT Core Rule配置UI

  • SQL语句:SELECT * FROM 'TestTopic'
  • 属性别名:AnyTermYouLike
  • 秒数: $ {TS}
  • 数据类型:DOUBLE
  • 值:$ {data}
  • IAM角色:通过UI创建-创建新角色

什么是属性别名?

IoT 核心规则和 SiteWise 所需的属性别名是以下字段中的字段:SiteWise - 资产度量 - (输入属性别名)。属性别名 (propertyAlias) 可以是任何字符串术语。在这个例子中,它是“AnyTermYouLike”。然后,必须在 IoT 核心版规则创建中使用该术语。

**要检查的主要事项 ** 在IoT Core规则创建过程中,以及在SiteWise 模型创建(测量定义)中的字段都使用了数据类型为DOUBLE。尽管模型属性可以使用整数或其他。

SiteWise 配置

  • 模型测量定义: Temperature
  • 资产测量: Temperature
  • 资产测量 - 温度字段(输入属性别名): AnyTermYouLike
  • 注意:资产测量字段是您定义的属性别名 (propertyAlias)。任何术语都适用,也可在IoT Core规则中使用。

下一步是什么?

如果物联网核心规则创建没有报错,请继续!如手册所述,如果物联网核心 MQTT 测试主题订阅正常且数据可见,则数据应跟随物联网 SiteWise。在 SiteWise 的资产和测量选项卡下,"最新值 "和 "最新值时间戳 "列应显示数据--来自订阅的 MQTT 主题的新数据。切换到另一个选项卡,再回到资产和测量选项卡,数据就会刷新。

最后注意:IAM 角色必须提供对 propertyAlias 的访问权限。IoT Core规则的时间(以秒为单位)必须在 -15min +5min 范围内。幸运的是,我的 JSON 包含 Unix 时间,因此我可以简单地使用:${TS}。

另外 - 识别传感器报告类别的两个独立规则和 SQL 语法 - 温度和湿度

--这是 Iot Core 规则的 SQL 语法,用于选择主题字段类型--本例中仅选择温度或湿度--或其他类型的 Iot Core 设备数据字段。--

传感器以及由此传入的订阅 MQTT 主题 JSON 有效载荷包含一个 "class"字段。传感器同时报告温度和湿度。对于每个报告期,都有两行数据--"Temperature"和 "Humidity",由 "class"定义。显示如下:

  • { "TS": "1657101866", "datetime": "06/07/2022 20:04:26", "class": "Temperature", "data": 12}
  • { "TS": "1657101866", "datetime": "06/07/2022 20:04:26", "class": "Humidity", "data": 79}

IoT Core规则配置

  • 创建两个规则.: 1) Temperature和 2) Humidity
  • Temperature 规则SQL: SELECT * FROM "TestTopic" WHERE class = "Temperature"
  • Humidity 规则SQL: SELECT * FROM "TestTopic" WHERE class = "Humidity"
  • 每条规则都需要一个与 SiteWise 模型相关的唯一属性别名(propertyAlias)

SiteWise 配置

  • 需要两个独立的模型,一个用于Temperature,另一个用于Humidity。
  • 两个独立的资产,以及与相应模型的关系--在本例中,一个用于Temperature,另一个用于Humidity。
  • 一个主模型和一个主资产--按照 AWS 手册中的关系--关联资产和层次结构定义等。
  • 每个模型必须有一个唯一的属性别名(propertyAlias)--请参阅上面的指导部分。

在本例中,IoT Core规则和 SiteWise 的属性别名(propertyAlias)为

  • Temperature 规则和 SiteWise 资产测量字段为:AnyTermYouLike
  • Humidity规则和 SiteWise 资产测量字段是:GoodSecondTerm

最后:问题主题应为--傻瓜式简单指南:在Sitewise和物联网核心规则中添加单个事物的属性别名(propertyAlias)

请提出改进建议或更正错误。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则