Azure IoT Hub SDK を使用しないで開発する

このトピックでは、Azure IoT Sdk を使用しないでデバイスやバックエンドのアプリを開発したい開発者に役立つ情報とリンクを提供します。

Microsoft は、Azure IoT SDK を使用することを強くお勧めします。 Azure IoT デバイスとサービス SDK は、多くの一般的なプラットフォームで公開されています。 SDK には、デバイスの接続と再接続や、再試行ポリシーなど、基になる通信プロトコルの複雑な部分の多くが処理される便利なレイヤーが用意されています。 SDK は、IoT Hub によって公開される最新機能とセキュリティ更新プログラムを提供するために、定期的に更新されます。 SDK を使用すると、開発に要する時間と、コードのメンテナンスに必要な時間を、短縮することができます。 Azure IoT SDK の詳細については、Azure IoT デバイスとサービス SDK に関する記事を参照してください。 Azure IoT SDK を使用する利点の詳細については、ブログ記事「Azure IoT SDK を使用する利点と、避けるべき落とし穴」を参照してください。

IoT Hub によって、デバイスとの通信用に、AMQP、AMQP over WebSockets、HTTPS、MQTT、MQTT over WebSockets がサポートされていますが、デバイスでサポートされている場合は、MQTT を使用することをお勧めします。

開発の前提条件

開発を始める前に、IoT Hub と、デバイスまたはバックエンドのアプリで実装する機能について、十分な知識を得ておく必要があります。 理解しておく必要があるトピックのごく簡単な一覧を次に示します。

  • IoT Hub によって公開されるエンドポイントと、各エンドポイントでサポートされるプロトコルについて、理解している必要があります。 詳細については、IoT Hub のエンドポイントに関する記事を参照してください。

  • デバイス アプリにプロトコルの選択が関係している場合は、MQTT を使用することを強くお勧めします。 ただし、プロトコルを選択する前に、それぞれによって課される制限を理解しておく必要があります。 詳細については、通信プロトコルの選択に関する記事を参照してください。

  • IoT Hub での認証については、「IoT Hub へのアクセスの制御」を参照してください。

重要

X.509 証明機関 (CA) の認証を使用するデバイスの次の機能は、まだ一般提供されていません。また、プレビュー モードを有効にする必要があります

  • HTTPS、WebSocket 経由の MQTT、WebSockets プロトコル経由の AMQP。
  • ファイルのアップロード (すべてのプロトコル)。

これらの機能は、X.509 拇印認証を使用するデバイスで一般提供されています。 IoT Hub での X.509 認証の詳細については、「サポートされている X.509 証明書」を参照してください。

さまざまなプロトコルに関するヘルプ

Azure IoT SDK を使用しないで以下のプロトコルを使用する場合のヘルプについて:

  • AMQP でのデバイス アプリまたはバックエンド アプリについては、AMQP のサポートに関する記事を参照してください。

  • MQTT でのデバイス アプリについては、MQTT のサポートに関する記事を参照してください。 このトピックの大部分は、MQTT プロトコルの直接使用に関するものです。 また、IoT MQTT サンプル リポジトリの使用に関する情報も含まれます。 このリポジトリには、Eclipse Mosquitto ライブラリを使用して IoT Hub にメッセージを送信する C サンプルが含まれています。

  • HTTPS でのデバイス アプリまたはバックエンド アプリについては、Azure IoT Hub REST API に関する記事を参照してください。 「開発の前提条件」で説明されているように、HTTPS で X.509 証明機関 (CA) 認証を使用することはできません。

デバイスでサポートされている場合は、MQTT を使用することを強くお勧めします。

次のステップ