チュートリアル: IoT プラグ アンド プレイのクイックスタートとチュートリアル用に環境を設定する
IoT プラグ アンド プレイのクイックスタートとチュートリアルのいずれかを完了する前に、Azure サブスクリプションで IoT ハブと Device Provisioning Service (DPS) を構成する必要があります。 また、サンプル アプリケーションと Azure IoT エクスプローラー ツールで使用されるモデル ファイルのローカル コピーも必要になります。
重要
この記事では、Shared Access Signature を使用してサービスに接続する手順について説明しています。 この認証方法はテストと評価には便利ですが、サービスに対する認証方法としては、Microsoft Entra ID またはマネージド ID を使用する方が安全です。 詳細については、「セキュリティのベスト プラクティス」の「クラウドのセキュリティ」 を参照してください。>
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
Azure CLI の環境を準備する
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。
CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。
初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
リソースの作成
リソース用の Azure リソース グループを作成します。
az group create --name my-pnp-resourcegroup --location centralus
IoT Hub を作成します。 次のコマンドの場合、作成する IoT ハブの名前の例として、my-pnp-hub
という名前を使用します。 ご利用の IoT ハブには、my-pnp-hub
の代わりに使用する一意の名前を選んでください。
az iot hub create --name my-pnp-hub --resource-group my-pnp-resourcegroup --sku F1 --partition-count 2
DPS インスタンスを作成します。 次のコマンドの場合、作成する DPS インスタンスの名前の例として、my-pnp-dps
という名前を使用します。 ご利用の DPS インスタンスには、my-pnp-dps
の代わりに使用する一意の名前を選んでください。
az iot dps create --name my-pnp-dps --resource-group my-pnp-resourcegroup
DPS インスタンスを IoT ハブにリンクするには、次のコマンドを使用します。 my-pnp-dps
と my-pnp-hub
は、先ほど選んだ一意の名前に置き換えます。
hubConnectionString=$(az iot hub connection-string show -n my-pnp-hub --key primary --query connectionString -o tsv)
az iot dps linked-hub create --dps-name my-pnp-dps --resource-group my-pnp-resourcegroup --location centralus --connection-string $hubConnectionString
設定を取得する
一部のクイックスタートとチュートリアルで、IoT ハブに接続文字列を使用します。 Azure IoT エクスプローラー ツールを設定するときにも、接続文字列が必要です。 接続文字列を取得し、ここでメモしておきます。 my-pnp-hub
は、IoT ハブ用に選んだ一意の名前に置き換えます。
az iot hub connection-string show -n my-pnp-hub --key primary --query connectionString
ほとんどのクイックスタートとチュートリアルで、DPS 構成の "ID スコープ" を使用します。 ID スコープを取得し、ここでメモしておきます。 my-pnp-dps
は、DPS インスタンス用に選んだ一意の名前に置き換えます。
az iot dps show --name my-pnp-dps --query properties.idScope
すべてのクイックスタートとチュートリアルで、DPS デバイス登録を使用します。 次のコマンドを使用して、DPS インスタンスに "個々のデバイス登録" の my-pnp-device
を作成します。 my-pnp-dps
は、DPS インスタンス用に選んだ一意の名前に置き換えます。 クイックスタートとチュートリアルで使用するために、登録 ID とプライマリ キーの値をメモしておきます。
az iot dps enrollment create --attestation-type symmetrickey --dps-name my-pnp-dps --resource-group my-pnp-resourcegroup --enrollment-id my-pnp-device --device-id my-pnp-device --query '{registrationID:registrationId,primaryKey:attestation.symmetricKey.primaryKey}'
環境変数を作成する
5 つの環境変数を作成し、Device Provisioning Service (DPS) を使用して IoT ハブに接続するようにクイックスタートとチュートリアルのサンプルを構成します。
- IOTHUB_DEVICE_SECURITY_TYPE: 値
DPS
。 - IOTHUB_DEVICE_DPS_ID_SCOPE: 先ほどメモした DPS ID スコープ。
- IOTHUB_DEVICE_DPS_DEVICE_ID: 値
my-pnp-device
。 - IOTHUB_DEVICE_DPS_DEVICE_KEY: 先ほどメモした登録プライマリ キー。
- IOTHUB_DEVICE_DPS_ENDPOINT: 値
global.azure-devices-provisioning.net
サービス サンプルには、接続先のハブとデバイスを特定するための次の環境変数が必要です。
- IOTHUB_CONNECTION_STRING: 先ほどメモした IoT ハブ接続文字列。
- IOTHUB_DEVICE_ID:
my-pnp-device
。
たとえば、Linux の Bash シェルでは次のようになります。
export IOTHUB_DEVICE_SECURITY_TYPE="DPS"
export IOTHUB_DEVICE_DPS_ID_SCOPE="<Your ID scope>"
export IOTHUB_DEVICE_DPS_DEVICE_ID="my-pnp-device"
export IOTHUB_DEVICE_DPS_DEVICE_KEY="<Your enrolment primary key>"
export IOTHUB_DEVICE_DPS_ENDPOINT="global.azure-devices-provisioning.net"
export IOTHUB_CONNECTION_STRING="<Your IoT hub connection string>"
export IOTHUB_DEVICE_ID="my-pnp-device"
たとえば、Windows のコマンド ラインでは次のようになります。
set IOTHUB_DEVICE_SECURITY_TYPE=DPS
set IOTHUB_DEVICE_DPS_ID_SCOPE=<Your ID scope>
set IOTHUB_DEVICE_DPS_DEVICE_ID=my-pnp-device
set IOTHUB_DEVICE_DPS_DEVICE_KEY=<Your enrolment primary key>
set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
set IOTHUB_CONNECTION_STRING=<Your IoT hub connection string>
set IOTHUB_DEVICE_ID=my-pnp-device
モデル ファイルをダウンロードする
クイックスタートとチュートリアルで、温度コントローラーおよびサーモスタット デバイスにサンプル モデル ファイルを使用します。 サンプル モデル ファイルをダウンロードするには、次のようにします。
ローカル コンピューターに "モデル" という名前のフォルダーを作成します。
TemperatureController.json を右クリックして、JSON ファイルを "モデル" フォルダーに保存します。
Thermostat.json を右クリックして、JSON ファイルを "モデル" フォルダーに保存します。
Azure IoT Explorer をインストールする
クイックスタートとチュートリアルで Azure IoT エクスプローラー ツールを使用します。 Azure IoT エクスプローラーのリリース情報に移動し、最新のリリースのアセットの一覧を展開します。 ご利用のオペレーティング システム用の最新バージョンのアプリケーションをダウンロードしてインストールします。
ツールを初めて実行するときは、IoT ハブの接続文字列を入力するように求められます。 先ほどメモした接続文字列を使用します。
先ほどダウンロードしたモデル ファイルを使用するようにツールを構成します。 ツールのホーム ページで、[IoT プラグ アンド プレイの設定] を選択し、[+ 追加] > [ローカル フォルダー] の順に選択します。 先ほど作成した models フォルダーを選択します。 その後、 [保存] を選択して設定を保存します。
詳細については、「Azure IoT エクスプローラーをインストールして使用する」を参照してください。
リソースをクリーンアップする
すべての IoT プラグ アンド プレイのクイックスタートとチュートリアルで、IoT ハブと DPS インスタンスを使用することができます。そのため、この記事の手順を行う必要があるのは 1 回だけです。 完了したら、次のコマンドを使用してサブスクリプションからそれらを削除できます。
az group delete --name my-pnp-resourcegroup
次の手順
環境を設定したので、次のようなクイックスタートまたはチュートリアルのいずれかを試すことができます。