.NET 用 Azure IoT ライブラリ

概要

Azure IoT Hubは、何百万ものデバイスとソリューション バックエンド間の信頼性が高く安全な双方向通信を可能にするフル マネージド サービスです。

ネットワークに接続された単純なセンサーから、強力なスタンドアロン コンピューティング デバイスまで、広範なデバイスとデータ ソースを IoT ソリューションに含めることができます。 デバイスの処理能力、メモリ、通信帯域幅、通信プロトコルのサポートは限られていてもかまいません。 IoT のデバイス SDK を使うと、さまざまなデバイスやバックエンド アプリケーションのためのクライアント アプリケーションを実装できます。

.NET 用のデバイス SDK を使うと、.NET を実行して Azure IoT Hub に接続するデバイスの作成が容易になります。

.NET 用のサービス SDK を使うと、デバイスを管理し、クラウドからのデバイスの制御を可能にする、.NET を使うバックエンド アプリケーションの作成が容易になります。

Azure IoT についての詳細

クライアント ライブラリ

IoT Hub に接続してメッセージを送信するには、.NET IoT デバイス クライアントを使います。

NuGet パッケージを Visual Studio パッケージ マネージャー コンソールから直接インストールするか、.NET Core CLI を使ってインストールします。

Visual Studio パッケージ マネージャー

Install-Package Microsoft.Azure.Devices.Client
dotnet add package Microsoft.Azure.Devices.Client

コード例

この例では、IoT Hub に接続し、1 秒あたり 1 つのメッセージを送信します。

string deviceKey = "<deviceKey>";
string deviceId = "<deviceId>";
string iotHubHostName = "<IoTHubHostname>";
var deviceAuthentication = new DeviceAuthenticationWithRegistrySymmetricKey(deviceId, deviceKey);

DeviceClient deviceClient = DeviceClient.Create(iotHubHostName, deviceAuthentication, TransportType.Mqtt);

while (true)
{
    double currentTemperature = 20 + Rand.NextDouble() * 15;
    double currentHumidity = 60 + Rand.NextDouble() * 20;

    var telemetryDataPoint = new
    {
        messageId = _messageId++,
        deviceId = deviceId,
        temperature = currentTemperature,
        humidity = currentHumidity
    };
    string messageString = JsonConvert.SerializeObject(telemetryDataPoint);
    Message message = new Message(Encoding.ASCII.GetBytes(messageString));
    message.Properties.Add("temperatureAlert", (currentTemperature > 30) ? "true" : "false");

    await deviceClient.SendEventAsync(message);
    Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, messageString);

    await Task.Delay(1000);
}

サンプル

Azure IoT のサンプルの完全な一覧をご覧ください。

詳しくは、Azure IoT Hub 開発者ガイドをご覧ください。