我正在从事一个Azure数字双胞胎项目,我对我对遥测和财产的理解有点困惑。
我从https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md得到:
遥测技术描述由任何数字孪生体发出的数据,无论是常规传感器读数流,还是计算出的数据流(如占用率),还是偶尔出现的错误或信息信息。
我将此总结为遥测=数据流
和
属性描述任何数字双胞胎的只读和读/写状态。例如,设备序列号可以是只读属性,恒温器上的所需温度可以是读写属性;房间的名称可以是读-写属性。
我的总结:属性是一个双变量的低频更新率,可以设置从孪生和IoT平台。属性不是来自传感器的流数据。
好的,如果我现在使用这些定义,看看Microsofts的例子,比如:https://learn.microsoft.com/en-us/azure/digital-twins/how-to-ingest-iot-hub-data?tabs=cli#add-a-model-and-twin和https://techcommunity.microsoft.com/t5/internet-of-things-blog/rewind-the-metaverse-with-data-history-for-azure-digital-twins/bc-p/3302065#M672,我看到微软在文章中写了关于遥测数据和使用流数据的文章,但是在他们的dtdl模型中使用了"@type":"Property“。这与dtdl的定义不一致。
我明白什么地方不对劲了吗?或者微软的例子没有遵循他们自己的定义?
我知道,这里的很多东西还在预览和开发中,但我还是想了解这个区别。
发布于 2022-05-04 17:03:29
我想从“我感觉到你的痛苦”开始这个答案,但是你得出了很多好的结论,所以:
我感觉到你的痛苦。您共享的第一个链接是关于DTDL (数字双胞胎定义语言)。这是一种在两处使用的语言: Azure数字双胞胎( Azure Digital )和IoT即插即用(IoT PNP,Azure IoT Hub的一个特性)。虽然这两种语言都使用这种语言,但是Azure数字双胞胎只使用语言的一个子集,不处理属性和遥测。这里正式记录了这种差异,但我将在下面分享它们的含义。
ADT支持遥测功能,不将遥测存储在孪生图中。所以你可以把你的遥测数据上传到ADT,但是你需要添加一个事件侦听器,然后拿起同样的遥测来做任何事情。因此,设备发送的大多数遥测类型的消息将存储在ADT中的属性类型字段中。这也是为什么即使是微软的例子也会将遥测存储在属性中。
如果您对通过ADT进行的流式遥测感兴趣,请注意服务费率限制已经到位。因此,在高频遥测的情况下,您可能需要使用不同的服务来分析和/或转换该数据,然后将其存储在.ADT孪生属性。
它的主旨是:
我想补充一点,我喜欢和ADT一起工作,我希望将来能解决遥测/属性方面的问题。但是在写这篇文章的时候,把你的遥测数据存储在房产里。
https://stackoverflow.com/questions/72110328
复制相似问题