Azure IoT Hub
Delphi/C++ Builder アプリケーションを MQTT 経由で Azure IoT Hub に接続します。SAS トークンまたは X.509 デバイス認証、デバイスツイン、ダイレクトメソッド呼び出し、クラウドからデバイスへのメッセージングに対応しています。
Delphi/C++ Builder アプリケーションを MQTT 経由で Azure IoT Hub に接続します。SAS トークンまたは X.509 デバイス認証、デバイスツイン、ダイレクトメソッド呼び出し、クラウドからデバイスへのメッセージングに対応しています。
Azure IoT Hub 向け MQTT 3.1.1 クライアントです。SAS トークンまたは X.509 認証、デバイスツイン(desired/reported)、ダイレクトメソッド、クラウドからデバイスへのメッセージ、Azure 固有のトピック規約をサポートしています。
TsgcIoTAzure_MQTT_Client
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
IoT Hub ホスト、deviceId、SAS キー(または X.509 証明書)を設定してから接続し、$iothub/twin/... をサブスクライブして devices/<id>/messages/events/ にパブリッシュしてください。
uses
sgcIoT;
var
Azure: TsgcIoTAzure_MQTT_Client;
begin
Azure := TsgcIoTAzure_MQTT_Client.Create(nil);
Azure.IoT.Host := '.azure-devices.net' ;
Azure.IoT.DeviceId := 'sensor-001';
// SAS token authentication
Azure.IoT.Authentication := iotAuth_SAS;
Azure.IoT.SAS.Key := 'base64-shared-access-key';
Azure.OnMQTTConnect := procedure(Connection: TsgcWSConnection;
const Session: Boolean; const ReasonCode: Integer;
const ReasonName: string;
const ConnectProperties: TsgcWSMQTTCONNACKProperties)
begin
// subscribe to cloud-to-device messages
Azure.Subscribe('devices/sensor-001/messages/devicebound/#');
// subscribe to twin desired-property updates
Azure.Subscribe('$iothub/twin/PATCH/properties/desired/#');
end;
Azure.Active := True;
// publish telemetry
Azure.Publish('devices/sensor-001/messages/events/',
'{"temp":22.5}');
end;
// uses: sgcIoT
TsgcIoTAzure_MQTT_Client *Azure = new TsgcIoTAzure_MQTT_Client(this);
Azure->IoT->Host = ".azure-devices.net" ;
Azure->IoT->DeviceId = "sensor-001";
Azure->IoT->Authentication = iotAuth_SAS;
Azure->IoT->SAS->Key = "base64-shared-access-key";
Azure->Active = true;
Microsoft が想定するユーザー名/パスワード/トピック文字列を自動生成する、Azure IoT Hub 向けのあらかじめ設定済み MQTT クライアントです。
IoT.Authentication := iotAuth_SAS を設定してデバイスキーを指定すると、コンポーネントが適切なリソース URI を持つ短命の SAS トークンを生成し、HMAC-SHA256 で署名します。
IoT.Authentication := iotAuth_Certificate を設定してリーフ証明書と秘密鍵を読み込みます。IoT Hub のサムプリントおよび CA 署名フローをサポートしています。
desired プロパティのプッシュを受け取るには $iothub/twin/PATCH/properties/desired/# をサブスクライブし、reported 状態を更新するには $iothub/twin/PATCH/properties/reported/?$rid= にパブリッシュしてください。
受信したダイレクトメソッド呼び出しには $iothub/methods/POST/# をサブスクライブし、$iothub/methods/res/<status>/?$rid=<id> にレスポンスペイロードで返信してください。
ハブによってキューに入れられたメッセージを受け取るには devices/<id>/messages/devicebound/# をサブスクライブしてください。コンポーネントは各メッセージを標準の OnMQTTPublish イベントで配信します。
基底クライアントの WatchDog が再接続時に再認証(新しい SAS トークンを生成)し、すべてのアクティブなトピックに再サブスクライブします。アプリケーションには継続的なストリームとして見えます。
このコンポーネントが実装するプロトコルの公式ソースです。
コンポーネントリファレンスへの直接リンク、すぐに実行できるデモプロジェクトの入手、体験版のダウンロードができます。
| オンラインヘルプ — TsgcIoTAzure_MQTT_Client このコンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。 | 開く | |
| デモプロジェクト — Demos\10.IoT_Clients すぐに実行できるサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。以下から体験版をダウンロードできます。 | 開く | |
| 技術ドキュメント (PDF) このコンポーネントの機能、クイックスタート、Delphi および C++ Builder 向けのコードサンプル、一次資料のリファレンスを掲載しています。 | 開く | |
| ユーザーマニュアル (PDF) ライブラリのすべてのコンポーネントを網羅した総合マニュアルです。 | 開く |