チュートリアル: ストア内分析アプリケーション テンプレートを作成してデプロイする

IoT Central の [ストア内分析 - チェックアウト] アプリケーション テンプレートを使用して、エンドツーエンド ソリューションを構築します。 このテンプレートを使用すると、さまざまなセンサー デバイスを介して店舗の環境に接続し、監視できます。 これらのセンサー デバイスは、ビジネス上の分析情報に変換できるテレメトリを生成し、運営コストの削減と顧客向けの優れたエクスペリエンスの作成を支援します。

このチュートリアルでは、次の作業を行う方法について説明します。

  • Azure IoT Central の In-store analytics - checkout テンプレートを使用して小売店アプリケーションを作成する
  • アプリケーションの設定をカスタマイズする
  • IoT デバイス テンプレートを作成およびカスタマイズする
  • デバイスをアプリケーションに接続する
  • 条件を監視するためのルールとアクションを追加する

Azure サブスクリプションをお持ちでない場合は、始める前に無料アカウントを作成してください。

アプリケーションのアーキテクチャ

多くの小売業者にとって、店舗内の環境条件は、競合他社との重要な差別化要因になります。 大きな成功を収めている小売業者は、顧客が心地よく感じられるようにするために、店舗内を快適な状態に保てるようあらゆる取り組みを行っています。

アプリケーション テンプレートには一連のデバイス テンプレートが付属しており、一連のシミュレートされたデバイスを使用してダッシュボードにデータを設定します。

インストア アナリティクス アプリケーション アーキテクチャの図。

上記のアプリケーション アーキテクチャ ダイアグラムで示したように、アプリケーション テンプレートを使用して次のことができます。

  • (1) さまざまな IoT センサーを IoT Central アプリケーション インスタンスに接続する。

    IoT ソリューションにまず必要なのは、小売店の環境内から意味のある信号をキャプチャする一連のセンサー群です。 アーキテクチャ ダイアグラムの左端にあるさまざまなアイコンはセンサーを表しています。

  • (2) 環境内のセンサー ネットワークの正常性とあらゆるゲートウェイ デバイスを監視および管理する。

    多くの IoT センサーでは、未加工の信号を、直接クラウドに、または近くにあるゲートウェイ デバイスにフィードできます。 ゲートウェイ デバイスは、概要分析情報を IoT Central アプリケーションに送信する前に、エッジでデータの集計を実行します。 ゲートウェイ デバイスは、必要に応じて、センサー デバイスへのコマンド アンド コントロール操作の中継も担います。

  • (3) 店舗内の環境条件を使用するカスタム ルールを作成し、ストア マネージャー向けのアラートをトリガーする。

    Azure IoT Central アプリケーションにより、小売店環境内のさまざまな種類の IoT センサーやゲートウェイ デバイスからデータが取り込まれ、意味のある分析情報のセットが生成されます。

    また、Azure IoT Central は、ストアオ ペレーターがインフラストラクチャ デバイスをリモートで監視および管理できるように、カスタマイズされたエクスペリエンスを提供します。

  • (4) 店舗内の環境条件を、店舗チームがカスタマー エクスペリエンスの向上に使用できる分析情報に変換する。

    ソリューション内で Azure IoT Central アプリケーションを構成して、生の情報または集計された分析情報を、一連のサービスとしての Azure プラットフォーム (PaaS) サービスにエクスポートできます。 PaaS サービスは、データ操作を実行し、そこから得た分析情報を強化した後、ビジネス アプリケーションに渡します。

  • (5) 集約された分析情報を既存または新規のビジネス アプリケーションにエクスポートして、販売スタッフに有益かつタイムリーな情報を提供する。

    IoT データは、小売り環境内に展開されたさまざまな種類のビジネス アプリケーションを強化することができます。 小売店のマネージャーまたはスタッフ メンバーは、これらのアプリケーションを使用してビジネス分析情報を視覚化し、意味のあるアクションをリアルタイムで実行できます。 「Azure IoT Central からデータをエクスポートし、Power BI で分析情報を視覚化する」チュートリアルでリアルタイム Power BI ダッシュボードを構築する方法について説明します。

ストア内の分析アプリケーションを作成する

IoT Central アプリケーションを作成するには、次のようにします。

  1. Azure portal の [IoT Central アプリケーションの作成] ページに移動します。 メッセージに従って Azure アカウントでサインインします。

  2. 次の情報を入力します。

    フィールド 説明
    サブスクリプション 使用する Azure サブスクリプション。
    Resource group 使用するリソース グループ。 新しいリソース グループを作成するか、既存のリソース グループを使用することができます。
    リソース名 有効な Azure リソース名。
    アプリケーションの URL アプリケーションの URL サブドメイン。 IoT Central アプリケーションの URL は、https://yoursubdomain.azureiotcentral.com のようになります。
    Template ストア内分析 - レジ
    リージョン 使用する Azure リージョン。
    料金プラン 使用する価格プラン。
  3. [Review + create](レビュー + 作成) を選択します。 [作成] を選択します。

アプリの準備ができたら、Azure portal からアプリに移動できます。

Azure portal の IoT Central アプリケーション リソースを示すスクリーンショット。アプリケーション URL が強調表示されています。

詳細については、Azure IoT Central アプリケーションの作成に関するページを参照してください。

アプリケーションを調べる

次の各セクションでは、アプリケーションの主な機能について説明します。

アプリケーションの設定をカスタマイズする

いくつかの設定を変更して、アプリケーションでのユーザー エクスペリエンスをカスタマイズできます。 カスタム テーマでは、アプリケーション ブラウザーの色、ブラウザーのアイコン、およびマストヘッドに表示されるアプリケーション ロゴを設定できます。

カスタム テーマを作成するには、サンプル イメージを使用してアプリケーションをカスタマイズします。 GitHub から 4 つの Contoso サンプル イメージをダウンロードします。

カスタム テーマを作成するには:

  1. 左側のウィンドウで、[カスタマイズ] > [外観] を選択します。

  2. マストヘッドのロゴを変更するには、[変更] を選択し、アップロードする contoso_wht_mast.png 画像を選択します。 必要に応じて、[Logo alt text](ロゴの代替テキスト) の値を指定します。

  3. ブラウザー アイコンを変更するには、[変更] を選択し、ブラウザー タブに表示する contoso_favicon.png 画像を選択します。

  4. HTML 16 進数のカラー コードを追加して、既定のブラウザーの色を置き換えます。

    • [ヘッダー] に「#008575」と入力します。
    • [アクセント] に「#A1F3EA」と入力 します。
  5. [保存] を選択します。 変更を保存すると、アプリケーションによってブラウザーの色、マストヘッド内のロゴ、ブラウザー アイコンが更新されます。

Azure IoT Central マイ アプリ サイトの [マイ アプリ] ページのアプリケーション タイルに表示されるアプリケーション イメージを更新するには:

  1. [アプリケーション] > [管理] を選択します。

  2. [変更] を選択し、アプリケーション イメージとしてアップロードする contoso_main_lg.png を選択します。

  3. [保存] を選択します。

デバイス テンプレートを作成する

デバイス テンプレートを使用すると、デバイスを構成および管理できます。 カスタム テンプレートの作成、既存のテンプレート ファイルのインポート、デバイス カタログからのテンプレートのインポートを行うことができます。 デバイス テンプレートを作成し、カスタマイズしたら、それを使用して実際のデバイスをご自身のアプリケーションに接続します。

必要に応じて、デバイス テンプレートを使用して、テスト用のシミュレートされたデバイスを生成できます。

In-store analytics - checkout アプリケーション テンプレートには、いくつかのプレインストールされたデバイス テンプレートがあります。 RuuviTag デバイス テンプレートは、In-store analytics - checkout アプリケーション テンプレートに含まれていません。

このセクションでは、RuuviTag センサー用のデバイス テンプレートをアプリケーションに追加します。 そのためには次を行います。

  1. 左側のウィンドウで [デバイス テンプレート] を選択します。

  2. [新規] を選択して、新しいデバイス テンプレートを作成します。

  3. デバイス カタログ内で [RuuviTag Multisensor] デバイス テンプレートを探して選択します。

  4. 確認\) をクリックします。

  5. [作成] を選択します

    アプリケーションによって、RuuviTag デバイス テンプレートが追加されます。

  6. 左側のウィンドウで [デバイス テンプレート] を選択します。

    このページには、アプリケーション テンプレートに含まれるすべてのデバイス テンプレートと、先ほど追加した RuuviTag デバイス テンプレートが表示されます。

ストア内分析アプリケーションのデバイス テンプレートを示すスクリーンショット。

デバイス テンプレートをカスタマイズする

アプリケーションでデバイス テンプレートをカスタマイズするには、3 つの方法があります。

  • デバイスの機能を変更して、デバイス内のネイティブの組み込みインターフェイスをカスタマイズします。

    たとえば、温度センサーを使用すると、表示名や測定単位などの詳細を変更できます。

  • クラウドのプロパティを追加してデバイス テンプレートをカスタマイズします。

    クラウドのプロパティは、Azure IoT Central アプリケーションがデバイスに対して作成、格納、関連付けを行うカスタム データです。 クラウド プロパティの例を次に示します。

    • 計算値。
    • メタデータ (一連のデバイスに関連付ける場所など)。
  • カスタム ビューを作成してデバイス テンプレートをカスタマイズします。

    ビューでは、デバイスのメトリックや正常性など、デバイスのテレメトリとメタデータをオペレーターが視覚化する手段が提供されます。

このセクションでは、最初の 2 つの方法を使用して、RuuviTag センサー用のデバイス テンプレートをカスタマイズします。

RuuviTag デバイス テンプレートの組み込みインターフェイスをカスタマイズするには:

  1. 左側のウィンドウで [デバイス テンプレート] を選択します。

  2. 次に、[RuuviTag] を選択します。

  3. 左側のウィンドウを非表示にします。 テンプレートの [概要] ビューには、デバイスの機能が表示されます。

    ストア内分析アプリケーションの RuuviTag デバイス テンプレートを示すスクリーンショット。

  4. RuuviTag デバイス テンプレート メニューで [RuuviTag] モデルを選択します。

  5. 機能の一覧で、テレメトリの種類[RelativeHumidity] までスクロールします。 これは、RelativeHumidity という編集可能な [表示名] 値を含む行アイテムです。

以下の手順では、RuuviTag センサーでテレメトリの種類の RelativeHumidity をカスタマイズします。 必要に応じて、他のテレメトリの種類のいくつかをカスタマイズします。

テレメトリの種類の RelativeHumidity について、次の変更を行います。

  1. [表示名] の値を RelativeHumidity から Humidity などのカスタム値に更新します。

  2. [セマンティックの種類] オプションを Relative humidity から Humidity に変更します。

    必要に応じて、展開されたスキーマ ビュー内で humidity のテレメトリの種類のスキーマ値を設定します。 スキーマ値の設定により、センサーが追跡するデータの詳細な検証要件を作成できます。たとえば、特定のインターフェイスに対して、動作範囲の最小値と最大値を設定できます。

  3. [保存] を選択して変更を保存します。

アプリケーションのデバイス テンプレートにクラウド プロパティを追加するには:

  1. [機能の追加] を選択します。

  2. [表示名] には場所を入力します。

    この値はプロパティのフレンドリ名で、[名前] に自動的にコピーされます。 コピーした値を使用することも、値を変更することもできます。

  3. [機能の種類] で、[クラウド プロパティ] を選択します。

  4. [展開] を選択します。

  5. [スキーマ] ドロップダウン リストで [文字列] を選択します。

    このオプションを使用すると、テンプレートに基づいて場所名を任意のデバイスに関連付けることができます。 たとえば、ストア内の名前付き領域を各デバイスに関連付けることができます。

  6. [最小の長さ]2 に設定します。

  7. [Trim Whitespace](空白のトリミング)On に設定します。

  8. [保存] を選択して、カスタム クラウド プロパティを保存します。

  9. 公開を選択します。

    デバイス テンプレートを発行すると、更新プログラムがアプリケーションオペレーターに表示されます。 テンプレートを発行したら、それを使用して、テスト用のシミュレートされたデバイスを生成したり、実際のデバイスをアプリケーションに接続したりします。 アプリケーションに接続しているデバイスが既にある場合は、カスタマイズされたテンプレートを発行すると、変更がデバイスにプッシュされます。

デバイスの追加

デバイス テンプレートを作成し、カスタマイズしたら、デバイスを追加します。 このチュートリアルでは、次のシミュレートされたデバイスのセットを使用して、アプリケーションを作成します。

  • Rigado C500 ゲートウェイ
  • 2 つの RuuviTag センサー。
  • Occupancy センサー。 シミュレートされたセンサーはアプリケーション テンプレートに含まれているため、作成する必要はありません。

シミュレートされた Rigado Cascade 500 ゲートウェイ デバイスをアプリケーションに追加するには:

  1. 左側のペインで、[デバイス] を選択します。

  2. 使用可能なデバイス テンプレートの一覧で C500 を選択し、[新規] を選択します。

  3. デバイス名として「C500 ゲートウェイ」を入力し、デバイス ID として「gateway-001」を入力します。

  4. C500 が選択されたデバイス テンプレートであることを確認してから、[このデバイスをシミュレートしますか?][はい] に設定します。

  5. [作成] を選択します これで、アプリケーションにシミュレートされた Rigado Cascade 500 ゲートウェイ デバイスが含まれるようになりました。

シミュレートされた RuuviTag センサー デバイスをアプリケーションに追加するには:

  1. 左側のペインで、[デバイス] を選択します。

  2. 使用可能なデバイス テンプレートの一覧で RuuviTag を選択し、[新規] を選択します。

  3. デバイス名として「RuuviTag 001」、デバイス ID として「ruuvitag-001」と入力します。

  4. RuuviTag が選択されたデバイス テンプレートであることを確認してから、[このデバイスをシミュレートしますか?][はい] に設定します。

  5. [作成] を選択します これで、アプリケーションにシミュレートされた RuuviTag センサー デバイスが含まれるようになりました。

前の手順を繰り返して、シミュレートされた 2 つ目の RuuviTag センサー デバイスをアプリケーションに追加します。 デバイス名として「RuuviTag 002」、デバイス ID として「ruuvitag-002」と入力します。

2 つの RuuviTag センサーと Occupancy デバイスをゲートウェイ デバイスに接続するには:

  1. 左側のペインで、[デバイス] を選択します。

  2. デバイスの一覧で RuuviTag 001RuuviTag 002Occupancy を選択します。 次に、コマンド バーで [ゲートウェイにアタッチ] を選択します。

  3. [ゲートウェイへのアタッチ] ペインで、デバイス テンプレートとして C500 を選択し、デバイスとして C500 - ゲートウェイを選択します。 次に、[アタッチ] を選択します。

C500 - ゲートウェイ デバイスに移動し、[ダウンストリーム デバイス] タブを選択すると、ゲートウェイにアタッチされている 3 つのデバイスが表示されます。

ルールとアクションの追加

Azure IoT Central アプリケーション内でセンサーを使用して状態を監視することの一環として、特定の条件が満たされたときにアクションを実行するルールを作成できます。

ルールはデバイス テンプレートと 1 つ以上のデバイスに関連付けられており、デバイスのテレメトリまたはイベントに基づいて満たす必要がある条件が含まれています。 また、ルールには 1 つ以上のアクションが関連付けられています。 アクションには、メール通知の送信、または他のサービスにデータを送信するための Webhook アクションのトリガーが含まれる場合があります。 In-store analytics - checkout アプリケーション テンプレートには、アプリケーションのデバイス用の定義済みルールがいくつか含まれています。

このセクションでは、RuuviTag センサー テレメトリに基づいて最大の相対湿度レベルを確認する新しいルールを作成します。 湿度が最大値を超えた場合に、アプリケーションからメール通知が送信されるように、ルールにアクションを追加します。

ルールを作成するには:

  1. 左側のウィンドウで、 [ルール] を選択します。

  2. [新規] を選択します。

  3. ルールの名前として Humidity level を入力します。

  4. [デバイス テンプレート] で [RuuviTag] デバイス テンプレートを選択します。

    定義したルールは、そのテンプレートに基づくすべてのセンサーに適用されます。 必要に応じて、定義されているセンサーのサブセットのみにルールを適用するフィルターを作成することもできます。

  5. [テレメトリ] で、[RelativeHumidity] を選択します。 これは、前の手順でカスタマイズしたデバイス機能です。

  6. [演算子] として、[次の値より大きい] を選択します。

  7. [値] として、環境での室内湿度レベルの一般的な上限を入力します (例: 65)。

    この条件は、任意の RuuviTag センサーの相対湿度が値を超えた場合に適用されます。 環境内の通常の湿度範囲に応じて、値を上下に調整することが必要な場合があります。

ルールにアクションを追加するには:

  1. [電子メール] を選択します。

  2. アクションのわかりやすい表示名として「High humidity notification」と入力します。

  3. [宛先] には、アカウントに関連付けられているメール アドレスを入力します。

    別のメールを使用する場合、使用するアドレスは、アプリケーションに追加されているユーザーのアドレスである必要があります。 ユーザーは、少なくとも 1 回サインインしてサインアウトする必要もあります。

  4. 必要に応じて、メールのテキストに含めるメモを入力します。

  5. [完了] を選択して、アクションを完了します。

  6. [保存] を選択して、新しいルールを保存してアクティブにします。

    数分以内に、指定したメール アカウントでのメールの受信が開始されます。 湿度レベルが条件の値を超えたことがセンサーで示されるたびに、アプリケーションによってメールが送信されます。

リソースをクリーンアップする

今後 IoT Central のクイックスタートやチュートリアルに取り組む予定がなければ、ここで使用した IoT Central アプリケーションは次の手順で削除してください。

  1. IoT Central アプリケーションで、[アプリケーション] > [管理]に移動します。
  2. [削除] を選択して操作を確定します。

次のステップ