AWS IoT Core
Delphi/C++ Builder アプリケーションを MQTT 経由で AWS IoT Core に接続します。X.509 証明書による相互 TLS または SigV4 署名 WebSocket に対応し、シャドウやルールエンジンとの統合もサポートします。
Delphi/C++ Builder アプリケーションを MQTT 経由で AWS IoT Core に接続します。X.509 証明書による相互 TLS または SigV4 署名 WebSocket に対応し、シャドウやルールエンジンとの統合もサポートします。
AWS IoT Core 向け MQTT 3.1.1 / MQTT 5 クライアントです。X.509 相互 TLS または SigV4-over-WebSocket 認証に対応し、サブスクリプション、保持メッセージ、will、AWS 固有のクライアント ID 制約もサポートしています。
TsgcIoTAmazon_MQTT_Client
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
AWS エンドポイントホストを設定し、X.509 証明書/鍵(または SigV4 用の AWS アクセスキー)を指定してから、通常の MQTT クライアントと同様に接続、サブスクライブ、パブリッシュしてください。
uses
sgcIoT;
var
AWSIoT: TsgcIoTAmazon_MQTT_Client;
begin
AWSIoT := TsgcIoTAmazon_MQTT_Client.Create(nil);
AWSIoT.IoT.Host := 'a1b2c3d4e5f.iot.eu-west-1.amazonaws.com';
// X.509 mutual TLS
AWSIoT.IoT.Authentication := iotAuth_Certificate;
AWSIoT.IoT.Certificate.CertFile := 'device.cert.pem';
AWSIoT.IoT.Certificate.KeyFile := 'device.private.key';
AWSIoT.IoT.Certificate.RootCert := 'AmazonRootCA1.pem';
AWSIoT.OnMQTTConnect := procedure(Connection: TsgcWSConnection;
const Session: Boolean; const ReasonCode: Integer;
const ReasonName: string;
const ConnectProperties: TsgcWSMQTTCONNACKProperties)
begin
AWSIoT.Subscribe('devices/#');
end;
AWSIoT.Active := True;
AWSIoT.Publish('devices/sensor1/telemetry', '{"temp":22.5}');
end;
// uses: sgcIoT
TsgcIoTAmazon_MQTT_Client *AWSIoT = new TsgcIoTAmazon_MQTT_Client(this);
AWSIoT->IoT->Host = "a1b2c3d4e5f.iot.eu-west-1.amazonaws.com";
AWSIoT->IoT->Authentication = iotAuth_Certificate;
AWSIoT->IoT->Certificate->CertFile = "device.cert.pem";
AWSIoT->IoT->Certificate->KeyFile = "device.private.key";
AWSIoT->Active = true;
AWS 固有の認証方式とトピック規約を処理する、AWS IoT Core 向けのあらかじめ設定済み MQTT クライアントです。
IoT.Authentication := iotAuth_Certificate を設定し、デバイス証明書、秘密鍵、AmazonRootCA1.pem を読み込みます。必要に応じてコンポーネントはポート 443 で ALPN x-amzn-mqtt-ca を使用します。
ブラウザスタイルの認証には IoT.Authentication := iotAuth_AccessKey を設定し、アクセスキー / シークレットキー / リージョンを設定します。コンポーネントが SigV4 クエリ文字列のプリサインド URL を計算します。
MQTTVersion で切り替えます。AWS IoT Core は両方をサポートしています。MQTT 5 プロパティ(セッション有効期限、トピックエイリアス、ユーザープロパティ)は標準の MQTT イベントを通じて処理されます。
AWS はシャドウ、ジョブ、プロビジョニング用に $aws/things/<thingName>/... 配下のトピックを予約しています。他のトピックと同様にサブスクライブして、シャドウの更新やジョブの割り当てを受け取れます。
基底クライアントに WatchDog を設定します。切断時にコンポーネントが再認証(必要に応じて新しい SigV4 クエリ文字列を生成)し、再サブスクライブします。
AWS IoT は接続ごとの制限(パブリッシュ QoS、スループット、メッセージサイズ)を設けています。クォータ内に収めるためにパブリッシュ側で TsgcWSRateLimiter を使用してください。
このコンポーネントが実装するプロトコルの公式ソースです。
コンポーネントリファレンスへの直接リンク、すぐに実行できるデモプロジェクトの入手、体験版のダウンロードができます。
| オンラインヘルプ — TsgcIoTAmazon_MQTT_Client このコンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。 | 開く | |
| デモプロジェクト — Demos\10.IoT_Clients すぐに実行できるサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。以下から体験版をダウンロードできます。 | 開く | |
| 技術ドキュメント (PDF) このコンポーネントの機能、クイックスタート、Delphi および C++ Builder 向けのコードサンプル、一次資料のリファレンスを掲載しています。 | 開く | |
| ユーザーマニュアル (PDF) ライブラリのすべてのコンポーネントを網羅した総合マニュアルです。 | 開く |