zoukankan      html  css  js  c++  java
  • Azure Digital Twins(3)- 数字孪生体和数字孪生图

    在 Azure 数字孪生解决方案中,环境中的实体是由 数字孪生体 (digital twins)表示的。数字孪生体是模型(models)的一个个实例。 

    可以通过 关系(relationships) 将其连接到其他数字孪生体以形成 孪生图(twin graph)。

    在本文中,我们将创建:

    两个模型:房间room和温湿度计myfirstmodel​;

    为模型room创建两个实例 room-01和room-02;

    创建三个温湿度计 实例device-001,device-002,device-003​;

    为room-01 和device-001 ,device-002创建关系;

    为room-02 和device-003 创建关系;

    通过查询语仅查询类型为温湿度计的孪生体​;

    视频演示:

    https://www.51azure.cloud/post/2021/4/19/azure-digital-twins-relationship-query-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,且不得用于商业目的。

  • 相关阅读:
    高级UIKit-04(NSUserDefaults、NSKeyedArchiver、对象归档方法)
    mac忘记登陆密码解决
    JAVA实现各种排序算法----更新中----
    MFC:DoModal 函数的用法
    Serialize序列化函数(MFC)
    Java语法学习5
    数据库VC++课程设计:动漫新番信息管理系统(MFC+数据库ODBC接口)+外加两个副作品
    为什么Java byte 类型的取值范围是-128~127
    Java语法学习4
    MySQL-5.7.17-winx64 Windows环境下的配置
  • 原文地址:https://www.cnblogs.com/shuzhenyu/p/14676333.html
Copyright © 2011-2022 走看看