Open9
Azure Digital Twinsについてのメモ
全体的な話
アーキテクチャサンプル
使えそうな ラーニングパス
一通りのチュートリアル
ADTソリューションの構築流れ
- ADTのデプロイ
- モデルの定義(DTDL)&アップロード
- モデルからツインのインスタンス化
- ツイン間でリレーションを作成してツイングラフを形成
- ADT(ツイングラフ)へデータインジェスト
- クライアントアプリの作成とADTへの接続
- ADTから外部サービスへのダウンストリーム構成(optional)
- 履歴化(optional)
ツイングラフの定義
用語の定義
- モデル:プロパティなどのデータシェイプを定義。テンプレートのようなもの。オブジェクト指向プログラミングで言うクラス
- (デジタル)ツイン:モデルから実在のデバイスのツインとして具現化したもの。オブジェクト指向プログラミングで言うインスタンス
- ツイングラフ:リレーションシップで接続されたツインの集合体
モデルの定義は Digital Twin Definition Language (DTDL) で行う
モデルの作成方法
オントロジから作成
業界標準のモデル(オントロジ)をもとにして作ることができる
ゼロから作成
JSONデータを定義してAPIからアップロード
モデルはJSONで定義
VS CodeのDTDL 拡張機能 を使ってローカルでJSONを作る
アップロードは
でできる。サクッとやるにはAzure Digital Twins Explorerが良さそう。(まだプレビューだけど)
モデルファイルのCI/CD
データイングレス & エグレス
イングレス
デバイス→ADTへの送信。Functionsなどでやる必要がある
エグレス
ADTでは最新の状態しか保持できないが、ダウンストリームを構成することで外部サービスなどと統合が可能。永続サービスへデータ送信をする際は以下のうちのどれかをADTのエンドポイントにアタッチする必要がある。
- Event Hubs
- Event Grid
- Service Bus
https://learn.microsoft.com/ja-jp/azure/digital-twins/concepts-route-events
履歴化
ADTのツインデータを履歴として保持したい場合は履歴化をするのが一般的のようだ。
クライアントアプリの構築
3D Scenes Studio
3D Scenes Studioを使うと3Dモデルとツインデータの紐付けが簡単にできる
Reactアプリに埋め込むことも可能フルスクラッチで作る
SDKはあるのでデータ通信部分は問題なさそう(サンプルはcore3.1だけどね・・・)
3Dモデルを表示するUIを作りたい場合は、どう作るかが問題
Unityとかでも可能ぽい
3D Scenes Studio
- 使用できるモデル形式はGLTF または .GLB 形式のセグメント化された 3D ファイル。Docs