Skip to content

MS_AzureIoTCentralTutorial

nishi_74322014 edited this page Aug 19, 2026 · 1 revision

Azure IoT Centralチュートリアル

  • 戻る(Azure IoT Central
    • Azure IoT Hubチュートリアル(MS_AzureIoTHubTutorial.md
    • Azure IoT Centralチュートリアル
    • Azure IoT Edgeチュートリアル(MS_AzureIoTEdgeTutorial.md

概要

補足: Azure IoT Central を実際に構築し、
スマホをセンサー デバイスに見立てて一通り動かす手順の記録である。
「デバイスを繋ぐ → 規則で通知する → データを外部に出す」という
IoT の基本の 3 手が短時間で体験できる構成になっている。

なお、Azure IoT Central
2027 年 3 月末で提供終了が予告されている点に留意すること。

詳細

契約

IoT Central の契約

Basic レベル、Standard レベルを選択できるらしい。

補足: IoT Central の料金プランは
Standard 0 / 1 / 2 の 3 段階で、
デバイス 1 台あたりの月額と、送信できるメッセージ数の上限が異なる。
2 台までは無償なので、本チュートリアルの範囲なら費用はかからない
(後述の Data Explorer のクラスタは課金される)。

構築

※ IoT Central アプリは [IOTC] リソース・グループに格納される。

ポータル

  • Azure IoT Central ビルド Web サイトに移動

    • 移動した先で、[アプリのビルド] ボタンを押下して遷移する。

    • 遷移先でビルドする IoT アプリケーションを選択する。

  • [新しいアプリケーション] ページで

    • [アプリケーション テンプレート] の下で
      [カスタム アプリケーション] が選択されていることを確認

    • 選択したテンプレートに基づいてアプリ名が自動提案。
      独自のアプリケーション名を入力する。

    • アプリ名に基づいて、一意の URL プレフィックスが生成される。
      この URL は...

      • 一意である必要があり。
      • アプリケーションにアクセスするために使用する。
    • 料金プランを選択

      • 料金プランを選択
      • 課金情報を選択
        ディレクトリを選択
        サブスクリプションを選択
        場所(リージョン)を選択
    • 使用条件を確認し、[作成] ボタンを押下

シェル

...

コンテンツ

クイックスタート

  • 構築 > ポータルの手順で IoT アプリケーションをビルドする。

    • [カスタム アプリ] タイルの [アプリの作成] ボタンを選択する。
    • 料金プランは Standard 2 に設定する。
  • アプリ名の URL に飛ぶ

    • QR でスマホアプリが案内されるのでインストールしておく。

    • インストールしたスマホアプリを開き提示された QR で接続

    • 接続 > デバイス から接続したデバイスに移動して、

      • Overview に移動して、テレメトリ情報を確認する。
      • コマンドに移動して、...LightOn の [実行] ボタンを押下しライト点滅を確認する。

補足(この手順の巧みさ): スマホの IoT Plug and Play アプリ
デバイスとして使うことで、実機を用意せずに

  • テレメトリ(デバイス → クラウド。加速度センサーの値)
  • コマンド(クラウド → デバイス。ライトを点灯させる)

という双方向通信の両方を体験できる。
Azure Digital Twins で触れた DTDL により、
アプリを繋いだだけで「このデバイスは何ができるか」が
IoT Central 側に自動認識されるのも、ここで確認できる。

  • 新しいテレメトリベースのルールを対象のアプリケーションに追加する

    • [拡張] > [規則] から [ルールの作成] ボタンを押下して、規則の定義画面に遷移、

    • ルール名に「Phone turned over」と入力し、

    • [ターゲット デバイス] セクションの
      デバイス・テンプレートから [IoT Plug and Play mobile] を選択する。

    • [条件] セクションでルールをトリガーする条件を定義する。
      加速度計 z 軸テレメトリでデバイスが裏向きの際、
      各デバイスにつき 5 分ごとに最大 1 つの電子メールを送受信

      • ルールをトリガーする条件を入力
        ・条件は1つだけなので [すべての条件が真] or [いずれかの条件が真] のどちらでも OK
        ・スマホ画面の手前/奥側方向の加速度、前面が上の時プラス、下の時マイナス
フィールド
時間の集計 オン、5 分ごと
テレメトリ Acceleration / Z
演算子 次の値未満
集計 最小値
-9
- ルールがトリガーされたときに実行するアクション\
  アクションの追加 > 電子メールからアクションを追加して入力
設定
表示名 電話が移動されました
ターゲット メール アドレス
Notes 電話の画面は裏向きです。
- 最後に保存ボタンを押下すると、\
  ・始めに、ルールがx時に発動された旨のメールが届き、\
  ・次いで、ルールがトリガされたときにメールが届く。

補足(値 -9 の意味と、時間の集計): 加速度センサーは
**重力加速度(約 9.8 m/s²)**を常に検出している。
画面を上に置くと Z 軸は +9.8 前後、
裏返すと -9.8 前後になる。
「-9 未満」という条件は、この向きを判定している。

**「時間の集計:5 分ごと・最小値」**が実務上の要点である。
集計せずに瞬間値で判定すると、
少し傾けただけで大量の通知が飛ぶ(アラート疲れ)。
Azure Stream Analytics
ウィンドウ関数と同じ考え方であり、
IoT の通知設計では必ず必要になる配慮である。

.create table acceleration (
  EnqueuedTime:datetime,
  Device:string,
  X:real,
  Y:real,
  Z:real
);
- ストリーミング イングレスの有効化
.alter table acceleration policy streamingingestion enable;
  • [拡張] > [データのエクスポート] から [エクスポート先] > [宛先の追加] ボタンを押下

    • エクスポート先の名前として "Azure Data Explorer" と入力
    • エクスポート先の種類として Azure Data Explorer を選択
    • [クラスター URL] に、クラスタ URL を入力
    • [データベース名] に、データベース名を入力
    • [テーブル名] に、テーブル名を入力
    • [承認] で、[システム割り当てマネージド ID] を選択
    • 上記の入力が完了したら [保存] ボタンを押下
  • [拡張] > [データのエクスポート] から [エクスポート] > [エクスポートの追加] ボタンを押下

    • エクスポート名として「Phone accelerometer」を入力

    • エクスポートするデータの種類として [テレメトリ] を選択

    • [すべての条件が真] の時にエクスポートする以下の 2 つのフィルタを追加

名前 演算子
Device template 次の値に等しい IoT Plug and Play mobile
Sensor/ Acceleration / X 存在する 該当なし
- 宛先を定義する。\
  ・宛先に "Azure Data Explorer" を選択\
  ・データ変換の [変換クエリの作成] フィールドに以下のクエリを追加
import "iotc" as iotc;
{
    Device: .device.id,
    EnqueuedTime: .enqueuedTime,
    X: .telemetry | iotc::find(.name == "accelerometer").value.x,
    Y: .telemetry | iotc::find(.name == "accelerometer").value.y,
    Z: .telemetry | iotc::find(.name == "accelerometer").value.z
}
・上記の入力が完了したら [追加] ボタンを押下

- [エクスポートの状態] が「正常」になったら [保存] ボタンを押下

補足(この手順が示す 2 つの設計上の要点)

① マネージド ID による認証
[承認] で「システム割り当てマネージド ID」を選ぶことで、
接続文字列やキーを一切持たずに IoT Central から
Data Explorer に書き込める。
Azure Managed ID が述べる
「秘密を持たない」設計が、そのまま使われている。
(別途、Data Explorer 側で当該 ID に取り込み権限を付与する必要がある)

② 変換クエリ(jq 風の DSL)
IoT Central のテレメトリは入れ子の JSON で届くため、
そのままでは Data Explorer のテーブル構造に入らない
変換クエリで平坦化してから送る、という流れになっている。

IoT Central のテレメトリ(入れ子 JSON)
      │ 変換クエリで平坦化
      ▼
{ Device, EnqueuedTime, X, Y, Z }  → テーブルの列に対応

Azure IoT Central の「Data Export が
SaaS 型の制約を回避する唯一の経路」という指摘の、具体例にあたる。

チュートリアル

  • クイックスタートと同様に、
    構築 > ポータルの手順で IoT アプリケーションをビルドする。

    • [医療] タブの [患者の継続的なモニタリング] タイルの [アプリの作成] ボタンを選択する。
    • 料金プランは Standard 2 に設定する。
  • IoT Central アプリケーションの主な機能について確認できる。

    • 接続

      • デバイス
      • デバイス グループ
      • デバイス テンプレート
    • 分析

      • ダッシュボード
    • 管理

      • ジョブ
    • 拡張

      • 規則

補足: 業種別テンプレートは、
Azure IoT Central が言う
「サーバー側のプロバイダ向けのテンプレート機能」の実例である。
ダッシュボード・デバイス テンプレート・規則が一式入った状態
アプリが起動するため、
「何を作ればよいか」の雛形として読む価値がある。

参考

Microsoft Learn

クイックスタート

  1. 最初のデバイスを接続する
    https://learn.microsoft.com/ja-jp/azure/iot-central/core/quick-deploy-iot-central
  2. 規則とアクションを構成する
    https://learn.microsoft.com/ja-jp/azure/iot-central/core/quick-configure-rules
  3. データのエクスポート
    https://learn.microsoft.com/ja-jp/azure/iot-central/core/quick-export-data

チュートリアル


Tags: 移行, クラウド, IoT, Azure

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally