NSDT場(chǎng)景編輯器實(shí)現真數字孿生
在線(xiàn)工具推薦:
1、NSDT 三維場(chǎng)景建模工具:https://studio.nsdt.cloud/
2、GLTF/GLB在線(xiàn)編輯器:https://gltf.nsdt.cloud/
3、Three.js AI自動(dòng)紋理化開(kāi)發(fā)包:https://tools.nsdt.cloud/DreamTexture
4、YOLO 虛幻合成數據生成器:https://tools.nsdt.cloud/UnrealSynth
5、3D模型在線(xiàn)轉換:https://3dconvert.nsdt.cloud/
6、三維模型預覽圖生成器:https://tools.nsdt.cloud/file-previewer
1、什么是數字孿生?
數字孿生是資產(chǎn)或系統的實(shí)時(shí)虛擬模型,它使用來(lái)自連接的物聯(lián)網(wǎng)傳感器的數據來(lái)創(chuàng )建數字表示。數字孿生允許您從任何地方實(shí)時(shí)監控設備、資產(chǎn)或流程。數字孿生用于多種目的,例如分析性能、監控問(wèn)題或在實(shí)施之前運行測試。從物聯(lián)網(wǎng)數字孿生中獲得的見(jiàn)解使用戶(hù)能夠快速做出反應,以提高運營(yíng)效率、生產(chǎn)質(zhì)量、客戶(hù)滿(mǎn)意度等。
2、NSDT場(chǎng)景編輯器的功能特性?
NSDT場(chǎng)景編輯器也成為數字孿生編輯器,它是基于WebGL技術(shù),依托豐富的模型資產(chǎn)庫,通過(guò)拖拽式的操作,方便用戶(hù)高效便捷的搭建三維數字孿生場(chǎng)景,配合twin服務(wù)平臺,實(shí)現孿生設備姿態(tài)控制的虛實(shí)同步,并且支持場(chǎng)景導出和場(chǎng)景的二次開(kāi)發(fā),它的基本功能如下:
基于WebGL技術(shù)。
配套豐富的3D場(chǎng)景模型及設計素材。
靈活方便的拖拽式操作。
靈活方便的拖拽式操作。
引入圖模引擎,高效管理和應用模型庫。
配合twin服務(wù)平臺,實(shí)現真數字孿生。
VR實(shí)現真實(shí)場(chǎng)景虛擬再現。
場(chǎng)景支持在線(xiàn)分享和二次開(kāi)發(fā)。
3、如何用NSDT場(chǎng)景編輯器實(shí)現數字孿生?1、孿生體管理操作指南
使用場(chǎng)景說(shuō)明:適合無(wú)實(shí)際物聯(lián)設備,但能通過(guò)其它方式獲取到物聯(lián)數據,比如,從第三方應用系統定時(shí)獲取數據或者有途徑轉發(fā)物聯(lián)設備的數據,那么,您可通過(guò)調用我們http相關(guān)api接口,向我們孿生管理中心推送數據。
1.1、新增孿生體
第一步:注冊用戶(hù)賬號
訪(fǎng)問(wèn) NSDT.TWIN 孿生體管理平臺,注冊用戶(hù)賬號,操作如下圖所示:
第二步新建孿生體
假如已注冊賬號:test,密碼:test,登錄 NSDT.TWIN 孿生體管理平臺 ,新建孿生體 ,操作如下圖所示:
特別說(shuō)明
項目名稱(chēng): 指定一個(gè)有含義的命名空間字符串,比如某個(gè)公司的****,com.ww.cn;或者任何您想給的有意義的字符串
設備名稱(chēng): 物聯(lián)設備的唯一標志字符串,很重要,后續可以基于此字段推送物聯(lián)設備的數據
版本: 不用填寫(xiě)
屬性(靜態(tài)):描述物聯(lián)設備的一些靜態(tài)屬性,key-value格式字符串,可以自定義,比如name:lmd001,place:三工區,等等
特征屬性(動(dòng)態(tài))-特征key:描述物聯(lián)設備上一些組件,比如龍門(mén)吊有天車(chē)、吊臂繩,分別命名 topcar、rope,等等
特征屬性(動(dòng)態(tài))-特征參數集合:描述物聯(lián)設備上一個(gè)組件的一些物理量參數,比如龍門(mén)吊有天車(chē)的水平距離、吊臂繩升降高度,分別命名 horizontal_distance、rise_height,默認值類(lèi)型為數字或小數,默認給0即可。
新建后查看列表【定義】列,就是孿生體的thingId,為com.ww.cn:lmd008
1.2、場(chǎng)景中綁定孿生體
使用已注冊用戶(hù)賬號登錄 NSDT編輯器 ,切換到具體場(chǎng)景,選中要接入數據驅動(dòng)的模型,切換到右下角【模型信息】tab,綁定新增孿生體的參數到模型屬性上,如下圖所示
特別說(shuō)明:
選擇剛剛創(chuàng )建的孿生體,比如“第008號龍門(mén)吊”,將其一個(gè)特征的一個(gè)參數綁定到選定模型的一個(gè)屬性上,即完成綁定。需要說(shuō)明的是,可將任意孿生體的任意特征參數,綁定到任意模型屬性上。
1.3、接入物聯(lián)設備數據方式
模擬仿真(測試使用)
選擇【模擬仿真】,進(jìn)入仿真頁(yè)面,如下圖所示
切換到【仿真配置】tab,配置仿真相關(guān)參數,如下圖所示:
特別說(shuō)明
頻率:設置發(fā)送數據間隔,單位秒
仿真模式:
--全量仿真:模擬孿生體所有特征的所有參數
--單feature:模擬孿生體一個(gè)特征的所有參數
--單物理量:模擬孿生體一個(gè)特征的一個(gè)參數
配置:
--固定值:生成參數值為固定值。
--區間隨機值:需設置最大和最小值,在此范圍之間,隨機生成參數值。
--循環(huán)遞增:需設置最大和最小值以及遞增最小單位量,在此范圍之間,按遞增步長(cháng),遞增生成參數值,然后循環(huán)往復。
配置完仿真策略后,點(diǎn)擊啟動(dòng)仿真,切換到【消息日志】可查看孿生體接收到的數據
1.3.2、直接調用http相關(guān)api接口發(fā)送物聯(lián)設備數據
此種方式需要做一定的編碼開(kāi)發(fā)。
第一步:調用【用戶(hù)訪(fǎng)問(wèn)token令牌】接口獲取token令牌,有access_token和refresh_token兩個(gè)令牌,access_token用于調用發(fā)送設備數據相關(guān)API,需要說(shuō)明的是,access_token令牌會(huì )過(guò)期,有效期一年,refresh_token是離線(xiàn)刷新token,不會(huì )過(guò)期。所以,建議在access_token令牌到期前,或者調用發(fā)送物聯(lián)設備數據API且請求返回401狀態(tài)碼時(shí),可使用【用戶(hù)訪(fǎng)問(wèn)token令牌】接口傳入refresh_token,重新?lián)Q取新access_token令牌。
第二步:調用【發(fā)送設備數據】相關(guān)api,我們提供三種發(fā)送設備數據的接口,請根據您獲取到物聯(lián)設備的數據格式,選擇一種合適的接口,傳入access_token到請求頭,調用接口發(fā)送數據。
以上詳見(jiàn)參考文檔【孿生體管理API接口說(shuō)明】。
1.3.3、調用SDK發(fā)送物聯(lián)設備數據
此種方式需要做一定的編碼開(kāi)發(fā)。
第一步:配置maven依賴(lài)
<dependency> <groupId>org.eclipse.ditto</groupId> <artifactId>ditto-client</artifactId> <version>3.1.1</version> </dependency>
第二步:實(shí)例化和配置一個(gè)新的孿生體client
目錄下增加配置文件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賬號和密碼
要配置孿生體client實(shí)例:
需要創(chuàng )建AuthenticationProvider和MessagingProvider的實(shí)例
創(chuàng )建DisconnectedDittoClient實(shí)例
通過(guò)調用client.connect()異步獲取DittoClient實(shí)例
// 創(chuàng )建AuthenticationProvider實(shí)例 final AuthenticationProvider<WebSocket> authenticationProvider = AuthenticationProviders.accessToken( AccessTokenAuthenticationConfiguration.newBuilder() // getJsonWebToken()為獲取jwt令牌的方法,詳見(jiàn)demo代碼 .accessTokenSupplier(() -> getJsonWebToken()) .identifier("ditto") .expiryGracePeriod(DEFAULT_EXPIRY_GRACE_PERIOD); ); // 創(chuàng )建MessagingProvider的實(shí)例 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); // 創(chuàng )建DisconnectedDittoClient實(shí)例 DisconnectedDittoClient disconnectedDittoClient = DittoClients.newInstance(messagingProvider); //創(chuàng )建孿生體client DittoClient client = disconnectedDittoClient.connect().toCompletableFuture().get(10, TimeUnit.SECONDS);
第三步:使用client向孿生體平臺發(fā)送物聯(lián)設備數據,參考示例SendTwinDataDemo.java文件中main函數,有三種發(fā)送數據方式:
// 演示給指定孿生體發(fā)送所有特征數據updateFeatures();// 演示給指定孿生體發(fā)送一個(gè)特征的所有參數的數據updateFeature();// 演示給指定孿生體發(fā)送一個(gè)特征中的一個(gè)參數的數據updateFeatureProperty();
以上詳見(jiàn)參考文檔【孿生體管理API接口說(shuō)明】,java-sdk使用demo下載鏈接 java-sdk-demo
1.4、瀏覽模型驅動(dòng)效果
可以看見(jiàn)龍門(mén)吊模型和吊鉤的位置都在不停移動(dòng),并且模型屬性【位置-X】數據有明顯變化
轉載:NSDT場(chǎng)景編輯器實(shí)現真數字孿生 (mvrlink.com)
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。