azure digital twins 数字孪生体和数字孪生图
在 Azure 数字孪生解决方案中,环境中的实体是由数字孪生体(digital twins)表示的。数字孪生体是你自定义的模型(models)之一的实例。可以通过关系(relationships)将其连接到其他数字孪生体以形成孪生图(twin graph)。使用vs code 创建两个模型:第一个模型文件时是一个温湿度计:{"@context": "dtmi:dtdl:context;2","@i
在 Azure 数字孪生解决方案中,环境中的实体是由 数字孪生体 (digital twins)表示的。
数字孪生体是你自定义的模型(models)之一的实例。
可以通过 关系(relationships) 将其连接到其他数字孪生体以形成 孪生图(twin graph)。
使用vs code 创建两个模型:
第一个模型文件时是一个温湿度计:
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:myfirstmodel;1",
"@type": "Interface",
"displayName": "myfirstmodel",
"contents": [
{
"@type": "Telemetry",
"name": "temperature",
"schema": "double"
},
{
"@type": "Property",
"name": "humidity",
"schema": "double"
},
{
"@type": "Property",
"name": "deviceStatus",
"schema": "string"
}
]
}
第二个模型文件是房间:
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:room;1",
"@type": "Interface",
"displayName": "room",
"contents": [
{
"@type": "Property",
"name": "deviceCount",
"schema": "integer"
},
{
"@type":"Relationship",
"name": "devices",
"target":"dtmi:com:example:myfirstmodel;1"
}
]
}
房间和温湿度计之间的关系是1对多的,即一个房间里可以有多个温湿度计。
在room的dtdl中通过 @type =“Relationship”表示 两个孪生体之间的关系,target 为 温湿度计的 id。
在ADT Explorer中上传两个模版,并生成一个 room实体,两个温湿度计实体:
按住shift,同时选中room和 一个温湿度计,为 room和温湿度计创建关系:
source 选择房间,target 选择 温湿度计,relationship选择 devices,该值是在dtdl的json文件中设定的。
同样的方式设置 room和另一个温湿度计的关系:
点击某个温湿度计,可以看到 property 的值会在右侧显示,但是 telemetry的值并不会在右侧显示,这是DTDL规定的。
也可以在右侧直接修改类行为 property的值:
创建如下的数字孪生图:
执行查询:
select * from digitaltwins where IS_OF_MODEL ('dtmi:com:example:myfirstmodel;1')
查询结果只有三个 温湿度计,关于IS_OF_MODEL的作用,参考:
https://docs.microsoft.com/zh-cn/azure/digital-twins/how-to-query-graph?WT.mc_id=AZ-MVP-5003757
声明:
点击可查阅本站文章目录 《文章分类目录》
本站所有内容仅代表个人观点,如与官文档冲突,请以官方文档为准。
可在本页面下方留言或通过下方联系方式联系我:
微信:wxyusz;邮箱:shuzhen.yu@foxmail.com
欢迎关注公众号“云计算实战”,接收最新文章推送。
本作品由Sean Yu 采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章链接:https://www.51azure.cloud,且不得用于商业目的。
更多推荐
所有评论(0)