クイックスタート: デバイスから 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
コマンドを使用して、GCC、Git、cmake、および必要な依存関係をインストールします。
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++ 開発に必要なコンポーネントを追加します。
- 新しいユーザーの場合は、Visual Studio (Community、Professional、または Enterprise) 2019 をインストールします。 インストールするエディションをダウンロードし、インストーラーを起動します。
Note
既存の Visual Studio 2019 ユーザーの場合は、Windows の [スタート] を選択し、「Visual Studio インストーラー」と入力して、インストーラーを開始します。
- インストーラーの [ワークロード] タブで、 [Desktop Development with C++](C++ によるデスクトップ開発) ワークロードを選択します。
- インストーラーの [個別のコンポーネント] タブで、 [Git for Windows] を選択します。
- インストールを実行します。
アプリケーションの作成
デバイスを Azure IoT に接続する方法は複数あります。 このセクションでは、Azure IoT Central を使用してデバイスを接続する方法について説明します。 IoT Central は、IoT ソリューションにおけるデバイス管理のコストと複雑さを軽減する IoT アプリケーション プラットフォームです。
新しいアプリケーションを作成するには:
ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。
[ビルド] に移動し、 [カスタム アプリ] を選択します。
[アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。
[URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。
[アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。
[価格プラン] オプションを選択します。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
- "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
- Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
- [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
[作成] を選択します
IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。
デバイスを追加する
このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。
新しいデバイスを作成するには:
左ペインで [デバイス] を選択し、 [+ 新規] を選択します。
[Device template](デバイス テンプレート) は [Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート) は [No](いいえ) に設定します。
わかりやすいデバイス名とデバイス ID を選択します。 必要に応じて、生成された値を使用します。
[作成] を選択します
作成したデバイスが [すべてのデバイス] 一覧に表示されます。
新しいデバイスの接続の詳細を取得するには:
[すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。
上部のメニューで、[接続] を選択します。
[デバイス接続] ダイアログに、接続の詳細が表示されます。
[デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。
ID scope
Device ID
Primary key
デバイス サンプルを実行する
このセクションでは、ローカル環境を構成し、Azure IoT C device SDK をインストールして、温度コントローラーを作成するサンプルを実行します。
環境を構成する
コンソールを開き、Azure IoT C device SDK をインストールし、コード サンプルを実行します。 Windows の場合は、 [スタート] を選択し、「VS 2019 用開発者コマンド プロンプト」と入力して、コンソールを開きます。 Linux および Raspberry Pi OS の場合は、Bash コマンドのターミナルを開きます。
コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。
IOTHUB_DEVICE_DPS_ID_SCOPE
、IOTHUB_DEVICE_DPS_DEVICE_KEY
、IOTHUB_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 とサンプルをインストールする
サンプル リポジトリをクローンするローカル フォルダーに移動します。
Azure IoT C device SDK を、お使いのローカル コンピューターにコピーします。
git clone https://github.com/Azure/azure-iot-sdk-c.git
SDK のルート フォルダーに移動し、次のコマンドを実行して依存関係を更新します。
cd azure-iot-sdk-c git submodule update --init
この操作は、数分かかります。
SDK とサンプルをビルドするには、次のコマンドを実行します。
cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF cmake --build cmake
コードの実行
コンソールに適したコマンドを使用して、サンプル コードを実行します。
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 アプリケーション プラットフォームです。
新しいアプリケーションを作成するには:
ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。
[ビルド] に移動し、 [カスタム アプリ] を選択します。
[アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。
[URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。
[アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。
[価格プラン] オプションを選択します。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
- "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
- Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
- [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
[作成] を選択します
IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。
デバイスを追加する
このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。
新しいデバイスを作成するには:
左ペインで [デバイス] を選択し、 [+ 新規] を選択します。
[Device template](デバイス テンプレート) は [Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート) は [No](いいえ) に設定します。
わかりやすいデバイス名とデバイス ID を選択します。 必要に応じて、生成された値を使用します。
[作成] を選択します
作成したデバイスが [すべてのデバイス] 一覧に表示されます。
新しいデバイスの接続の詳細を取得するには:
[すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。
上部のメニューで、[接続] を選択します。
[デバイス接続] ダイアログに、接続の詳細が表示されます。
[デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。
ID scope
Device ID
Primary key
デバイス サンプルを実行する
このセクションでは、ローカル環境を構成し、Azure IoT C# SDK をインストールして、温度コントローラーを作成するサンプルを実行します。
環境を構成する
Windows CMD、PowerShell、または Bash などのコンソールを開きます。
コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。
IOTHUB_DEVICE_DPS_ID_SCOPE
、IOTHUB_DEVICE_DPS_DEVICE_KEY
、IOTHUB_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 とサンプルをインストールする
C# (.NET) 用 Microsoft Azure IoT SDK をローカル コンピューターにクローンします。
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
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
Azure IoT C# SDK および必要な依存関係をインストールします。
dotnet restore
このコマンドを実行すると、TemperatureController.csproj ファイルに指定されている適切な依存関係がインストールされます。
コードの実行
コンソールで、コード サンプルを実行します。 このサンプルでは、サーモスタット センサーを備えた温度コントローラーを作成します。
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 サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
次に示す前提条件を開発マシンにインストールします。
- Git.
お使いのオペレーティング システムの残りの前提条件をインストールします。
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 がインストールされていることを確認します。システムの 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
システムに複数のバージョンの 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
JDK インストールのパスを指すように
JAVA_HOME
環境変数を設定する必要があります。 (これは通常、 /usr/lib/jvm ディレクトリ内のバージョン管理されたサブディレクトリです)。export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
重要
このコマンドは、 現在のシェル環境で
JAVA_HOME
変数を設定します。 新しいシェルを開いたときにすぐに使用できるように、~/.bashrc
または/etc/profile
ファイルにコマンドを追加することをお勧めします。Java JDK (および JRE) のバージョンがインストールされていること、Java コンパイラのバージョンが JDK のバージョンと一致していること、および
JAVA_HOME
環境変数が適切に設定されていることを確認します。java -version javac -version echo $JAVA_HOME
Apache Maven 3。
mvn --version
コマンドを使用して、システムにインストールされている Maven のバージョンを確認できます。次のコマンドを入力して、Maven をインストールします。
sudo apt-get update sudo apt-get install maven
次のコマンドを実行して、インストールを確認します。
mvn --version
アプリケーションの作成
デバイスを Azure IoT に接続する方法は複数あります。 このセクションでは、Azure IoT Central を使用してデバイスを接続する方法について説明します。 IoT Central は、IoT ソリューションにおけるデバイス管理のコストと複雑さを軽減する IoT アプリケーション プラットフォームです。
新しいアプリケーションを作成するには:
ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。
[ビルド] に移動し、 [カスタム アプリ] を選択します。
[アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。
[URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。
[アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。
[価格プラン] オプションを選択します。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
- "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
- Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
- [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
[作成] を選択します
IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。
デバイスを追加する
このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。
新しいデバイスを作成するには:
左ペインで [デバイス] を選択し、 [+ 新規] を選択します。
[Device template](デバイス テンプレート) は [Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート) は [No](いいえ) に設定します。
わかりやすいデバイス名とデバイス ID を選択します。 必要に応じて、生成された値を使用します。
[作成] を選択します
作成したデバイスが [すべてのデバイス] 一覧に表示されます。
新しいデバイスの接続の詳細を取得するには:
[すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。
上部のメニューで、[接続] を選択します。
[デバイス接続] ダイアログに、接続の詳細が表示されます。
[デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。
ID scope
Device ID
Primary key
デバイス サンプルを実行する
このセクションでは、ローカル環境を設定し、Azure IoT Java device SDK をインストールし、温度コントローラーを作成するサンプルを実行します。
環境を構成する
Windows CMD または Bash などのコンソールを開きます。
Linux および Raspberry Pi OS
JAVA_HOME (
echo $JAVA_HOME
) 環境変数が設定されていることを確認します。 SDK とサンプルを正常にビルドするには、この環境変数を設定する必要があります。 JAVA_HOME の設定の詳細については、Linux または Raspberry Pi の前提条件に関するセクションを参照してください。コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。
IOTHUB_DEVICE_DPS_ID_SCOPE
、IOTHUB_DEVICE_DPS_DEVICE_KEY
、IOTHUB_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'
コードのビルドと実行
Azure IoT Java device SDK を、お使いのローカル コンピューターにクローンします。
git clone https://github.com/Azure/azure-iot-sdk-java.git
SDK のルート フォルダーに移動し、次のコマンドを実行して、SDK をビルドし、サンプルを更新します。
cd azure-iot-sdk-java mvn install -T 2C -DskipTests
この操作は数分かかります。
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
コンソールで、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 サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
次に示す前提条件を開発マシンにインストールします。
アプリケーションの作成
デバイスを Azure IoT に接続する方法は複数あります。 このセクションでは、Azure IoT Central を使用してデバイスを接続する方法について説明します。 IoT Central は、IoT ソリューションにおけるデバイス管理のコストと複雑さを軽減する IoT アプリケーション プラットフォームです。
新しいアプリケーションを作成するには:
ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。
[ビルド] に移動し、 [カスタム アプリ] を選択します。
[アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。
[URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。
[アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。
[価格プラン] オプションを選択します。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
- "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
- Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
- [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
[作成] を選択します
IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。
デバイスを追加する
このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。
新しいデバイスを作成するには:
左ペインで [デバイス] を選択し、 [+ 新規] を選択します。
[Device template](デバイス テンプレート) は [Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート) は [No](いいえ) に設定します。
わかりやすいデバイス名とデバイス ID を選択します。 必要に応じて、生成された値を使用します。
[作成] を選択します
作成したデバイスが [すべてのデバイス] 一覧に表示されます。
新しいデバイスの接続の詳細を取得するには:
[すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。
上部のメニューで、[接続] を選択します。
[デバイス接続] ダイアログに、接続の詳細が表示されます。
[デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。
ID scope
Device ID
Primary key
デバイス サンプルを実行する
このセクションでは、ローカル環境を構成し、Azure IoT Node.js device SDK をインストールして、温度コントローラーを作成するサンプルを実行します。
環境を構成する
Windows CMD、PowerShell、または Bash などのコンソールを開きます。
コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。
IOTHUB_DEVICE_DPS_ID_SCOPE
、IOTHUB_DEVICE_DPS_DEVICE_KEY
、IOTHUB_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 とサンプルをインストールする
Azure IoT Node.js device SDK を、お使いのローカル コンピューターにコピーします。
git clone https://github.com/Azure/azure-iot-sdk-node
sample ディレクトリに移動します。
Windows
cd azure-iot-sdk-node\device\samples\javascript
Linux または Raspberry Pi OS
cd azure-iot-sdk-node/device/samples/javascript
Azure IoT Node.js SDK および必要な依存関係をインストールします。
npm install
コードの実行
コンソールで、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 サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
次に示す前提条件を開発マシンにインストールします。
アプリケーションの作成
デバイスを Azure IoT に接続する方法は複数あります。 このセクションでは、Azure IoT Central を使用してデバイスを接続する方法について説明します。 IoT Central は、IoT ソリューションにおけるデバイス管理のコストと複雑さを軽減する IoT アプリケーション プラットフォームです。
新しいアプリケーションを作成するには:
ブラウザーで Azure IoT Central に移動し、Microsoft の個人用アカウントか、職場または学校アカウントでサインインします。
[ビルド] に移動し、 [カスタム アプリ] を選択します。
[アプリケーション名] に一意の名前を入力するか、生成された名前を使用します。
[URL] に、アプリケーションの覚えやすい URL プレフィックスを入力するか、生成された URL プレフィックスを使用します。
[アプリケーション テンプレート] の設定は [カスタム アプリケーション] のままにしてください。
[価格プラン] オプションを選択します。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
- "ディレクトリ" は、アプリケーションを作成する Azure Active Directory です。 Azure Active Directory には、ユーザー ID、資格情報、およびその他の組織情報が含まれています。 Azure Active Directory を持っていない場合は、Azure サブスクリプションを作成するときに作成されます。
- Azure サブスクリプションを使用すると、Azure サービスのインスタンスを作成できます。 IoT Central では、リソースが自分のサブスクリプション内にプロビジョニングされます。 サブスクリプションがない場合は、無料で作成することができます。 サブスクリプションがない場合は、ドロップダウンから選択することができます。
- [場所] は、アプリケーションの作成先となる Azure 地域です。 最適なパフォーマンスを得るには、ご利用のデバイスに物理的に最も近い場所を選択してください。 いったん場所を選択すると、後でアプリケーションを別の場所に移動することはできません。
- 標準の価格プランのいずれかを選択します。 [ディレクトリ]、[Azure サブスクリプション]、[場所] を選びます。 価格については、「Azure IoT Central の価格」を参照してください。
[作成] を選択します
IoT Central によってアプリケーションが作成された後、アプリケーション ダッシュボードにリダイレクトされます。
デバイスを追加する
このセクションでは、IoT Central アプリケーションに新しいデバイスを追加します。 このデバイスはデバイス テンプレートのインスタンスであり、アプリケーションに接続するデバイスを表しています。
新しいデバイスを作成するには:
左ペインで [デバイス] を選択し、 [+ 新規] を選択します。
[Device template](デバイス テンプレート) は [Unassigned](割り当てなし) のままにし、 [Simulate this device?](このデバイスをシミュレート) は [No](いいえ) に設定します。
わかりやすいデバイス名とデバイス ID を選択します。 必要に応じて、生成された値を使用します。
[作成] を選択します
作成したデバイスが [すべてのデバイス] 一覧に表示されます。
新しいデバイスの接続の詳細を取得するには:
[すべてのデバイス] 一覧で、デバイス名のリンクをクリックすると詳細が表示されます。
上部のメニューで、[接続] を選択します。
[デバイス接続] ダイアログに、接続の詳細が表示されます。
[デバイス接続] ダイアログから以下の値をコピーして、安全な場所に保存します。 これらの値は、デバイスを IoT Central に接続する際に使用します。
ID scope
Device ID
Primary key
デバイス サンプルを実行する
このセクションでは、ローカル環境を構成し、Azure IoT Python device SDK をインストールして、温度コントローラーを作成するサンプルを実行します。
環境を構成する
Windows CMD、PowerShell、または Bash などのコンソールを開きます。
コンソールに適したコマンドを使用して、次の環境変数を設定します。 このデバイスでは、これらの値を使用して IoT Central に接続します。
IOTHUB_DEVICE_DPS_ID_SCOPE
、IOTHUB_DEVICE_DPS_DEVICE_KEY
、IOTHUB_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 とサンプルをインストールする
Azure IoT Python device SDK を、お使いのローカル コンピューターにコピーします。
git clone https://github.com/Azure/azure-iot-sdk-python
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
Azure IoT Python SDK をインストールします。
pip3 install azure-iot-device
コードの実行
コンソールで、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 つのサーモスタット デバイスからの温度のグラフがこのビューに表示されます。
[生データ] タブを選択します。サーモスタットの読み取り値が送信されるたびにテレメトリがこのビューに表示されます。
デバイスが安全に接続され、Azure IoT にテレメトリを送信するようになりました。
リソースをクリーンアップする
このクイックスタートで作成した IoT Central リソースが不要になった場合は、それらを削除してください。 引き続きこのガイドのドキュメントに従う場合は、必要に応じて、作成したアプリケーションを保持して他のサンプルに再利用することもできます。
Azure IoT Central のサンプル アプリケーションとそのデバイスおよびリソースをすべて削除するには:
- [管理]><自分のアプリケーション> を選択します。
- [削除] を選択します。
次のステップ
このクイックスタートでは、クラウドに対してデバイスを安全に接続し、device-to-cloud テレメトリを送信するための Azure IoT アプリケーションの基本的なワークフローについて説明しました。 Azure IoT Central を使用して、アプリケーションとデバイス インスタンスを作成しました。 次に、Azure IoT device SDK を使用して、温度コントローラーを作成し、IoT Central に接続して、テレメトリを送信しました。 また、IoT Central を使用してテレメトリを監視しました。
次の手順では、次の記事を参照して、Azure IoT を使用してデバイス ソリューションを構築する方法について確認します。