yoossh’s diary

Microsoft MVP for Internet of Things の yoossh です。Windows系コンピュータビジョンや組み込みシステム、Azure IoTに関連するトピックスをお届けします。

Azure IoTにおけるデバイステレメトリとテレメトリイベントについて

IoT Hub テレメトリを Azure Digital Twins に取り込む際の説明で「デバイステレメトリ」と「テレメトリイベント」という用語が出てきます。一見、「デバイステレメトリ」はIoTデバイスクラウド(デジタルツイン)向けの送信データで、「テレメトリイベント」はクラウド(デジタルツイン)→IoTデバイス向けの送信データ、という誤解をしそうになったので、念の為、これらの用語について調べた結果を共有させていただきます。

まず、一般的な「テレメトリ」とは何でしょうか?
語源は「tele(遠隔)」+「metry(測定)」つまり 「遠隔測定データ」 を意味します。
センサーや機器から得られた値(温度、湿度、位置情報、電圧、稼働状態など)を、ネットワークを通じて収集・監視する仕組みです。

では、Azure IoT における「テレメトリ」とは何でしょうか?

  • バイステレメトリ (Device Telemetry)
    IoTデバイスが Azure IoT Hub に送信するデータです。
    例: 「温度=28℃, 湿度=40%, 時刻=2025-08-18T14:00Z」
    多くの場合 JSON フォーマットで送信されます。
    用途としては、ダッシュボード表示、ルールトリガー、アラート、分析、機械学習などがあります。
  • テレメトリイベント (Telemetry Event)
    送信されたテレメトリが IoT Hubなどの「イベントストリーム」として扱われるときの呼び方です。つまり、デバイステレメトリを IoT Hub がイベントストリームとしてクラウド内に発生させたものを指します。
    つまり、デバイスが送信したテレメトリを受信、IoT Hubが「イベント」として発行、それを Azure Digital Twins / Azure Functions などが購読するというフローです。
    「イベント」として取り込むことで、Azure Functionsなどと連携し、リアルタイム処理・通知が可能になります。

ついでに、テレメトリと他のメッセージの違いについて、少し補足します。
Azure IoT Hub でやりとりされるメッセージは大きく分けると次の2種類です。

  • バイスクラウド
    テレメトリ (Telemetry) : センサー測定値や状態
    D2Cメッセージ (device-to-cloudメッセージ)
    バイスツイン更新 (Reported Properties) : デバイスの構成や状態を同期
  • クラウド → デバイス
    バイス制御や通知を行うためのメッセージ
    C2Dメッセージ (cloud-to-deviceメッセージ)
    キューイングされ、デバイスがオンラインになったときに配信される
    バイスツインのDesired Properties : クラウドからの設定変更

つまり「テレメトリ」は、この中で “デバイスクラウドに送る測定データ” に該当します。