IoTデバイスの登録
ラボの概要
Dynamics 365の接続済みフィールド サービス ソリューションを使用すると、シミュレーションされたIoTデバイスと物理のIoTデバイスの両方をAzure IoT Azure IoTの利用または登録することができます IoT Central。 デバイスを接続したデバイスは、接続済フィールド サービス ソリューションに情報を返します。
このハンズオン ラボの目的は、シミュレートされたデバイスと物理デバイスを Azure IoT Hub に登録し、Connected Field Service の顧客資産に関連付ける方法を示すことです。
シナリオ
あなたは、スマート ホーム デバイスを販売し、サービスを提供している会社に勤務しているとします。 サービス対象のデバイスの多くはスマート デバイスであるため、これらのデバイスからの情報をリモートでキャプチャして、その設備のサービスに役立てることができます。 組織には、設備の点検/修理の際に使用する複数の定義済みシナリオとプロセスがあります。 これらのプロセスは、次のような複数の要因によって変わる可能性があります。
サービスを必要とするデバイスの種類
検出された問題の重要度
デバイスの経過期間
デバイスの場所
特定のデバイスについての作業を行うリソースの空き時間。
上記の項目は、組織が設備の保守プロセスを決定するために使用する要因のほんの一部のみを表します。
接続されている IoT ソリューションに最初に移動する社内の重要コンポーネントでは、Azure IoT Hub (シミュレーションと物理の両方) にデバイスを登録し、それらを Connected Field Service 内の対応する顧客資産に関連付けます。
演習 1: シミュレートされたデバイスを登録して作業する
タスク 1: シミュレートされたデバイスを登録する
接続された Power Apps が設定されている場所に移動し環境に移動して、正しい場所に移動します。
アプリを選択し、Connected Field Service アプリケーションをクリックして開きます。
顧客資産を選択し、+ 新規をクリックします。
名前にSmart Thermostatと入力し、取引先企業で Adventure Works を選択して、保存をクリックします。 詳細を保存した後、他のセクションが読み込まれるまで待ちます。
デバイス ID フィールドに smt-9876 と入力して、保存をクリックします。
コマンド バー ** でデバイスの登録をクリックします。
OK をクリックします。
Webブラウザで、新選択タブを開いて、 、3つ以上のポータルに移動します ( メッセージが表示された場合は、Azureにログインします。使用しているアカウントに関連付けられているAzureの定期購読が必要です。
リソース グループを選択します。
[ 接続済フィールド サービス インストール] で使用しているIoT を開 します。
IoT デバイスをクリックします。 現在、IoTシステムに接続されているデバイスすべてが表示されます。
smt-9876 のデバイスを選択して開きます。 デバイスID、プライマリ キーとセカンダリ キー、およびプライマリおよびセカンダリ接続文字列に注意してください。これらの機能は、物理デバイスを使用する場合に便利です。
デバイス ツインをクリックします。
これによって、このデバイスのデバイスに接続された何ものデバイスの何ものドキュメントが表示されます。
IoTファイルを開選択Appサービスの SimulatorIoTC XXX
リソース) を 開きます。シミュレーターの URL をクリックして、サーモスタット シミュレーターを開きます。 (シミュレーターが新しいタブで開きます)
シミュレーターで、接続をクリックします。
その後、 、3つ サブスクリプト、閉じる 画面に戻り、すべてのリソース グループ ビューに戻ります。
IoT Hub リソースを開きます。
IoT ハブ名を強調表示してコピーします。
シミュレーター画面に戻り、IoT ハブ名をホスト フィールドに貼り付けます。
Azureの定期購読に切り替えて選択共有 ポリシーを実行します。
iothubowner ポリシーを開き、主キーをコピーします。
シミュレーター画面に戻り、主キーをキー フィールドに貼り付けます。
接続ボタンをクリックします。 (これでシミュレーターが Azure IoT Hub に接続されました)
更新ボタンをクリックして、すべての登録済みデバイスを使用可能にします。
デバイスの選択ドロップダウンで、smt-9876 デバイスを選択します。 ([最新の情報に更新] ボタンの横に緑色の点が表示され、数秒後、情報の送信が開始されます。)
温度スライダーで 75 度に設定して、温度ステータスが送信されたメッセージ ウィンドウに登録されるまで待ちます。
Connected Field Service が読み込まれているブラウザー タブに切り替えます。
IoT 通知を選択します。
通知が作成されたことを確認します。 (例: 温度が 75 度でしきい値の 70 度を上回っていることの通知。)
ここから、コマンドを使用してデバイスとの通信を開始できます。 その詳細を単位6で検証します。
タスク2: [大部修正] に変更するにはデバイス ルールを変更する
Web ブラウザーで、Azure portal が表示されているタブを選択します。
ストレージ アカウントを選択して開きます。
下にスクロールして、[containers ] Bl をクリックします。
devicerules をクリックします。
2016-05-30 フォルダーをクリックします。
22-40 フォルダーを開きます。
devicerules.json ファイルを右クリックして、BLOB の表示/編集を選択します。
Temperature プロパティを見つけ、値を 70 から 21.11111 (華氏 70 度の摂氏での値) に変更します
保存をクリックします。
Azure Stream Analytics ジョブをいったん停止してから再度開始して、最新の値を反映します。
Azure portal に移動し、リソース グループを開きます。
種類が Stream Analytics ジョブのリソースを選択して開きます。
リソースを停止し、停止するまで待ちます。
リソースを開始します。 ステータスが実行中になるまで待ちます。
シミュレーターに戻り、smt-9876 デバイスが選択されていることを確認します。
21.11111 を超える値に変更し、読み取り値が登録されるのを待ちます。
Dynamics 365 Connected Field Service に戻り、通知レコードが作成されたことを確認します。
タスク 3: 華氏に戻すように、デバイス ルールを変更する。
重要
このモジュールのユニット 6 では、Connected Field Service と通信する、シミュレートされたデバイスが使用されます。 この演習では、摂氏に対する変更は機能しません。 BLOB では、温度を 70 度に戻し、シミュレーターが華氏を登録して適切に動作することを確認することが重要です。 ファイルが再度更新されたら、忘れずに Stream Analytics ジョブを停止して開始します。 これにより、ストリームで最新のしきい値が確実に参照されます。
演習 2: 物理デバイスを登録する (省略可能)
各行使はシナリオと学習目標で構成され、シナリオはトレーニングの目的を表し、目標は一覧表示され、1つの独立したポイントを持っています。
シナリオ
このオプションのトレーニングでは、物理的なデバイスが必要です。 使用可能なものは複数あります。 このトレーニングでは、新しいトレーニング トレーニング グループの設定 MXChip IoT DevKit。 この MXChip IoT DevKit (a.k.a回し1つ) は、1対1のIoTデバイス キットです。 このチップを使用して、Microsoft Azure サービスを利用する IoT (モノのインターネット) ソリューションの開発やプロトタイプの作成を行うことができます。
豊富な周辺機器およびセンサーが備えられた Arduino 互換開発ボード、オープンソースのボード パッケージ、および日々拡充されているプロジェクト カタログが含まれています。
MXChip IoT DevKit がない場合は、Azure IoT Developer Kit にアクセスして Get a Kit をクリックします。
タスク 1: 顧客資産と IoT デバイスを作成して登録する。
Connected Field Service アプリケーションに移動し、顧客資産を選択して、+ 新規をクリックします。
名前に MXChip と入力し、取引先企業で Adventure Works を選択し、保存をクリックします。
デバイス ID フィールドに AZ3166 と入力して、保存をクリックします。
デバイスの登録をクリックします。
OK をクリックします。
Web ブラウザーで新しいタブを選択し、Azure portal に移動します (求められた場合は、Azure にサインインします。使用しているアカウントに関連付けられている Azure サブスクリプションが必要です)。
リソース グループを選択します。
[ 接続済フィールド サービス インストール] で使用しているIoT を開 します。
IoT デバイスをクリックします。 現在、IoTシステムに接続されているデバイスすべてが表示されます。
AZ3166 デバイスを選択して開きます。
デバイスのプライマリ接続文字列を見つけ、メモ帳などのアプリケーションにコピーします。 (後で使用します)。
タスク 2: 物理デバイスを登録する
デバイスのファームウェアをフラッシュする
MXChip 用の最新の事前構築済み Microsoft IoT Central ファームウェアを、GitHub のリリース ページからダウンロードします。
AZ3166-IoT-Central-x.x.x.bin を選択します。
ファイルをローカルに保存します。
USB ケーブルを使用して、DevKit デバイスを開発用マシンに接続します。
Windows で、DevKit デバイス上のストレージにマップされているドライブに対してファイル エクスプローラーのウィンドウが開きます。 たとえば、そのドライブは AZ3166 (E:) などと呼ばれます。
AZ3166-IoT-Central-X.X.X.bin ファイルをドライブ ウィンドウにドラッグします。
コピーが完了すると、新しい変更機能でデバイスが機能し変えられます。
Wi-Fiの構成
デバイスの再起動後、そのデバイスで Wi-Fi を構成する必要があります。
B ボタンを押しながら、リセット ボタンを押して離し、B ボタンを離します。
DevKit は、Wi-Fi を構成するために AP モードに入ります。 画面に DevKit のサービス セット識別子 (SSID) と構成ポータルの IP アドレスが表示されます。
ファームウェアを適用した後で、Wi-Fi SSID が AZ で始まり、AZ3166 ではない場合は、次の手順に従って、ファームウェアが適切に適用されていることを確認する必要があります。
不適切 – ファームウェアが正しく適用されていません
適切 – ファームウェアが正しく適用されています
重要
デバイス画面が左側の画像のようになっている場合、次のステップを実行するだけでかまいません。 右部の画像のように表示される場合、デバイスは Wi-Fi を構成できる状態になっています。
- AZ3166 でリセットをクリックします。
- A ボタンと B ボタンを同時に押すと、AZ3166 がハード リセットされます。
- リセットを押します。
- 電源から取り外します。
- AZ3166 を AP モードにします。
- SSID が AZ3166XXXXXX である場合、ファームウェアが正しく適用されています。
- SSID がまだ AZ-XXXXXXXXXX と表示される場合は、Azure IoT Developer Kit を参照し、SSH を使用して IoT Hub の接続文字列を更新してください。
別のWi-Fi対応デバイス (コンピュータや携帯電話など) が、AZ3166_SRSCAQ)。
- パスワードは空のままにします。
接続されているデバイスで Web ブラウザーを開き、http://192.168.0.1/start に移動します。
参加する Wi-Fi ネットワークを選択し、Wi-Fi の資格情報を入力します。
デバイスから PIN コードを取得し、デバイス PIN コード フィールドに入力します。
主/予備デバイス キーに、先ほどメモ帳にコピーした接続文字列を貼り付けます。
すべてのテレメトリ オプションを選択します。
デバイスの構成をクリックします。
リセット ボタンを使用してデバイスをリセットします。
物理デバイスは、Azure IoT Hub に接続できるように構成されました。
Azure portal に移動し、リソース グループをクリックし、お使いの Connected Field Service コンポーネントがすべて含まれているリソース グループを選択します。
[コンポーネント一覧] を、[タイプ] 列の値を基準にして並べ替えます。 これを 2 回クリックすると、降順で並べ替えられ、Stream Analytics ジョブが一番上に表示されます。
停止ボタンをクリックして、ジョブを無効にします。 これにより、クエリを変更することができます。
[ クリック。 停止するのに数分かかる場合があります。
クエリ セクションで、クエリの編集を選択します。
このクエリには、処理しているデバイスに必要な情報は含まれるので、置き換えられます。 クエリ ウィンドウ内のすべての情報を強調表示にし、キーボードの Delete キーを押します。
クエリが空になります。
次に、次のコードをウィンドウに貼り付けます。
WITH AlertData AS ( -- Web Simulator Devices SELECT Stream.DeviceID, 'Temperature' AS ReadingType, Stream.Temperature AS Reading, Stream.EventToken AS EventToken, Ref.Temperature AS Threshold, Ref.TemperatureRuleOutput AS RuleOutput, Stream.EventEnqueuedUtcTime AS [time] FROM IoTStream Stream JOIN DeviceRulesBlob Ref ON Ref.DeviceType = 'Thermostat' WHERE Stream.EventToken IS NOT NULL AND Stream.Temperature > Ref.Temperature UNION -- MX Chip SELECT GetMetadataPropertyValue(Stream, '[IoTHUB].[ConnectionDeviceId]') as DeviceID, 'Temperature' AS ReadingType, Stream.temp AS Reading, GetMetadataPropertyValue (Stream, 'EventId') as EventToken, Ref.Temperature AS Threshold, Ref.TemperatureRuleOutput AS RuleOutput, Stream.EventEnqueuedUtcTime AS [time] FROM IoTStream Stream JOIN DeviceRulesBlob Ref ON Ref.DeviceType = 'Thermostat' WHERE Stream.temp IS NOT NULL AND Stream.temp > Ref.Temperature ) -- Insert data into the "Alerts" Service Bus Queue SELECT data.DeviceId, data.ReadingType, data.Reading, data.EventToken, data.Threshold, data.RuleOutput, data.Time INTO AlertsQueue FROM AlertData data WHERE LAG(data.DeviceID) OVER (PARTITION BY data.DeviceId, data.Reading, data.ReadingType LIMIT DURATION(minute, 1)) IS NULL
クエリ ウィンドウ内にあるクエリの保存ボタンをクリックします。
クエリ ウィンドウを閉じます。 これにより、Stream分析ジョブの に されます。
上部に沿って、[開始] ボタン ボタン クリックします。
今すぐを選択し、開始をクリックします。
ジョブは開始に1分または2分かかる。 この機能が開始された後は、[通知] 領域の下に表示されます。
タスク 3: シミュレーターを使用するように、デバイス通知設定と Stream Analytics を変更する
重要
このモジュールのユニット 6 では、Connected Field Service と通信する、シミュレートされたデバイスが使用されます。 デバイスの通知設定と Stream Analytics に加えた変更は、この演習では機能しません。 これらの設定を元の値に戻すことが重要です。
Azure portal に移動し、リソース グループをクリックし、お使いの Connected Field Service コンポーネントがすべて含まれているリソース グループを選択します。
[コンポーネント一覧] を、[タイプ] 列の値を基準にして並べ替えます。 それを2回クリックすると、降順に並べ替え、Stream分析ジョブが最上部に表示されます。
停止ボタンをクリックして、ジョブを無効にします。 これにより、クエリを変更することができます。 停止するまで数分かかる場合があります。 停止した後は、通知領域の下に表示されます。
クエリ セクションで、[クエリの編集] を選択します。
次に、次のコードをウィンドウに貼り付けます。
WITH AlertData AS ( -- Web Simulator Devices SELECT Stream.DeviceID, 'Temperature' AS ReadingType, Stream.Temperature AS Reading, Stream.EventToken AS EventToken, Ref.Temperature AS Threshold, Ref.TemperatureRuleOutput AS RuleOutput, Stream.EventEnqueuedUtcTime AS [time] FROM IoTStream Stream JOIN DeviceRulesBlob Ref ON Ref.DeviceType = 'Thermostat' WHERE Ref.Temperature IS NOT NULL AND Stream.Temperature > Ref.Temperature ) SELECT data.DeviceId, data.ReadingType, data.Reading, data.EventToken, data.Threshold, data.RuleOutput, data.Time INTO AlertsQueue FROM AlertData data WHERE LAG(data.DeviceID) OVER (PARTITION BY data.DeviceId, data.Reading, data.ReadingType LIMIT DURATION(minute, 1)) IS NULL
クエリ ウィンドウ内にある保存ボタンをクリックします。
クエリ ウィンドウを閉じます。 これにより、Stream分析ジョブの に されます。
上部に沿って、[開始] ボタン ボタン クリックします。
今すぐを選択し、開始をクリックします。
ジョブは開始に1分または2分かかる。 この機能が開始された後は、[通知] 領域の下に表示されます。