在线工具推荐:
三维数字孪生场景工具 –
GLTF/GLB在线编辑器 –
Three.js AI自动纹理化开发 –
YOLO 虚幻合成数据生成器 –
3D模型在线转换 –
3D模型预览图生成服务
1、什么是数字孪生?
数字孪生是资产或系统的实时虚拟模型,它使用来自连接的物联网传感器的数据来创建数字表示。数字孪生允许您从任何地方实时监控设备、资产或流程。数字孪生用于多种目的,例如分析性能、监控问题或在实施之前运行测试。从物联网数字孪生中获得的见解使用户能够快速做出反应,以提高运营效率、生产质量、客户满意度等。
2、NSDT场景编辑器的功能特性?
NSDT场景编辑器也成为数字孪生编辑器,它是基于WebGL技术,依托丰富的模型资产库,通过拖拽式的操作,方便用户高效便捷的搭建三维数字孪生场景,配合twin服务平台,实现孪生设备姿态控制的虚实同步,并且支持场景导出和场景的二次开发,它的基本功能如下:
- 基于WebGL技术。
- 配套丰富的3D场景模型及设计素材。
- 灵活方便的拖拽式操作。
- 引入图模引擎,高效管理和应用模型库。
- 配合twin服务平台,实现真数字孪生。
- VR实现真实场景虚拟再现。
- 场景支持在线分享和二次开发。
3、如何用NSDT场景编辑器实现数字孪生?
1、孪生体管理操作指南
使用场景说明:适合无实际物联设备,但能通过其它方式获取到物联数据,比如,从第三方应用系统定时获取数据或者有途径转发物联设备的数据,那么,您可通过调用我们http相关api接口,向我们孪生管理中心推送数据。
1.1、新增孪生体
访问 NSDT.TWIN 孪生体管理平台,注册用户账号,操作如下图所示:
第二步新建孪生体
假如已注册账号:test,密码:test,登录 NSDT.TWIN 孪生体管理平台 ,新建孪生体 ,操作如下图所示:
特别说明
项目名称: 指定一个有含义的命名空间字符串,比如某个公司的网址,com.ww.cn;或者任何您想给的有意义的字符串
设备名称: 物联设备的唯一标志字符串,很重要,后续可以基于此字段推送物联设备的数据
属性(静态):描述物联设备的一些静态属性,key–value格式字符串,可以自定义,比如name:lmd001,place:三工区,等等
特征属性(动态)-特征key:描述物联设备上一些组件,比如龙门吊有天车、吊臂绳,分别命名 topcar、rope,等等
特征属性(动态)-特征参数集合:描述物联设备上一个组件的一些物理量参数,比如龙门吊有天车的水平距离、吊臂绳升降高度,分别命名 horizontal_distance、rise_height,默认值类型为数字或小数,默认给0即可。
新建后查看列表【定义】列,就是孪生体的thingId,为com.ww.cn:lmd008
1.2、场景中绑定孪生体
使用已注册用户账号登录 NSDT编辑器 ,切换到具体场景,选中要接入数据驱动的模型,切换到右下角【模型信息】tab,绑定新增孪生体的参数到模型属性上,如下图所示
特别说明:
选择刚刚创建的孪生体,比如“第008号龙门吊”,将其一个特征的一个参数绑定到选定模型的一个属性上,即完成绑定。需要说明的是,可将任意孪生体的任意特征参数,绑定到任意模型属性上。
1.3、接入物联设备数据方式
特别说明
–单物理量:模拟孪生体一个特征的一个参数
配置:
配置完仿真策略后,点击启动仿真,切换到【消息日志】可查看孪生体接收到的数据
1.3.2、直接调用http相关api接口发送物联设备数据
第一步:调用【用户访问token令牌】接口获取token令牌,有access_token和refresh_token两个令牌,access_token用于调用发送设备数据相关API,需要说明的是,access_token令牌会过期,有效期一年,refresh_token是离线刷新token,不会过期。所以,建议在access_token令牌到期前,或者调用发送物联设备数据API且请求返回401状态码时,可使用【用户访问token令牌】接口传入refresh_token,重新换取新access_token令牌。
第二步:调用【发送设备数据】相关api,我们提供三种发送设备数据的接口,请根据您获取到物联设备的数据格式,选择一种合适的接口,传入access_token到请求头,调用接口发送数据。
以上详见参考文档
【孪生体管理API接口说明】。
1.3.3、调用SDK发送物联设备数据
<dependency>
<groupId>org.eclipse.ditto</groupId>
<artifactId>ditto-client</artifactId>
<version>3.1.1</version>
</dependency>
目录下增加配置文件src/main/resources/config.properties
,内容如下:
### Required configuration properties
namespace=com.ww.cn
endpoint=wss://twin.nsdt.cloud:8081/ws/2
### password credentials
clientId=TED
scopes=offline_access
tokenEndpoint=https://nsdt.cloud/auth/realms/nsdt/protocol/openid-connect/token
pwUsername=test ### 换成您的NSDT账号和密码
pwPassword=123 ### 换成您的NSDT账号和密码
- 需要创建AuthenticationProvider和MessagingProvider的实例
- 创建DisconnectedDittoClient实例
- 通过调用client.connect()异步获取DittoClient实例
// 创建AuthenticationProvider实例
final AuthenticationProvider<WebSocket> authenticationProvider = AuthenticationProviders.accessToken(
AccessTokenAuthenticationConfiguration.newBuilder()
// getJsonWebToken()为获取jwt令牌的方法,详见demo代码
.accessTokenSupplier(() -> getJsonWebToken())
.identifier("ditto")
.expiryGracePeriod(DEFAULT_EXPIRY_GRACE_PERIOD);
);
// 创建MessagingProvider的实例
final MessagingConfiguration.Builder messagingConfigurationBuilder =
WebSocketMessagingConfiguration.newBuilder()
.jsonSchemaVersion(JsonSchemaVersion.V_2)
.reconnectEnabled(false)
// config.properties中的tokenEndpoint
.endpoint(CONFIG_PROPERTIES.getEndpointOrThrow())
;
final MessagingProvider messagingProvider =
MessagingProviders.webSocket(messagingConfigurationBuilder.build(), authenticationProvider);
// 创建DisconnectedDittoClient实例
DisconnectedDittoClient disconnectedDittoClient = DittoClients.newInstance(messagingProvider);
//创建孪生体client
DittoClient client = disconnectedDittoClient.connect().toCompletableFuture().get(10, TimeUnit.SECONDS);
第三步:使用client向孪生体平台发送物联设备数据,参考示例SendTwinDataDemo.java文件中main函数,有三种发送数据方式:
// 演示给指定孪生体发送所有特征数据updateFeatures();
// 演示给指定孪生体发送一个特征的所有参数的数据updateFeature();
// 演示给指定孪生体发送一个特征中的一个参数的数据updateFeatureProperty();
以上详见参考文档【孪生体管理API接口说明】,java–sdk使用demo下载链接 java-sdk-demo
1.4、浏览模型驱动效果
可以看见龙门吊模型和吊钩的位置都在不停移动,并且模型属性【位置-X】数据有明显变化
转载:NSDT场景编辑器实现真数字孪生 (mvrlink.com)
原文地址:https://blog.csdn.net/ygtu2018/article/details/134730656
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_23710.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!