クイックスタート: デバイスから Azure IoT Central にテレメトリを送信する

適用対象: デバイス アプリケーション開発者

コードを参照

このクイックスタートでは、基本的な Azure IoT アプリケーション開発のワークフローについて説明します。 最初に、デバイスをホストするための Azure IoT Central アプリケーションを作成します。 次に Azure IoT device SDK サンプルを使用して、温度コントローラーを作成し、それを IoT Central に安全に接続し、テレメトリを送信します。 温度コントローラーのサンプル アプリケーションはローカル コンピューター上で動作し、センサー データをシミュレートして IoT Central に送信します。

ヒント

開発者には、デバイスを Azure IoT に接続する方法にいくつかの選択肢があります。 接続オプションの詳細については、「Azure IoT デバイスとアプリケーション開発とは」を参照してください。

前提条件

このクイックスタートは、Windows、Linux、Raspberry Pi で実行できます。 これは、次の OS およびデバイス バージョンでテストされています。

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+ で実行されている Raspberry Pi OS (Raspbian) バージョン 10
  • 有効な Azure サブスクリプション Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

お使いのオペレーティング システムの残りの前提条件をインストールします。

Linux または Raspberry Pi OS

このクイックスタートを Linux および Raspberry Pi OS で完了するには、次のソフトウェアをインストールします。

apt-get コマンドを使用して、GCCGitcmake、および必要な依存関係をインストールします。

sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev

cmake のバージョンが 2.8.12 より大きく、GCC のバージョンが 4.4.7 より大きいことを確認します。

cmake --version
gcc --version

Windows

このクイックスタートを Windows で完了するには、Visual Studio 2019 をインストールし、C および C++ 開発に必要なコンポーネントを追加します。

  1. 新しいユーザーの場合は、Visual Studio (Community、Professional、または Enterprise) 2019 をインストールします。 インストールするエディションをダウンロードし、インストーラーを起動します。

    Note

    既存の Visual Studio 2019 ユーザーの場合は、Windows の [スタート] を選択し、「Visual Studio インストーラー」と入力して、インストーラーを開始します。

  2. インストーラーの [ワークロード] タブで、 [Desktop Development with C++](C++ によるデスクトップ開発) ワークロードを選択します。
  3. インストーラーの [個別のコンポーネント] タブで、 [Git for Windows] を選択します。
  4. インストールを実行します。

アプリケーションの作成

デバイスを Azure IoT に接続する方法は複数あります。 このセクションでは、Azure IoT Central を使用してデバイスを接続する方法について説明します。 IoT Central は、IoT ソリューションにおけるデバイス管理のコストと複雑さを軽減する IoT アプリケーション プラットフォームです。

新しいアプリケーションを作成するには:

  1. ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。

  2. [ビルド] に移動し、 [カスタム アプリ] を選択します。 IoT Central のスタート ページ

  3. [アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。

  4. [URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。

  5. [アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。

  6. [価格プラン] オプションを選択します。

    • 標準の価格プランのいずれかを選択します。 [ディレクトリ][Azure サブスクリプション][場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
      • "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
      • Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
      • [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。

    IoT Central の [新しいアプリケーション] ダイアログ

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

    IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。 IoT Central の [新しいアプリケーション] ダッシュボード

デバイスを追加する

このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。

新しいデバイスを作成するには:

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

  2. [Device template](デバイス テンプレート)[Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート)[No](いいえ) に設定します。

  3. わかりやすいデバイス名デバイス ID を選択します。 必要に応じて、生成された値を使用します。 IoT Central の新しいデバイス ダイアログ

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

    作成したデバイスが [すべてのデバイス] 一覧に表示されます。 IoT Central の [すべてのデバイス] 一覧

新しいデバイスの接続の詳細を取得するには:

  1. [すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。

  2. 上部のメニューで、[接続] を選択します。

    [デバイス接続] ダイアログに、接続の詳細が表示されます。IoT Central デバイスの接続の詳細

  3. [デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。

    • ID scope
    • Device ID
    • Primary key

デバイス サンプルを実行する

このセクションでは、ローカル環境を構成し、Azure IoT C device SDK をインストールして、温度コントローラーを作成するサンプルを実行します。

環境を構成する

  1. コンソールを開き、Azure IoT C device SDK をインストールし、コード サンプルを実行します。 Windows の場合は、 [スタート] を選択し、「VS 2019 用開発者コマンド プロンプト」と入力して、コンソールを開きます。 Linux および Raspberry Pi OS の場合は、Bash コマンドのターミナルを開きます。

  2. コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。 IOTHUB_DEVICE_DPS_ID_SCOPEIOTHUB_DEVICE_DPS_DEVICE_KEYIOTHUB_DEVICE_DPS_DEVICE_ID には、前に保存したデバイス接続の値を使用してください。

    CMD

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    Note

    Windows CMD では、変数の値を囲む引用符は入力しません。

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

SDK とサンプルをインストールする

  1. サンプル リポジトリをクローンするローカル フォルダーに移動します。

  2. Azure IoT C device SDK を、お使いのローカル コンピューターにコピーします。

    git clone https://github.com/Azure/azure-iot-sdk-c.git
    
  3. SDK のルート フォルダーに移動し、次のコマンドを実行して依存関係を更新します。

    cd azure-iot-sdk-c
    git submodule update --init
    

    この操作は、数分かかります。

  4. SDK とサンプルをビルドするには、次のコマンドを実行します。

    cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF
    cmake --build cmake
    

コードの実行

  1. コンソールに適したコマンドを使用して、サンプル コードを実行します。

    CMD

    cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exe
    

    Bash

    cmake/iothub_client/samples/pnp/pnp_temperature_controller/pnp_temperature_controller
    

    デバイスは、IoT Central アプリケーションに接続した後、アプリケーション内で作成されたデバイス インスタンスに接続して、テレメトリの送信を開始します。 接続の詳細とテレメトリの出力がコンソールに表示されます。

    Info: Initiating DPS client to retrieve IoT Hub connection information
    -> 17:03:08 CONNECT | VER: 4 | KEEPALIVE: 0 | FLAGS: 194 | USERNAME: xxxxxxxxxxxxxxx/registrations/my-sdk-device/api-version=2019-03-31&ClientVersion=1.6.0 | PWD: XXXX | CLEAN: 1
    <- 17:03:09 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x0
    -> 17:03:10 SUBSCRIBE | PACKET_ID: 1 | TOPIC_NAME: $dps/registrations/res/# | QOS: 1
    <- 17:03:11 SUBACK | PACKET_ID: 1 | RETURN_CODE: 1
    Info: Provisioning callback indicates success.  iothubUri=iotc-xxxxxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx.azure-devices.net, deviceId=my-sdk-device
    -> 17:03:27 DISCONNECT
    Info: DPS successfully registered.  Continuing on to creation of IoTHub device client handle.
    Info: Successfully created device client.  Hit Control-C to exit program
    
    Info: Sending serialNumber property to IoTHub
    Info: Sending device information property to IoTHub.  propertyName=swVersion, propertyValue="1.0.0.0"
    Info: Sending device information property to IoTHub.  propertyName=manufacturer, propertyValue="Sample-Manufacturer"
    Info: Sending device information property to IoTHub.  propertyName=model, propertyValue="sample-Model-123"
    Info: Sending device information property to IoTHub.  propertyName=osName, propertyValue="sample-OperatingSystem-name"
    Info: Sending device information property to IoTHub.  propertyName=processorArchitecture, propertyValue="Contoso-Arch-64bit"
    Info: Sending device information property to IoTHub.  propertyName=processorManufacturer, propertyValue="Processor Manufacturer(TM)"
    Info: Sending device information property to IoTHub.  propertyName=totalStorage, propertyValue=10000
    Info: Sending device information property to IoTHub.  propertyName=totalMemory, propertyValue=200
    Info: Sending maximumTemperatureSinceLastReboot property to IoTHub for component=thermostat1
    Info: Sending maximumTemperatureSinceLastReboot property to IoTHub for component=thermostat2
    

コードを参照

このクイックスタートでは、基本的な Azure IoT アプリケーション開発のワークフローについて説明します。 最初に、デバイスをホストするための Azure IoT Central アプリケーションを作成します。 次に Azure IoT device SDK サンプルを使用して、温度コントローラーを作成し、それを IoT Central に安全に接続し、テレメトリを送信します。 温度コントローラーのサンプル アプリケーションはローカル コンピューター上で動作し、センサー データをシミュレートして IoT Central に送信します。

ヒント

開発者には、デバイスを Azure IoT に接続する方法にいくつかの選択肢があります。 接続オプションの詳細については、「Azure IoT デバイスとアプリケーション開発とは」を参照してください。

前提条件

このクイックスタートは、Windows、Linux、Raspberry Pi で実行できます。 これは、次の OS およびデバイス バージョンでテストされています。

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+ で実行されている Raspberry Pi OS (Raspbian) バージョン 10
  • 有効な Azure サブスクリプション Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

次に示す前提条件を開発マシンにインストールします。

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

  • Git.

  • .NET Core SDK 3.1。 ランタイムだけではなく、.NET SDK も必ずインストールしてください。 マシンにインストールされている .NET SDK とランタイムのバージョンを確認するには、dotnet --info を実行します。

    • Windows と Linux (Raspberry Pi を除く) の場合は、手順に従って、お使いのプラットフォームに .NET Core SDK 3.1 をインストールします。
    • Raspberry Pi の場合は、手順に従って、SDK を手動でインストールする必要があります。 これは、Debian では、.NET SDK のパッケージ マネージャーのインストールが x64 アーキテクチャでのみサポートされているためです。

アプリケーションの作成

デバイスを Azure IoT に接続する方法は複数あります。 このセクションでは、Azure IoT Central を使用してデバイスを接続する方法について説明します。 IoT Central は、IoT ソリューションにおけるデバイス管理のコストと複雑さを軽減する IoT アプリケーション プラットフォームです。

新しいアプリケーションを作成するには:

  1. ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。

  2. [ビルド] に移動し、 [カスタム アプリ] を選択します。 IoT Central のスタート ページ

  3. [アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。

  4. [URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。

  5. [アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。

  6. [価格プラン] オプションを選択します。

    • 標準の価格プランのいずれかを選択します。 [ディレクトリ][Azure サブスクリプション][場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
      • "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
      • Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
      • [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。

    IoT Central の [新しいアプリケーション] ダイアログ

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

    IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。 IoT Central の [新しいアプリケーション] ダッシュボード

デバイスを追加する

このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。

新しいデバイスを作成するには:

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

  2. [Device template](デバイス テンプレート)[Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート)[No](いいえ) に設定します。

  3. わかりやすいデバイス名デバイス ID を選択します。 必要に応じて、生成された値を使用します。 IoT Central の新しいデバイス ダイアログ

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

    作成したデバイスが [すべてのデバイス] 一覧に表示されます。 IoT Central の [すべてのデバイス] 一覧

新しいデバイスの接続の詳細を取得するには:

  1. [すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。

  2. 上部のメニューで、[接続] を選択します。

    [デバイス接続] ダイアログに、接続の詳細が表示されます。IoT Central デバイスの接続の詳細

  3. [デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。

    • ID scope
    • Device ID
    • Primary key

デバイス サンプルを実行する

このセクションでは、ローカル環境を構成し、Azure IoT C# SDK をインストールして、温度コントローラーを作成するサンプルを実行します。

環境を構成する

  1. Windows CMD、PowerShell、または Bash などのコンソールを開きます。

  2. コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。 IOTHUB_DEVICE_DPS_ID_SCOPEIOTHUB_DEVICE_DPS_DEVICE_KEYIOTHUB_DEVICE_DPS_DEVICE_ID には、前に保存したデバイス接続の値を使用してください。

    CMD (Windows)

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    Note

    Windows CMD では、変数の値を囲む引用符は入力しません。

    PowerShell

    $env:IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    $env:IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    $env:IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net'
    

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

SDK とサンプルをインストールする

  1. C# (.NET) 用 Microsoft Azure IoT SDK をローカル コンピューターにクローンします。

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  2. sample ディレクトリに移動します。

    Windows

    cd azure-iot-sdk-csharp\iothub\device\samples\solutions\PnpDeviceSamples\TemperatureController
    

    Linux または Raspberry Pi OS

    cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/TemperatureController
    
  3. Azure IoT C# SDK および必要な依存関係をインストールします。

    dotnet restore
    

    このコマンドを実行すると、TemperatureController.csproj ファイルに指定されている適切な依存関係がインストールされます。

コードの実行

  1. コンソールで、コード サンプルを実行します。 このサンプルでは、サーモスタット センサーを備えた温度コントローラーを作成します。

    dotnet run
    

    デバイスを IoT Central アプリケーションに接続すると、そのアプリケーションで作成したデバイス インスタンスにデバイスが接続され、テレメトリの送信を開始します。 接続の詳細とテレメトリの出力がコンソールに表示されます。

    [10/09/2021 00:29:18]info: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Press Control+C to quit the sample.
    [10/09/2021 00:29:18]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Set up the device client.
    [10/09/2021 00:29:18]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Initializing via DPS
    [10/09/2021 00:29:38]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Set handler for 'reboot' command.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Connection status change registered - status=Connected, reason=Connection_Ok.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Set handler for "getMaxMinReport" command.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Set handler to receive 'targetTemperature' updates.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Property: Update - component = 'deviceInformation', properties update is complete.
    [10/09/2021 00:29:39]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Property: Update - { "serialNumber": "SR-123456" } is complete.
    [10/09/2021 00:29:40]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Telemetry: Sent - component="thermostat1", { "temperature": 23.7 } in °C.
    [10/09/2021 00:29:40]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Property: Update - component="thermostat1", { "maxTempSinceLastReboot": 23.7 } in °C is complete.
    [10/09/2021 00:29:40]dbug: Microsoft.Azure.Devices.Client.Samples.TemperatureControllerSample[0]
          Telemetry: Sent - component="thermostat2", { "temperature": 25.8 } in °C.
    

コードを参照

このクイックスタートでは、基本的な Azure IoT アプリケーション開発のワークフローについて説明します。 最初に、デバイスをホストするための Azure IoT Central アプリケーションを作成します。 次に Azure IoT device SDK サンプルを使用して、温度コントローラーを作成し、それを IoT Central に安全に接続し、テレメトリを送信します。 温度コントローラーのサンプル アプリケーションはローカル コンピューター上で動作し、センサー データをシミュレートして IoT Central に送信します。

ヒント

開発者には、デバイスを Azure IoT に接続する方法にいくつかの選択肢があります。 接続オプションの詳細については、「Azure IoT デバイスとアプリケーション開発とは」を参照してください。

前提条件

このクイックスタートは、Windows、Linux、Raspberry Pi で実行できます。 これは、次の OS およびデバイス バージョンでテストされています。

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+ で実行されている Raspberry Pi OS (Raspbian) バージョン 10
  • 有効な Azure サブスクリプション Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

次に示す前提条件を開発マシンにインストールします。

お使いのオペレーティング システムの残りの前提条件をインストールします。

Windows

Windows でこのクイックスタートを完了するには、次のソフトウェアをインストールします。

  • Java SE Development Kit 8 以降。 複数のプラットフォーム用の Java 8 (LTS) JDK は、「OpenJDK の Zulu ビルドのダウンロード」からダウンロードできます。 インストーラーで、 [Add to Path](パスに追加) オプションを選択します。

  • Apache Maven 3。 ダウンロードをローカル フォルダーに抽出した後、Maven /bin フォルダーへの完全なパスを Windows PATH 環境変数に追加します。

Linux または Raspberry Pi OS

このクイックスタートを Linux または Raspberry Pi OS で完了するには、次のソフトウェアをインストールします。

Note

このセクションの手順は、Linux Ubuntu/Debian ディストリビューションに基づいています。 (Raspberry Pi OS は Debian に基づいています)。別の Linux ディストリビューションを使用している場合は、それに応じて手順を変更する必要があります。

  • OpenJDK (Open Java Development Kit) 8 以降。 java -version コマンドを使用して、システムにインストールされている Java のバージョンを確認できます。 Java Runtime (JRE) だけでなく、JDK がインストールされていることを確認します。

    1. システムの OpenJDK をインストールするには、次のコマンドを入力します。

      システムの OpenJDK の既定のバージョン (記事の執筆時点では、Ubuntu 20.04 および Raspberry Pi OS 10 用 OpenJDK 11) をインストールする場合は、次のようにします。

      sudo apt update
      sudo apt install default-jdk
      

      または、インストールする JDK のバージョンを指定することもできます。 次に例を示します。

      sudo apt update
      sudo apt install openjdk-8-jdk
      
    2. システムに複数のバージョンの Java がインストールされている場合は、次のコマンドを使用して、Java と Java コンパイラの既定 (自動) バージョンを構成できます。

      update-java-alternatives --list          #list the Java versions installed
      sudo update-alternatives --config java   #set the default Java version
      sudo  update-alternatives --config javac #set the default Java compiler version
      
    3. JDK インストールのパスを指すように JAVA_HOME 環境変数を設定する必要があります。 (これは通常、 /usr/lib/jvm ディレクトリ内のバージョン管理されたサブディレクトリです)。

      export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
      

      重要

      このコマンドは、 現在のシェル環境で JAVA_HOME 変数を設定します。 新しいシェルを開いたときにすぐに使用できるように、~/.bashrc または /etc/profile ファイルにコマンドを追加することをお勧めします。

    4. Java JDK (および JRE) のバージョンがインストールされていること、Java コンパイラのバージョンが JDK のバージョンと一致していること、および JAVA_HOME 環境変数が適切に設定されていることを確認します。

      java -version
      javac -version
      echo $JAVA_HOME
      
  • Apache Maven 3。 mvn --version コマンドを使用して、システムにインストールされている Maven のバージョンを確認できます。

    1. 次のコマンドを入力して、Maven をインストールします。

      sudo apt-get update
      sudo apt-get install maven
      
    2. 次のコマンドを実行して、インストールを確認します。

      mvn --version
      

アプリケーションの作成

デバイスを Azure IoT に接続する方法は複数あります。 このセクションでは、Azure IoT Central を使用してデバイスを接続する方法について説明します。 IoT Central は、IoT ソリューションにおけるデバイス管理のコストと複雑さを軽減する IoT アプリケーション プラットフォームです。

新しいアプリケーションを作成するには:

  1. ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。

  2. [ビルド] に移動し、 [カスタム アプリ] を選択します。 IoT Central のスタート ページ

  3. [アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。

  4. [URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。

  5. [アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。

  6. [価格プラン] オプションを選択します。

    • 標準の価格プランのいずれかを選択します。 [ディレクトリ][Azure サブスクリプション][場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
      • "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
      • Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
      • [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。

    IoT Central の [新しいアプリケーション] ダイアログ

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

    IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。 IoT Central の [新しいアプリケーション] ダッシュボード

デバイスを追加する

このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。

新しいデバイスを作成するには:

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

  2. [Device template](デバイス テンプレート)[Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート)[No](いいえ) に設定します。

  3. わかりやすいデバイス名デバイス ID を選択します。 必要に応じて、生成された値を使用します。 IoT Central の新しいデバイス ダイアログ

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

    作成したデバイスが [すべてのデバイス] 一覧に表示されます。 IoT Central の [すべてのデバイス] 一覧

新しいデバイスの接続の詳細を取得するには:

  1. [すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。

  2. 上部のメニューで、[接続] を選択します。

    [デバイス接続] ダイアログに、接続の詳細が表示されます。IoT Central デバイスの接続の詳細

  3. [デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。

    • ID scope
    • Device ID
    • Primary key

デバイス サンプルを実行する

このセクションでは、ローカル環境を設定し、Azure IoT Java device SDK をインストールし、温度コントローラーを作成するサンプルを実行します。

環境を構成する

  1. Windows CMD または Bash などのコンソールを開きます。

    Linux および Raspberry Pi OS

    JAVA_HOME (echo $JAVA_HOME) 環境変数が設定されていることを確認します。 SDK とサンプルを正常にビルドするには、この環境変数を設定する必要があります。 JAVA_HOME の設定の詳細については、Linux または Raspberry Pi の前提条件に関するセクションを参照してください。

  2. コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。 IOTHUB_DEVICE_DPS_ID_SCOPEIOTHUB_DEVICE_DPS_DEVICE_KEYIOTHUB_DEVICE_DPS_DEVICE_ID には、前に保存したデバイス接続の値を使用してください。

    Windows CMD

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    Note

    Windows CMD では、変数の値を囲む引用符は入力しません。

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

コードのビルドと実行

  1. Azure IoT Java device SDK を、お使いのローカル コンピューターにクローンします。

    git clone https://github.com/Azure/azure-iot-sdk-java.git
    
  2. SDK のルート フォルダーに移動し、次のコマンドを実行して、SDK をビルドし、サンプルを更新します。

    cd azure-iot-sdk-java
    mvn install -T 2C -DskipTests
    

    この操作は数分かかります。

  3. sample ディレクトリに移動します。

    Windows

    cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sample
    

    Linux または Raspberry Pi OS

    cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample
    
  4. コンソールで、SDK の次のコード サンプルを実行します。 このサンプルでは、サーモスタット センサーを備えた温度コントローラーを作成します。

    mvn exec:java -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"
    

    デバイスを IoT Central アプリケーションに接続すると、そのアプリケーションで作成したデバイス インスタンスにデバイスが接続され、テレメトリの送信を開始します。 最初のプロビジョニングの詳細が完了すると、コンソールで温度コントローラーのテレメトリの出力が開始されます。

    2021-05-13 15:39:26.411 DEBUG Mqtt:253 - Sending MQTT SUBSCRIBE packet for topic $iothub/twin/res/#
    2021-05-13 15:39:26.428 INFO  IotHubTransport:540 - Message was queued to be sent later ( Message details: Correlation Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Message Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Request Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Device Operation Type [DEVICE_OPERATION_TWIN_UPDATE_REPORTED_PROPERTIES_REQUEST] )
    2021-05-13 15:39:26.432 DEBUG TemperatureController:427 - Property: Update - component = "deviceInformation" is COMPLETED.
    2021-05-13 15:39:26.436 INFO  IotHubTransport:540 - Message was queued to be sent later ( Message details: Correlation Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Message Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] )
    2021-05-13 15:39:26.438 DEBUG TemperatureController:438 - Telemetry: Sent - {"workingSet": 1024.0KiB }
    2021-05-13 15:39:26.439 INFO  IotHubTransport:540 - Message was queued to be sent later ( Message details: Correlation Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Message Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Request Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Device Operation Type [DEVICE_OPERATION_TWIN_UPDATE_REPORTED_PROPERTIES_REQUEST] )
    2021-05-13 15:39:26.439 DEBUG TemperatureController:446 - Property: Update - {"serialNumber": SR-123456} is COMPLETED
    2021-05-13 15:39:26.447 INFO  IotHubTransport:540 - Message was queued to be sent later ( Message details: Correlation Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Message Id [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] )
    2021-05-13 15:39:26.447 DEBUG TemperatureController:465 - Telemetry: Sent - {"temperature": 44.4░C} with message Id xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
    

コードを参照

このクイックスタートでは、基本的な Azure IoT アプリケーション開発のワークフローについて説明します。 最初に、デバイスをホストするための Azure IoT Central アプリケーションを作成します。 次に Azure IoT device SDK サンプルを使用して、温度コントローラーを作成し、それを IoT Central に安全に接続し、テレメトリを送信します。 温度コントローラーのサンプル アプリケーションはローカル コンピューター上で動作し、センサー データをシミュレートして IoT Central に送信します。

ヒント

開発者には、デバイスを Azure IoT に接続する方法にいくつかの選択肢があります。 接続オプションの詳細については、「Azure IoT デバイスとアプリケーション開発とは」を参照してください。

前提条件

このクイックスタートは、Windows、Linux、Raspberry Pi で実行できます。 これは、次の OS およびデバイス バージョンでテストされています。

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+ で実行されている Raspberry Pi OS (Raspbian) バージョン 10
  • 有効な Azure サブスクリプション Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

次に示す前提条件を開発マシンにインストールします。

  • Node.js バージョン 6 以降。 バージョンを確認するには、コンソール アプリで node --version を実行します。
  • Git.

アプリケーションの作成

デバイスを Azure IoT に接続する方法は複数あります。 このセクションでは、Azure IoT Central を使用してデバイスを接続する方法について説明します。 IoT Central は、IoT ソリューションにおけるデバイス管理のコストと複雑さを軽減する IoT アプリケーション プラットフォームです。

新しいアプリケーションを作成するには:

  1. ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。

  2. [ビルド] に移動し、 [カスタム アプリ] を選択します。 IoT Central のスタート ページ

  3. [アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。

  4. [URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。

  5. [アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。

  6. [価格プラン] オプションを選択します。

    • 標準の価格プランのいずれかを選択します。 [ディレクトリ][Azure サブスクリプション][場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
      • "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
      • Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
      • [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。

    IoT Central の [新しいアプリケーション] ダイアログ

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

    IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。 IoT Central の [新しいアプリケーション] ダッシュボード

デバイスを追加する

このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。

新しいデバイスを作成するには:

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

  2. [Device template](デバイス テンプレート)[Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート)[No](いいえ) に設定します。

  3. わかりやすいデバイス名デバイス ID を選択します。 必要に応じて、生成された値を使用します。 IoT Central の新しいデバイス ダイアログ

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

    作成したデバイスが [すべてのデバイス] 一覧に表示されます。 IoT Central の [すべてのデバイス] 一覧

新しいデバイスの接続の詳細を取得するには:

  1. [すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。

  2. 上部のメニューで、[接続] を選択します。

    [デバイス接続] ダイアログに、接続の詳細が表示されます。IoT Central デバイスの接続の詳細

  3. [デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。

    • ID scope
    • Device ID
    • Primary key

デバイス サンプルを実行する

このセクションでは、ローカル環境を構成し、Azure IoT Node.js device SDK をインストールして、温度コントローラーを作成するサンプルを実行します。

環境を構成する

  1. Windows CMD、PowerShell、または Bash などのコンソールを開きます。

  2. コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。 IOTHUB_DEVICE_DPS_ID_SCOPEIOTHUB_DEVICE_DPS_DEVICE_KEYIOTHUB_DEVICE_DPS_DEVICE_ID には、前に保存したデバイス接続の値を使用してください。

    CMD (Windows)

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    Note

    Windows CMD では、変数の値を囲む引用符は入力しません。

    PowerShell

    $env:IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    $env:IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    $env:IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net'
    

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

SDK とサンプルをインストールする

  1. Azure IoT Node.js device SDK を、お使いのローカル コンピューターにコピーします。

    git clone https://github.com/Azure/azure-iot-sdk-node
    
  2. sample ディレクトリに移動します。

    Windows

    cd azure-iot-sdk-node\device\samples\javascript
    

    Linux または Raspberry Pi OS

    cd azure-iot-sdk-node/device/samples/javascript
    
  3. Azure IoT Node.js SDK および必要な依存関係をインストールします。

    npm install
    

コードの実行

  1. コンソールで、SDK の次のコード サンプルを実行します。 このサンプルでは、サーモスタット センサーを備えた温度コントローラーを作成します。

    node pnp_temperature_controller.js
    

    デバイスを IoT Central アプリケーションに接続すると、そのアプリケーションで作成したデバイス インスタンスにデバイスが接続され、テレメトリの送信を開始します。 接続の詳細とテレメトリの出力がコンソールに表示されます。

    registration succeeded
    assigned hub=iotc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx.azure-devices.net
    deviceId=my-sdk-device
    payload=undefined
    Connecting using connection string: HostName=iotc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx.azure-devices.net;DeviceId=my-sdk-device;SharedAccessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxx
    Enabling the commands on the client
    Please enter q or Q to exit sample.
    The following properties will be updated for root interface.
    { serialNumber: 'alwinexlepaho8329' }
    The following properties will be updated for component: thermostat1
    {
      thermostat1: { maxTempSinceLastReboot: 40.53506261527863, __t: 'c' }
    }
    The following properties will be updated for component: thermostat2
    {
      thermostat2: { maxTempSinceLastReboot: 89.55136974144273, __t: 'c' }
    }
    The following properties will be updated for component: deviceInformation
    {
      deviceInformation: {
        manufacturer: 'Contoso Device Corporation',
        model: 'Contoso 47-turbo',
        swVersion: '10.89',
        osName: 'Contoso_OS',
        processorArchitecture: 'Contoso_x86',
        processorManufacturer: 'Contoso Industries',
        totalStorage: 65000,
        totalMemory: 640,
        __t: 'c'
      }
    }
    executed sample
    Received an update for device with value: {"$version":1}
    Properties have been reported for root interface.
    Properties have been reported for component: thermostat1
    Properties have been reported for component: thermostat2
    Properties have been reported for component: deviceInformation
    Sending telemetry message 0 from component: thermostat1
    Sending telemetry message 0 from component: thermostat2
    

コードを参照

このクイックスタートでは、基本的な Azure IoT アプリケーション開発のワークフローについて説明します。 最初に、デバイスをホストするための Azure IoT Central アプリケーションを作成します。 次に Azure IoT device SDK サンプルを使用して、温度コントローラーを作成し、それを IoT Central に安全に接続し、テレメトリを送信します。 温度コントローラーのサンプル アプリケーションはローカル コンピューター上で動作し、センサー データをシミュレートして IoT Central に送信します。

ヒント

開発者には、デバイスを Azure IoT に接続する方法にいくつかの選択肢があります。 接続オプションの詳細については、「Azure IoT デバイスとアプリケーション開発とは」を参照してください。

前提条件

このクイックスタートは、Windows、Linux、Raspberry Pi で実行できます。 これは、次の OS およびデバイス バージョンでテストされています。

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+ で実行されている Raspberry Pi OS (Raspbian) バージョン 10
  • 有効な Azure サブスクリプション Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

次に示す前提条件を開発マシンにインストールします。

  • Python バージョン 3.7 以降。 Python のバージョンを確認するには、python3 --version を実行します。
  • Git.

アプリケーションの作成

デバイスを Azure IoT に接続する方法は複数あります。 このセクションでは、Azure IoT Central を使用してデバイスを接続する方法について説明します。 IoT Central は、IoT ソリューションにおけるデバイス管理のコストと複雑さを軽減する IoT アプリケーション プラットフォームです。

新しいアプリケーションを作成するには:

  1. ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。

  2. [ビルド] に移動し、 [カスタム アプリ] を選択します。 IoT Central のスタート ページ

  3. [アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。

  4. [URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。

  5. [アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。

  6. [価格プラン] オプションを選択します。

    • 標準の価格プランのいずれかを選択します。 [ディレクトリ][Azure サブスクリプション][場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
      • "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
      • Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
      • [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。

    IoT Central の [新しいアプリケーション] ダイアログ

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

    IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。 IoT Central の [新しいアプリケーション] ダッシュボード

デバイスを追加する

このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。

新しいデバイスを作成するには:

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

  2. [Device template](デバイス テンプレート)[Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート)[No](いいえ) に設定します。

  3. わかりやすいデバイス名デバイス ID を選択します。 必要に応じて、生成された値を使用します。 IoT Central の新しいデバイス ダイアログ

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

    作成したデバイスが [すべてのデバイス] 一覧に表示されます。 IoT Central の [すべてのデバイス] 一覧

新しいデバイスの接続の詳細を取得するには:

  1. [すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。

  2. 上部のメニューで、[接続] を選択します。

    [デバイス接続] ダイアログに、接続の詳細が表示されます。IoT Central デバイスの接続の詳細

  3. [デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。

    • ID scope
    • Device ID
    • Primary key

デバイス サンプルを実行する

このセクションでは、ローカル環境を構成し、Azure IoT Python device SDK をインストールして、温度コントローラーを作成するサンプルを実行します。

環境を構成する

  1. Windows CMD、PowerShell、または Bash などのコンソールを開きます。

  2. コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。 IOTHUB_DEVICE_DPS_ID_SCOPEIOTHUB_DEVICE_DPS_DEVICE_KEYIOTHUB_DEVICE_DPS_DEVICE_ID には、前に保存したデバイス接続の値を使用してください。

    CMD (Windows)

    set IOTHUB_DEVICE_SECURITY_TYPE=DPS
    set IOTHUB_DEVICE_DPS_ID_SCOPE=<application ID scope>
    set IOTHUB_DEVICE_DPS_DEVICE_KEY=<device primary key>
    set IOTHUB_DEVICE_DPS_DEVICE_ID=<your device ID>
    set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
    

    Note

    Windows CMD では、変数の値を囲む引用符は入力しません。

    PowerShell

    $env:IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    $env:IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    $env:IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    $env:IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net'
    

    Bash

    export IOTHUB_DEVICE_SECURITY_TYPE='DPS'
    export IOTHUB_DEVICE_DPS_ID_SCOPE='<application ID scope>'
    export IOTHUB_DEVICE_DPS_DEVICE_KEY='<device primary key>'
    export IOTHUB_DEVICE_DPS_DEVICE_ID='<your device ID>'
    export IOTHUB_DEVICE_DPS_ENDPOINT='global.azure-devices-provisioning.net' 
    

SDK とサンプルをインストールする

  1. Azure IoT Python device SDK を、お使いのローカル コンピューターにコピーします。

    git clone https://github.com/Azure/azure-iot-sdk-python
    
  2. sample ディレクトリに移動します。

    Windows

    cd azure-iot-sdk-python\azure-iot-device\samples\pnp
    

    Linux または Raspberry Pi OS

    cd azure-iot-sdk-python/azure-iot-device/samples/pnp
    
  3. Azure IoT Python SDK をインストールします。

    pip3 install azure-iot-device
    

コードの実行

  1. コンソールで、SDK の次のコード サンプルを実行します。 このサンプルでは、サーモスタット センサーを備えた温度コントローラーを作成します。

    python3 temp_controller_with_thermostats.py
    

    デバイスを IoT Central アプリケーションに接続すると、そのアプリケーションで作成したデバイス インスタンスにデバイスが接続され、テレメトリの送信を開始します。 接続の詳細とテレメトリの出力がコンソールに表示されます。

    Device was assigned
    iotc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azure-devices.net
    my-sdk-device
    Updating pnp properties for root interface
    {'serialNumber': 'alohomora'}
    Updating pnp properties for thermostat1
    {'thermostat1': {'maxTempSinceLastReboot': 98.34, '__t': 'c'}}
    Updating pnp properties for thermostat2
    {'thermostat2': {'maxTempSinceLastReboot': 48.92, '__t': 'c'}}
    Updating pnp properties for deviceInformation
    {'deviceInformation': {'swVersion': '5.5', 'manufacturer': 'Contoso Device Corporation', 'model': 'Contoso 4762B-turbo', 'osName': 'Mac Os', 'processorArchitecture': 'x86-64', 'processorManufacturer': 'Intel', 'totalStorage': 1024, 'totalMemory': 32, '__t': 'c'}}
    Listening for command requests and property updates
    Press Q to quit
    Sending telemetry from various components
    Sent message
    {"temperature": 33}
    

利用統計情報データを表示する

デバイスは、IoT Central に接続した後、テレメトリの送信を開始します。 IoT Central で接続されているデバイスに関するテレメトリとその他の詳細を表示できます。

IoT Central で、[デバイス] を選び、デバイス名を選んでから、[概要] タブを選びます。2 つのサーモスタット デバイスからの温度のグラフがこのビューに表示されます。

IoT Central デバイスのテレメトリの概要

[生データ] タブを選択します。サーモスタットの読み取り値が送信されるたびにテレメトリがこのビューに表示されます。

IoT Central デバイス テレメトリの生の出力

デバイスが安全に接続され、Azure IoT にテレメトリを送信するようになりました。

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

このクイックスタートで作成した IoT Central リソースが不要になった場合は、それらを削除してください。 引き続きこのガイドのドキュメントに従う場合は、必要に応じて、作成したアプリケーションを保持して他のサンプルに再利用することもできます。

Azure IoT Central のサンプル アプリケーションとそのデバイスおよびリソースをすべて削除するには:

  1. [管理]><自分のアプリケーション> を選択します。
  2. [削除] を選択します。

次のステップ

このクイックスタートでは、クラウドに対してデバイスを安全に接続し、device-to-cloud テレメトリを送信するための Azure IoT アプリケーションの基本的なワークフローについて説明しました。 Azure IoT Central を使用して、アプリケーションとデバイス インスタンスを作成しました。 次に、Azure IoT device SDK を使用して、温度コントローラーを作成し、IoT Central に接続して、テレメトリを送信しました。 また、IoT Central を使用してテレメトリを監視しました。

次の手順では、次の記事を参照して、Azure IoT を使用してデバイス ソリューションを構築する方法について確認します。