AWS IoT Core

Verbinde Delphi-/C++Builder-Anwendungen über MQTT mit AWS IoT Core. Mutual TLS mit X.509-Zertifikaten oder SigV4-signiertes WebSocket, dazu Shadow- und Rule-Engine-Integration.

TsgcIoTAmazon_MQTT_Client

AWS-IoT-Core-MQTT-3.1.1-/-MQTT-5-Client — X.509-Mutual-TLS- oder SigV4-über-WebSocket-Authentifizierung, plus Subscriptions, Retained Messages, Will und die AWS-spezifischen Client-Id-Vorgaben.

Komponentenklasse

TsgcIoTAmazon_MQTT_Client

Protokoll

AWS IoT MQTT

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Standard / Professional / Enterprise

Credentials setzen, verbinden, veröffentlichen

Setze den AWS-Endpunkt-Host, zeige der Komponente dein X.509-Zertifikat/-Schlüssel (oder liefere AWS-Access-Keys für SigV4), dann verbinden, abonnieren und veröffentlichen wie bei jedem MQTT-Client.

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;

Was steckt drin

Ein vorkonfigurierter MQTT-Client für AWS IoT Core, der die AWS-spezifischen Auth-Optionen und Topic-Konventionen handhabt.

X.509-Mutual-TLS

Setze IoT.Authentication := iotAuth_Certificate und lade das Gerätezertifikat, den privaten Schlüssel und AmazonRootCA1.pem — die Komponente verwendet bei Bedarf ALPN x-amzn-mqtt-ca auf Port 443.

SigV4 über WebSocket

Für Browser-artige Authentifizierung setze IoT.Authentication := iotAuth_AccessKey und konfiguriere Access-Key / Secret-Key / Region — die Komponente berechnet die SigV4-Querystring-signierte URL.

MQTT 3.1.1 + MQTT 5

Schalte MQTTVersion um; AWS IoT Core unterstützt beides. MQTT-5-Eigenschaften (Session Expiry, Topic Alias, User Properties) fließen über die Standard-MQTT-Events.

AWS-Topic-Konventionen

AWS reserviert Topics unter $aws/things/<thingName>/... für Shadow, Jobs und Provisioning. Abonniere sie wie jedes andere Topic, um Shadow-Updates und Job-Zuweisungen zu empfangen.

Reconnect-sicher

Aktiviere WatchDog am zugrundeliegenden Client — bei einem Disconnect authentifiziert sich die Komponente erneut (mit frischem SigV4-Querystring, falls anwendbar) und abonniert die Topics neu.

Durchsatzgrenzen

AWS IoT erzwingt Per-Connection-Limits (Publish-QoS, Durchsatz, Nachrichtengröße). Verwende auf der Publish-Seite einen TsgcWSRateLimiter, um unterhalb der Quote zu bleiben.

Spezifikationen & Referenzen

Maßgebliche Quellen für das Protokoll, das diese Komponente implementiert.

Dokumentation & Demos

Springe direkt zur Komponentenreferenz, hole dir das sofort lauffähige Demo-Projekt und lade die Testversion herunter.

Online-Hilfe — TsgcIoTAmazon_MQTT_Client Vollständige Referenz zu Eigenschaften, Methoden und Ereignissen dieser Komponente.
Demo-Projekt — Demos\10.IoT_Clients Sofort lauffähiges Beispielprojekt. Wird im sgcWebSockets-Paket mitgeliefert — lade unten die Testversion herunter.
Technisches Dokument (PDF) Funktionen, Schnellstart, Code-Beispiele für Delphi & C++ Builder und Primärquellen-Referenzen — nur diese Komponente.
Benutzerhandbuch (PDF) Umfassendes Handbuch, das jede Komponente der Bibliothek abdeckt.

Bereit, Delphi mit AWS IoT zu verbinden?

Lade die kostenlose Testversion herunter und stream IoT-Telemetrie von Delphi-Geräten zu AWS IoT Core.