エンド ツー エンド ソリューションを構築するには、IoT Central のストア内分析チェックアウト アプリケーション テンプレートを使用します。 このテンプレートを使用すると、さまざまなセンサー デバイスを介してストアの環境に接続して監視できます。 これらのデバイスはテレメトリを生成し、ビジネス分析情報に変換して運用コストを削減し、顧客に優れたエクスペリエンスを生み出すのに役立ちます。
このチュートリアルでは、以下の内容を学習します。
- Azure IoT Central のストア内分析 - チェックアウト テンプレートを使用して小売店アプリケーションを作成する
- アプリケーション設定をカスタマイズする
- IoT デバイス テンプレートの作成とカスタマイズ
- デバイスをアプリケーションに接続する
- ルールとアクションを追加して条件を監視する
Azure サブスクリプションをお持ちでない場合は、始める前に無料アカウントを作成してください。
[前提条件]
このチュートリアルを完了するには、 dmr-client コマンドライン ツールをローカル コンピューターにインストールする必要があります。
dotnet tool install --global Microsoft.IoT.ModelsRepository.CommandLine --version 1.0.0-beta.9
アプリケーション アーキテクチャ
多くの小売業者にとって、環境条件は、自社の店舗と競合他社の店舗を区別するための重要な方法です。 最も成功した小売業者は、顧客の快適さのために店舗内の快適な条件を維持するためにあらゆる努力をします。
アプリケーション テンプレートには一連のデバイス テンプレートが付属しており、一連のシミュレートされたデバイスを使用してダッシュボードを設定します。
前のアプリケーション アーキテクチャ図に示すように、アプリケーション テンプレートを使用して次のことができます。
(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 データは、リテール環境内にデプロイされたさまざまな種類のビジネス アプリケーションに電力を供給できます。 小売店のマネージャーまたはスタッフ メンバーは、これらのアプリケーションを使用してビジネスの分析情報を視覚化し、リアルタイムで意味のあるアクションを実行できます。 リアルタイムの Power BI ダッシュボードを Azure IoT Central からデータをエクスポートし、Power BI チュートリアルで分析情報を視覚化する 方法について説明します。
ストア内分析アプリケーションを作成する
IoT Central アプリケーションを作成するには:
Azure portal の [ IoT Central アプリケーションの作成 ] ページに移動します。 メッセージが表示されたら、Azure アカウントでサインインします。
次の情報を入力してください。
フィールド Description Subscription 使用する Azure サブスクリプション。 リソースグループ 使用するリソース グループ。 新しいリソース グループを作成することも、既存のリソース グループを使用することもできます。 リソース名 有効な Azure リソース名。 アプリ URL アプリケーションの URL サブドメイン。 IoT Central アプリケーションの URL は、 https://yoursubdomain.azureiotcentral.comのようになります。Template ストア内分析 - チェックアウト リージョン 使用する Azure リージョン。 料金プラン 使用する価格プラン。 [Review + create](レビュー + 作成) を選択します。 次に、[ 作成] を選択します。
アプリの準備ができたら、Azure portal からアプリに移動できます。
詳細については、 Azure IoT Central アプリケーションの作成に関するページを参照してください。
アプリケーションを調べる
次のセクションでは、アプリケーションの主な機能について説明します。
アプリケーション設定をカスタマイズする
複数の設定を変更して、アプリケーションのユーザー エクスペリエンスをカスタマイズできます。 カスタム テーマを使用すると、アプリケーション ブラウザーの色、ブラウザー アイコン、およびマストヘッドに表示されるアプリケーション ロゴを設定できます。
カスタム テーマを作成するには、サンプル イメージを使用してアプリケーションをカスタマイズします。 GitHub から 4 つの Contoso サンプル イメージ をダウンロードします。
カスタム テーマを作成するには:
左側のウィンドウで、[ カスタマイズ] > [外観] を選択します。
マストヘッドのロゴを変更するには、[ 変更] を選択し、アップロードする contoso_wht_mast.png イメージを選択します。 必要に応じて、[ロゴ] 代替テキストの値を入力します。
ブラウザー アイコンを変更するには、[ 変更] を選択し、ブラウザーのタブに表示する contoso_favicon.png イメージを選択します。
HTML 16進数カラーコードを追加して、ブラウザーの既定色を置き換えることができます。
- [ヘッダー] に「#008575」と入力します。
- アクセントには#A1F3EAを入力します。
保存 を選択します。 変更を保存すると、アプリケーションによってブラウザーの色、マストヘッドのロゴ、ブラウザー アイコンが更新されます。
Azure IoT Central マイ アプリ サイトの [マイ アプリ] ページのアプリケーション タイルに表示されるアプリケーション イメージを更新するには:
[ アプリケーション > 管理] を選択します。
[ 変更] を選択し、アプリケーション イメージとしてアップロードする contoso_main_lg.png イメージを選択します。
保存 を選択します。
デバイス テンプレートを作成する
デバイス テンプレートを使用すると、デバイスを構成および管理できます。 カスタム テンプレートをビルドしたり、既存のテンプレート ファイルをインポートしたり、おすすめのデバイス テンプレートの一覧からテンプレートをインポートしたりすることができます。 デバイス テンプレートを作成してカスタマイズしたら、それを使用して実際のデバイスをアプリケーションに接続します。
必要に応じて、デバイス テンプレートを使用して、テスト用のシミュレートされたデバイスを生成できます。
ストア内分析 - チェックアウト アプリケーション テンプレートには、いくつかのプレインストールされたデバイス テンプレートがあります。 RuuviTag デバイス テンプレートは、 ストア内分析 - チェックアウト アプリケーション テンプレートには含まれていません。
このセクションでは、RuuviTag センサー用のデバイス テンプレートをアプリケーションに追加します。 これを行うには、次の手順を実行します。
モデル リポジトリから RuuviTag デバイス テンプレートのコピーをダウンロードするには、次のコマンドを実行します。
dmr-client export --dtmi "dtmi:rigado:RuuviTag;2" --repo https://raw.githubusercontent.com/Azure/iot-plugandplay-models/main > ruuvitag.json左側のウィンドウで、[ デバイス テンプレート] を選択します。
[ + 新規 ] を選択して、新しいデバイス テンプレートを作成します。
[IoT デバイス] タイルを選択し、[次へ: カスタマイズ] を選択します。
[ カスタマイズ ] ページで、デバイス テンプレート名として 「RuuviTag 」と入力します。
[次へ: レビュー] を選択します。
を選択してを作成します。
モデルのインポートタイルを選択します。 次に、前にダウンロードした ruuvitag.json ファイルを参照してインポートします。
インポートが完了したら、[ 発行 ] を選択してデバイス テンプレートを発行します。
左側のウィンドウで、[ デバイス テンプレート] を選択します。
このページには、アプリケーション テンプレート内のすべてのデバイス テンプレートと、追加した RuuviTag デバイス テンプレートが表示されます。
デバイス テンプレートをカスタマイズする
アプリケーションのデバイス テンプレートは、次の 3 つの方法でカスタマイズできます。
デバイスの機能を変更して、デバイスのネイティブ組み込みインターフェイスをカスタマイズします。
たとえば、温度センサーを使用すると、表示名や測定単位などの詳細を変更できます。
クラウド のプロパティを追加して、デバイス テンプレートをカスタマイズします。
クラウド のプロパティは、Azure IoT Central アプリケーションによって作成、格納、およびデバイスに関連付けられているカスタム データです。 クラウド プロパティの例を次に示します。
- 計算された値。
- 一連のデバイスに関連付ける場所などのメタデータ。
カスタム ビューを作成してデバイス テンプレートをカスタマイズします。
ビューは、オペレーターがデバイスのメトリックや正常性などのデバイスのテレメトリとメタデータを視覚化する方法を提供します。
このセクションでは、最初の 2 つの方法を使用して、RuuviTag センサーのデバイス テンプレートをカスタマイズします。
RuuviTag デバイス テンプレートの組み込みインターフェイスをカスタマイズするには:
左側のウィンドウで、[ デバイス テンプレート] を選択します。
RuuviTag を選択します。
左側のウィンドウを非表示にします。 テンプレートの概要ビューには、デバイスの機能が表示されます。
RuuviTag デバイス テンプレート メニューで RuuviTag モデルを選択します。
機能の一覧で、 RelativeHumidity テレメトリの種類をスクロールします。 編集可能な表示名の値がRelativeHumidityである行項目です。
次の手順では、RuuviTag センサーの RelativeHumidity テレメトリの種類をカスタマイズします。 必要に応じて、他のテレメトリの種類の一部をカスタマイズできます。
RelativeHumidity テレメトリの種類として、次の変更を行います。
表示名の値を RelativeHumidity から Humidity などのカスタム値に更新します。
セマンティックタイプ オプションを 相対湿度 から 湿度 に変更します。
必要に応じて、展開されたスキーマ ビューで湿度テレメトリの種類のスキーマ値を設定します。 スキーマ値を設定することで、センサーが追跡するデータの詳細な検証要件を作成できます。たとえば、指定したインターフェイスの動作範囲の最小値と最大値を設定できます。
[保存] を選択して変更を保存します。
アプリケーションのデバイス テンプレートにクラウド プロパティを追加するには:
[ 機能の追加] を選択します。
[表示名] に「場所」と入力します。
プロパティのフレンドリ名であるこの値は、Name に自動的にコピーされます。 コピーした値を使用することも、変更することもできます。
[機能の種類] で、[クラウド プロパティ] を選択します。
[展開] を選択します。
[ スキーマ ] ドロップダウン リストで、[ 文字列] を選択します。
このオプションを使用すると、テンプレートに基づいて場所名を任意のデバイスに関連付けることができます。 たとえば、ストア内の名前付き領域を各デバイスに関連付けることができます。
最小長を2 に設定します。
[空白のトリミング] を [オン] に設定します。
[ 保存] を 選択してカスタム クラウド プロパティを保存します。
公開を選択します。
デバイス テンプレートを発行すると、更新プログラムがアプリケーションオペレーターに表示されます。 テンプレートを発行したら、それを使用してテスト用のシミュレートされたデバイスを生成するか、実際のデバイスをアプリケーションに接続します。 既にデバイスがアプリケーションに接続されている場合は、カスタマイズされたテンプレートを発行すると、変更がデバイスにプッシュされます。
デバイスの追加
デバイス テンプレートを作成してカスタマイズしたら、デバイスを追加します。 このチュートリアルでは、次の一連のシミュレートされたデバイスを使用してアプリケーションをビルドします。
- Rigado C500 ゲートウェイ。
- 2 つの RuuviTag センサー。
- 占有センサー。 このシミュレートされたセンサーはアプリケーション テンプレートに含まれているため、作成する必要はありません。
シミュレートされた Rigado Cascade 500 ゲートウェイ デバイスをアプリケーションに追加するには:
左側のウィンドウで、[デバイス] を選択 します。
使用可能なデバイス テンプレートの一覧で C500 を選択し、[ 新規] を選択します。
デバイス名として C500 ゲートウェイ を入力し、デバイス ID として gateway-001 を入力します。
C500 が選択したデバイス テンプレートであることを確認し、[このデバイスをシミュレートする] を [はい] に設定します。
を選択してを作成します。 これで、アプリケーションにシミュレートされた Rigado Cascade 500 ゲートウェイ デバイスが含まれるようになりました。
シミュレートされた RuuviTag センサー デバイスをアプリケーションに追加するには:
左側のウィンドウで、[デバイス] を選択 します。
使用可能なデバイス テンプレートの一覧で RuuviTag を選択し、[ 新規] を選択します。
デバイス名として RuuviTag 001 、デバイス ID として ruuvitag-001 を入力します。
RuuviTag が選択したデバイス テンプレートであることを確認し、[このデバイスをシミュレートする] を [はい] に設定します。
を選択してを作成します。 これで、アプリケーションにシミュレートされた RuuviTag センサー デバイスが含まれるようになりました。
前の手順を繰り返して、シミュレートされた 2 つ目の RuuviTag センサー デバイスをアプリケーションに追加します。 デバイス名として RuuviTag 002 、デバイス ID として ruuvitag-002 を入力します。
2 つの RuuviTag センサーと占有率デバイスをゲートウェイ デバイスに接続するには:
左側のウィンドウで、[デバイス] を選択 します。
デバイスの一覧で、 RuuviTag 001、 RuuviTag 002、および 占有率を選択します。 次に、コマンド バーで [ ゲートウェイにアタッチ] を選択します。
[ ゲートウェイへのアタッチ ] ウィンドウで、デバイス テンプレートとして C500 を選択し、デバイスとして C500 - ゲートウェイ を選択します。 次に、[ アタッチ] を選択します。
C500 - ゲートウェイ デバイスに移動し、[ダウンストリーム デバイス] タブを選択すると、ゲートウェイに接続されている 3 つのデバイスが表示されます。
ルールとアクションを追加する
Azure IoT Central アプリケーションでセンサーを使用して条件を監視する一環として、特定の条件が満たされたときにアクションを実行するルールを作成できます。
ルールはデバイス テンプレートと 1 つ以上のデバイスに関連付けられます。ルールには、デバイス テレメトリまたはイベントに基づいて満たす必要がある条件が含まれています。 ルールには、1 つ以上のアクションも関連付けられています。 アクションには、電子メール通知の送信や、他のサービスにデータを送信する Webhook アクションのトリガーが含まれる場合があります。 ストア内分析 - チェックアウト アプリケーション テンプレートには、アプリケーション内のデバイスに対して事前に定義された規則がいくつか含まれています。
このセクションでは、RuuviTag センサーテレメトリに基づいて最大湿度レベルをチェックする新しいルールを作成します。 湿度が最大値を超えた場合にアプリケーションが電子メール通知を送信するように、ルールにアクションを追加します。
ルールを作成するには:
左側のウィンドウで、[ ルール] を選択します。
新規を選択します。
ルールの名前として 「湿度レベル 」と入力します。
[デバイス テンプレート] で、RuuviTag デバイス テンプレートを選択します。
定義するルールは、そのテンプレートに基づいて、すべてのセンサーに適用されます。 必要に応じて、定義されたセンサーのサブセットにのみルールを適用するフィルターを作成できます。
[ テレメトリ] で、[ RelativeHumidity] を選択します。 これは、前の手順でカスタマイズしたデバイス機能です。
演算子で、より大きい を選択します。
[ 値] には、環境の一般的な屋内湿度レベルの上限を入力します (例: 65)。
この条件は、任意の RuuviTag センサーの湿度が値を超えた場合に適用されます。 環境内の通常の湿度範囲に応じて、値を上下に調整する必要がある場合があります。
ルールにアクションを追加するには:
[ 電子メール] を選択します。
アクションの わかりやすい表示名 として、「 高湿度通知」と入力します。
[ 宛先] に、アカウントに関連付けられているメール アドレスを入力します。
別のメール アドレスを使用する場合は、アプリケーションに追加されたユーザー用に使用する必要があります。 また、ユーザーは少なくとも 1 回はサインインとサインアウトを行う必要があります。
必要に応じて、メールのテキストに含めるメモを入力します。
[ 完了] を 選択してアクションを完了します。
[保存] を選択して、新しいルールを保存してアクティブ化します。
数分以内に、指定した電子メール アカウントがメッセージの受信を開始する必要があります。 アプリケーションは、湿度レベルが条件の値を超えたことをセンサーが示すたびに電子メールを送信します。
リソースをクリーンアップする
IoT Central のクイックスタートやチュートリアルをこれ以上実行する予定がない場合は、IoT Central アプリケーションを削除できます。
- IoT Central アプリケーションで、[ アプリケーション > 管理] に移動します。
- [削除] を選択して操作を確定します。