AWS IoT Core

Conecta aplicaciones Delphi/C++Builder a AWS IoT Core sobre MQTT. TLS mutuo con certificados X.509 o WebSocket firmado con SigV4, además de integración con shadow y motor de reglas.

TsgcIoTAmazon_MQTT_Client

Cliente MQTT 3.1.1 / MQTT 5 de AWS IoT Core — auth con TLS mutuo X.509 o SigV4 sobre WebSocket, además de suscripciones, mensajes retenidos, will y las restricciones de client-id específicas de AWS.

Clase del componente

TsgcIoTAmazon_MQTT_Client

Protocolo

AWS IoT MQTT

Plataformas

Windows, macOS, Linux, iOS, Android

Edición

Standard / Professional / Enterprise

Configura credenciales, conecta, publica

Configura el host del endpoint de AWS, apunta el componente a tu certificado/clave X.509 (o proporciona las claves de acceso de AWS para SigV4); luego conecta, suscríbete y publica como cualquier cliente 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';

  // TLS mutuo X.509
  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;

Qué incluye

Un cliente MQTT preconfigurado para AWS IoT Core que gestiona las opciones de autenticación específicas de AWS y las convenciones de topics.

TLS mutuo X.509

Configura IoT.Authentication := iotAuth_Certificate y carga el certificado del dispositivo, la clave privada y AmazonRootCA1.pem — el componente usa el ALPN x-amzn-mqtt-ca en el puerto 443 si es necesario.

SigV4 sobre WebSocket

Para autenticación al estilo navegador configura IoT.Authentication := iotAuth_AccessKey y proporciona access-key / secret-key / region — el componente calcula la URL prefirmada en query-string de SigV4.

MQTT 3.1.1 + MQTT 5

Alterna MQTTVersion; AWS IoT Core admite ambos. Las propiedades MQTT 5 (session expiry, topic alias, user properties) fluyen por los eventos MQTT estándar.

Convenciones de topics de AWS

AWS reserva los topics bajo $aws/things/<thingName>/... para shadow, jobs y aprovisionamiento. Suscríbete a ellos como a cualquier otro topic para recibir actualizaciones de shadow y asignaciones de jobs.

A prueba de reconexión

Activa WatchDog en el cliente subyacente — al desconectarse, el componente reautentica (nueva query-string SigV4 cuando aplique) y se vuelve a suscribir.

Límites de rendimiento

AWS IoT impone límites por conexión (publish QoS, throughput, tamaño de mensaje). Usa un TsgcWSRateLimiter en el lado de publicación para mantenerte por debajo de la cuota.

Especificaciones y referencias

Fuentes autorizadas del protocolo que implementa este componente.

Documentación y demos

Accede a la referencia del componente, descarga el proyecto demo listo para ejecutar y la versión de prueba.

Ayuda en línea — TsgcIoTAmazon_MQTT_Client Referencia completa de propiedades, métodos y eventos de este componente.
Proyecto demo — Demos\10.IoT_Clients Proyecto de ejemplo listo para ejecutar. Se incluye dentro del paquete sgcWebSockets — descarga la prueba abajo.
Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi y C++ Builder y referencias a fuentes primarias — solo este componente.
Manual de usuario (PDF) Manual completo que cubre cada componente de la biblioteca.

¿Listo para conectar Delphi a AWS IoT?

Descarga la prueba gratuita y envía telemetría IoT desde dispositivos Delphi a AWS IoT Core.