4.2 KiB
デバイスコードで X.509 証明書を使用する - 仮想 IoT ハードウェアと Raspberry Pi
このレッスンのこの部分では、仮想 IoT デバイスまたは Raspberry Pi を X.509 証明書を使用して IoT Hub に接続します。
デバイスを IoT Hub に接続する
次のステップは、X.509 証明書を使用してデバイスを IoT Hub に接続することです。
タスク - IoT Hub に接続する
-
キーと証明書ファイルを IoT デバイスコードが含まれるフォルダーにコピーします。VS Code Remote SSH を使用して Raspberry Pi を操作している場合で、PC または Mac 上でキーを作成した場合は、VS Code のエクスプローラーにファイルをドラッグ&ドロップしてコピーできます。
-
app.py
ファイルを開きます。 -
X.509 証明書を使用して接続するには、IoT Hub のホスト名と X.509 証明書が必要です。デバイスクライアントを作成する前に、次のコードを追加してホスト名を含む変数を作成します:
host_name = "<host_name>"
<host_name>
を IoT Hub のホスト名に置き換えます。この情報はconnection_string
のHostName
セクションから取得できます。ホスト名は IoT Hub の名前で、.azure-devices.net
で終わります。 -
この下に、デバイス ID を含む変数を宣言します:
device_id = "soil-moisture-sensor-x509"
-
X.509 ファイルを含む
X509
クラスのインスタンスが必要です。azure.iot.device
モジュールからインポートするクラスのリストにX509
を追加します:from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse, X509
-
証明書とキーのファイルを使用して
X509
クラスのインスタンスを作成します。これをhost_name
宣言の下に追加します:x509 = X509("./soil-moisture-sensor-x509-cert.pem", "./soil-moisture-sensor-x509-key.pem")
これにより、以前作成した
soil-moisture-sensor-x509-cert.pem
とsoil-moisture-sensor-x509-key.pem
ファイルを使用してX509
クラスが作成されます。 -
接続文字列から
device_client
を作成するコード行を、次のコードに置き換えます:device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id)
これにより、接続文字列の代わりに X.509 証明書を使用して接続します。
-
connection_string
変数を含む行を削除します。 -
コードを実行します。IoT Hub に送信されるメッセージを監視し、これまでと同様にダイレクトメソッドリクエストを送信します。デバイスが接続し、土壌湿度の測定値を送信し、ダイレクトメソッドリクエストを受信する様子が確認できます。
💁 このコードは code/pi または code/virtual-device フォルダーにあります。
😀 土壌湿度センサーのプログラムが X.509 証明書を使用して IoT Hub に接続されました!
免責事項:
この文書は、AI翻訳サービス Co-op Translator を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。元の言語で記載された文書が公式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。