見出し画像

13. Azure Digital Twins ~ D2C データを元にした Twin Graph の更新

前回の記事                        次回の記事

はじめに

今回は、IoT 機器が送信したテレメトリーデータを IoT Hub を介して受信し、そのデータを元に Azure Digital Twins の Twin Graph を更新するというパスのトライを、概念モデルから生成されている IoT Plug & Play Model と Twin Graph の Twin Model の定義の活用と共に行います。
サービス構成は、以下の通りです。

基本的なサービス構成

実装に必要な技術情報は、Microsoft Docs の「IoT Hub からテレメトリを取り込む - Azure Digital Twins | Microsoft Learn」で解説されているので、ここから必要な情報を拾いながら試行していきます。

試行の前に

この定期購読マガジンでは、「8. Azure Digital Twins を試す」で解説している通り、概念モデリング専用ツールの BridgePoint で描いた概念情報モデルから自動生成した DTDL による Twin Model の定義を使っています。使っていた概念モデルのサンプルは、

ビル管理の概念情報モデル

この様なモデルでした。モデルは、kae-made/artifacts-building-management-tutorial (github.com) から公開されているので、各自、「ビジネスをモデル化する ~ BridgePoint を使ってみよう」を参考にして実際に概念モデルの内容を確認してみてください。

Telemetry と Property のマッピング

IoT Hub からテレメトリを取り込む - Azure Digital Twins | Microsoft Learn」では、IoT 機器から送信されたテレメトリデータを、Twin Graph 上の Twin の Property の値として更新しています。
読者の皆さん、「あれ?」って不思議に感じませんか?
IoT 機器から送られてくるデータは、”テレメトリ”と呼ばれているので、IoT Plug & Play の DTDL 定義は、そのデータ要素を Telemetry として定義するのが自然ではないでしょうか。Microsoft Docs のページの図、

Microsoft Docs からコピー

では、IoT Hub 側の Temperature は Telemetry、Azure Digital Twins 側の Temperature は Property となっているので、やはり区別されているようです。と、いう事は、IoT Plug & Play 用の DTDL 定義ファイルと Digital Twins 用の DTDL 定義ファイルの記述内容は違うものだという事になります。
概念モデリング”で扱う”ドメイン”の考え方では、IoT Hub に接続された ”機器の世界(ドメイン)”と、Azure Digital Twins が管理する ”ビジネスの世界(ドメイン)” は、そもそも扱うドメインが異なるので、DTDL の定義内容が異なるのは当たり前だという認識なので、私個人的には全く論理的齟齬は感じません。そんなものだと考えるようにして、本来異なるものなのだから、違う定義をするんだと納得してください。

ここから先は

39,456字 / 21画像

2022年3月にマイクロソフトの中の人から外の人になった Embedded D. George が、現時点で持っている知識に加えて、頻繁に…

この記事が気に入ったらチップで応援してみませんか?