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 のページの図、
では、IoT Hub 側の Temperature は Telemetry、Azure Digital Twins 側の Temperature は Property となっているので、やはり区別されているようです。と、いう事は、IoT Plug & Play 用の DTDL 定義ファイルと Digital Twins 用の DTDL 定義ファイルの記述内容は違うものだという事になります。
”概念モデリング”で扱う”ドメイン”の考え方では、IoT Hub に接続された ”機器の世界(ドメイン)”と、Azure Digital Twins が管理する ”ビジネスの世界(ドメイン)” は、そもそも扱うドメインが異なるので、DTDL の定義内容が異なるのは当たり前だという認識なので、私個人的には全く論理的齟齬は感じません。そんなものだと考えるようにして、本来異なるものなのだから、違う定義をするんだと納得してください。
ここから先は
Azure の最新機能で IoT を改めてやってみる
2022年3月にマイクロソフトの中の人から外の人になった Embedded D. George が、現時点で持っている知識に加えて、頻繁に…
この記事が気に入ったらチップで応援してみませんか?