チュートリアル:デバイス機能モデルを使用して IoT プラグ アンド プレイ (プレビュー) デバイスを作成し、IoT Central アプリケーションに接続するTutorial: Use a device capability model to create an IoT Plug and Play (preview) device and connect it to your IoT Central application

"デバイス機能モデル" (DCM) には、IoT プラグ アンド プレイ (プレビュー) デバイスの機能が記述されています。A device capability model (DCM) describes the capabilities of an IoT Plug and Play (preview) device. IoT Central では、デバイスが初めて接続されるときに、DCM の使用によりデバイスのテンプレートとデバイス用の視覚化を作成することができます。IoT Central can use a DCM to create a device template and visualizations for a device when the device connects for the first time.

IoT プラグ アンド プレイのサポートはプレビュー段階であり、一部のリージョンでのみサポートされています。Support for IoT Plug and Play is in preview and is only supported only in selected regions.

このチュートリアルでは、以下の内容を学習します。In this tutorial, you learn how to:

  • Visual Studio Code を使用して、DCM を使用する IoT プラグ アンド プレイ (プレビュー) デバイスを作成する。Use Visual Studio Code to create an IoT Plug and Play (preview) device using a DCM.
  • デバイス コードを Windows で実行して、ご利用の IoT Central アプリケーションに接続することを確認する。Run the device code in Windows and see it connect to your IoT Central application.
  • デバイスが送信するシミュレートされたテレメトリを表示する。View the simulated telemetry the device sends.

前提条件Prerequisites

[カスタム アプリ] > [カスタム アプリケーション] テンプレートを使用して IoT Central アプリケーションを作成するには、「Azure IoT Central アプリケーションの作成」クイックスタートを完了します。Complete the Create an Azure IoT Central application quickstart to create an IoT Central application using the Custom app > Custom application template.

このチュートリアルを完了するには、ご利用のローカル コンピューター上に次のソフトウェアをインストールする必要があります。To complete this tutorial, you need to install the following software on your local machine:

Azure IoT Tools のインストールInstall Azure IoT Tools

VS Code で Azure IoT Tools 拡張機能パックをインストールするには、次の手順に従います。Use the following steps to install the Azure IoT Tools extension pack in VS Code:

  1. VS Code で、 [拡張機能] タブを選択します。In VS Code, select the Extensions tab.
  2. Azure IoT Tools を検索します。Search for Azure IoT Tools.
  3. [インストール] を選択します。Select Install.

開発環境の準備Prepare the development environment

このチュートリアルでは、Vcpkg ライブラリ マネージャーを使用して、開発環境に Azure IoT C デバイス SDK をインストールします。In this tutorial, you use the Vcpkg library manager to install the Azure IoT C device SDK in your development environment.

  1. コマンド プロンプトを開きます。Open a command prompt. 次のコマンドを実行して Vcpkg をインストールします。Execute the following command to install Vcpkg:

    git clone https://github.com/Microsoft/vcpkg.git
    cd vcpkg
    
    .\bootstrap-vcpkg.bat
    

    次に、ユーザー全体の統合をフックするために、次のコマンドを実行します。Then, to hook up user-wide integration, run the following command. このコマンドを初めて実行するときは、管理者権限が必要です。The first time you run this command it requires administrative rights:

    .\vcpkg.exe integrate install
    
  2. Azure IoT C device SDK の Vcpkg をインストールします。Install Azure IoT C device SDK Vcpkg:

    .\vcpkg.exe install azure-iot-sdk-c[public-preview,use_prov_client]
    

デバイス キーの生成Generate device key

デバイスを IoT Central アプリケーションに接続するためには、デバイス キーが必要です。To connect a device to an IoT Central application, you need a device key. デバイス キーを生成するには:To generate a device key:

  1. Azure IoT Central アプリケーションの作成」クイックスタートの [カスタム アプリケーション] テンプレートを使用して作成した IoT Central アプリケーションにサインインします。Sign in to the IoT Central application you created using the Custom application template in the Create an Azure IoT Central application quickstart.

  2. [管理] ページに移動し、 [デバイス接続] を選択します。Go to the Administration page and select Device Connection.

  3. [キーの表示] を選択したときに表示される ID スコーププライマリ キーをメモしておきます。Make a note of the ID Scope and the Primary Key you see when you select View Keys. これらの値を、このチュートリアルで後ほど使用します。You use these values later in this tutorial.

    デバイスの接続

  4. コマンド プロンプトを開き、次のコマンドを実行してデバイス キーを生成します。Open a command prompt and run the following command to generate a device key:

    dps-keygen -di:mxchip-001 -mk:{Primary Key from previous step}
    

    生成された デバイス キー をメモしておきます。この値は、このチュートリアルの後の手順で使用します。Make a note of the generated device key, you use this value in a later step in this tutorial.

ご利用のモデルのダウンロードDownload your model

このチュートリアルでは、MxChip IoT DevKit デバイス用のパブリック DCM を使用します。In this tutorial, you use the public DCM for an MxChip IoT DevKit device. コードを実行するために実際の DevKit デバイスは必要ありません。このチュートリアルでは、Windows で実行するコードをコンパイルします。You don't need an actual DevKit device to run the code, in this tutorial you compile the code to run on Windows.

  1. central_app という名前のフォルダーを作成し、VS Code で開きます。Create a folder called central_app and open it in VS Code.

  2. Ctrl + Shift + P キーを押してコマンド パレットを開き、「IoT プラグ アンド プレイ」と入力して、 [Open Model Repository](モデル リポジトリを開く) を選択します。Use Ctrl+Shift+P to open the command palette, enter IoT Plug and Play, and select Open Model Repository. [Public repository](パブリック リポジトリ) を選択します。Select Public repository. VS Code に、パブリック モデル リポジトリ内の DCM の一覧が表示されます。VS Code shows a list of the DCMs in the public model repository.

  3. ID が urn:mxchip:mxchip_iot_devkit:1MXChip IoT DevKit DCM を選択します。Select the MXChip IoT DevKit DCM with ID urn:mxchip:mxchip_iot_devkit:1. 次に、 [ダウンロード] を選択します。Then select Download. これで、central_app フォルダーにその DCM のコピーが作成されました。You now have a copy of the DCM in the central_app folder.

モデル リポジトリと DCM

注意

IoT Central で作業するには、デバイス機能モデルで、すべてのインターフェイスが同じファイル内にインラインで定義されている必要があります。To work with IoT Central, the device capability model must have all the interfaces defined inline in the same file.

C コード スタブを生成するGenerate the C code stub

MXChip IoT DevKit DCM とそれに関連するインターフェイスの用意ができたので、モデルを実装するデバイス コードを生成できます。Now you have the MXChip IoT DevKit DCM and its associated interfaces, you can generate the device code that implements the model. VS Code で C コード スタブを生成するには:To generate the C code stub in VS code:

  1. DCM ファイルが開いているフォルダーで、Ctrl + Shift + P キーを押してコマンド パレットを開き、「IoT プラグ アンド プレイ」と入力して、 [Generate Device Code Stub](デバイス コード スタブを生成する) を選択します。With the folder with DCM files open, use Ctrl+Shift+P to open the command palette, enter IoT Plug and Play, and select Generate Device Code Stub.

    注意

    IoT プラグ アンド プレイ コード ジェネレーター ユーティリティを初めて使用するときは、ダウンロードに数秒かかります。The first time you use the IoT Plug and Play Code Generator utility, it takes a few seconds to download.

  2. ダウンロードした MXChip IoT DevKit DCM ファイルを選択します。Select the MXChip IoT DevKit DCM file you just downloaded.

  3. プロジェクト名「devkit_device」を入力します。Enter the project name devkit_device.

  4. 使用する言語として、 [ANSI C] を選択します。Choose ANSI C as your language.

  5. 接続方法として、 [Via DPS (Device Provisioning Service) symmetric key](DPS (デバイス プロビジョニング サービス) の対称キーを使用する) を選択します。Choose Via DPS (Device Provisioning Service) symmetric key as the connection method.

  6. プロジェクト タイプとして [CMake Project on Windows](Windows 上での CMake プロジェクト) を選択します。Choose CMake Project on Windows as your project type. [MXChip IoT DevKit Project](MXChip IoT DevKit プロジェクト) を選択しないでください。このオプションは、実際の DevKit デバイスがある場合に使用するものです。Don't choose MXChip IoT DevKit Project, this option is for when you have a real DevKit device.

  7. SDK を含める方法として、 [Via Vcpkg](Vcpkg 経由) を選択します。Choose Via Vcpkg as the way to include the SDK.

  8. VS Code では新しいウィンドウが開き、devkit_device フォルダーに生成されたデバイス コード スタブ ファイルが表示されます。VS Code opens a new window with generated device code stub files in the devkit_device folder.

生成されたデバイス コード

コードのビルドBuild the code

デバイス SDK を使用して、生成されたデバイス コード スタブをビルドします。You use the device SDK to build the generated device code stub. ビルドしたアプリケーションにより、MXChip IoT DevKit デバイスがシミュレートされ、ご利用の IoT Central アプリケーションに接続されます。The application you build simulates an MXChip IoT DevKit device and connects to your IoT Central application. アプリケーションでは、テレメトリとプロパティが送信され、コマンドが受け取られます。The application sends telemetry and properties, and receives commands.

  1. コマンド プロンプトで、devkit_device フォルダーに cmake サブディレクトリを作成し、そのフォルダーに移動します。At a command prompt, create a cmake subdirectory in the devkit_device folder, and navigate to that folder:

    mkdir cmake
    cd cmake
    
  2. 次のコマンドを実行して、生成されたコード スタブをビルドします。Run the following commands to build the generated code stub. <directory of your Vcpkg repo> プレースホルダーを、Vcpkg リポジトリのコピーへのパスに置き換えます。Replace the <directory of your Vcpkg repo> placeholder with the path to your copy of the Vcpkg repository:

    cmake .. -G "Visual Studio 16 2019" -A Win32 -Duse_prov_client=ON -Dhsm_type_symm_key:BOOL=ON -DCMAKE_TOOLCHAIN_FILE="<directory of your Vcpkg repo>\scripts\buildsystems\vcpkg.cmake"
    
    cmake --build . -- /p:Configuration=Release
    

    Visual Studio 2017 または2015 を使用している場合、使用しているビルド ツールに基づいて CMake ジェネレーターを指定する必要があります。If you're using Visual Studio 2017 or 2015, you need to specify the CMake generator based on the build tools you're using:

    # Either
    cmake .. -G "Visual Studio 15 2017" -Duse_prov_client=ON -Dhsm_type_symm_key:BOOL=ON -DCMAKE_TOOLCHAIN_FILE="<directory of your Vcpkg repo>\scripts\buildsystems\vcpkg.cmake"
    # or
    cmake .. -G "Visual Studio 14 2015" -Duse_prov_client=ON -Dhsm_type_symm_key:BOOL=ON -DCMAKE_TOOLCHAIN_FILE="<directory of your Vcpkg repo>\scripts\buildsystems\vcpkg.cmake"
    
  3. ビルドが正常に完了したら、同じコマンド プロンプトでご利用のアプリケーションを実行します。After the build completes successfully, at the same command prompt run your application. <scopeid><devicekey> は、前に書き留めた値に置き換えてください。Replace <scopeid> and <devicekey> with the values you noted previously:

    .\Release\devkit_device.exe mxchip-001 <scopeid> <devicekey>
    
  4. そのデバイス アプリケーションによって IoT Hub へのデータの送信が開始されます。The device application starts sending data to IoT Hub. 前のコマンドを初めて実行したときに Error registering device for DPS エラーが表示されることがあります。Sometimes you see the error Error registering device for DPS the first time you run the previous command. このエラーが表示された場合は、コマンドを再試行してください。If you see this error, retry the command.

デバイスの表示View the device

デバイス コードが IoT Central に接続された後、送信されたプロパティとテレメトリを表示できます。After your device code connects to your IoT Central, you can view the properties and telemetry it sends:

  1. ご利用の IoT Central アプリケーションで、 [デバイス] ページに移動し、 [mxchip-01] デバイスを選択します。In your IoT Central application, go to the Devices page and select the mxchip-01 device. このデバイスは、デバイス コードが接続されたときに自動的に追加されたものです。This device was automatically added when the device code connected:

    [概要] ページ

    数分後に、デバイスから送信されているテレメトリのグラフがこのページに表示されます。After a couple of minutes, this page shows charts of the telemetry the device is sending.

  2. [バージョン情報] ページを選択して、デバイスから送信されたプロパティ値を確認します。Select the About page to see the property values the device sent.

  3. [コマンド] ページを選択して、デバイス上でコマンドを呼び出します。Select the Commands page to call commands on the device. デバイス コードを実行しているコマンド プロンプトで、デバイスが応答していることを確認できます。You can see the device responding at the command prompt that's running the device code.

  4. [デバイス テンプレート] ページに移動して、IoT Central によりパブリック リポジトリ内の DCM から作成されたテンプレートを確認します。Go to the Device templates page to see the template that IoT Central created from the DCM in the public repository:

    [デバイス テンプレート] ページ

次のステップNext steps

このチュートリアルでは、パブリック モデル リポジトリ内の DCM から生成された IoT プラグ アンド プレイ (プレビュー) デバイスを接続する方法を学習しました。In this tutorial, you learned how to connect an IoT Plug and Play (preview) device that was generated from a DCM in the public model repository.

DCM と独自のモデルの作成方法の詳細については、攻略ガイドに進んでください。To learn more about DCMs and how to create your own models, continue to the how-to guide: