AWS IoT Core

Połącz aplikacje Delphi/C++Builder z AWS IoT Core przez MQTT. Wzajemne TLS z certyfikatami X.509 lub WebSocket podpisany SigV4, a także integracja z shadow i silnikiem reguł.

TsgcIoTAmazon_MQTT_Client

Klient MQTT 3.1.1 / MQTT 5 dla AWS IoT Core — uwierzytelnianie X.509 mutual TLS lub SigV4 over WebSocket, a także subskrypcje, wiadomości retained, will i ograniczenia client-id specyficzne dla AWS.

Klasa komponentu

TsgcIoTAmazon_MQTT_Client

Protokół

AWS IoT MQTT

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Standard / Professional / Enterprise

Ustaw dane uwierzytelniające, połącz, publikuj

Ustaw hosta punktu końcowego AWS, wskaż komponentowi certyfikat/klucz X.509 (lub podaj klucze dostępu AWS dla SigV4), następnie połącz się, subskrybuj i publikuj jak każdy klient 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;

Co jest w środku

Wstępnie skonfigurowany klient MQTT dla AWS IoT Core obsługujący specyficzne dla AWS opcje uwierzytelniania i konwencje tematów.

X.509 mutual TLS

Ustaw IoT.Authentication := iotAuth_Certificate i załaduj certyfikat urządzenia, klucz prywatny oraz AmazonRootCA1.pem — komponent używa ALPN x-amzn-mqtt-ca na porcie 443, jeśli potrzeba.

SigV4 over WebSocket

Do uwierzytelniania w stylu przeglądarki ustaw IoT.Authentication := iotAuth_AccessKey i skonfiguruj access-key / secret-key / region — komponent oblicza wstępnie podpisany URL z query-string SigV4.

MQTT 3.1.1 + MQTT 5

Przełączaj MQTTVersion — AWS IoT Core obsługuje oba warianty. Właściwości MQTT 5 (wygasanie sesji, alias tematu, właściwości użytkownika) są dostępne przez standardowe zdarzenia MQTT.

Konwencje tematów AWS

AWS rezerwuje tematy pod $aws/things/<thingName>/... dla shadow, zadań i provisionowania. Subskrybuj je jak każdy inny temat, aby otrzymywać aktualizacje shadow i przypisania zadań.

Bezpieczne ponowne połączenie

Podłącz WatchDog do bazowego klienta — po rozłączeniu komponent ponownie się uwierzytelnia (świeży query-string SigV4, gdy dotyczy) i ponownie subskrybuje.

Limity przepustowości

AWS IoT wymusza limity na połączenie (QoS publikowania, przepustowość, rozmiar wiadomości). Użyj TsgcWSRateLimiter po stronie publikowania, aby nie przekroczyć limitu.

Specyfikacje i źródła

Autorytatywne źródła dla protokołu implementowanego przez ten komponent.

Dokumentacja i wersje demo

Deep-link do dokumentacji komponentu, gotowy do uruchomienia projekt demonstracyjny i pobranie wersji próbnej.

Pomoc online — TsgcIoTAmazon_MQTT_Client Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu.
Projekt demonstracyjny — Demos\10.IoT_Clients Gotowy do uruchomienia projekt przykładowy. Dostarczany wewnątrz pakietu sgcWebSockets — pobierz wersję próbną poniżej.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł pierwotnych — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.

Gotowy, aby połączyć Delphi z AWS IoT?

Pobierz bezpłatną wersję próbną i przesyłaj telemetrię IoT z urządzeń Delphi do AWS IoT Core.