Azure IoT Hub

Collega applicazioni Delphi/C++Builder ad Azure IoT Hub via MQTT. Autenticazione dispositivo con token SAS o X.509, device twin, invocazione di metodi diretti e messaggistica cloud-to-device.

TsgcIoTAzure_MQTT_Client

Client MQTT 3.1.1 per Azure IoT Hub — autenticazione con token SAS o X.509, device twin (desired/reported), metodi diretti, messaggi cloud-to-device e convenzioni sui topic specifiche di Azure.

Classe componente

TsgcIoTAzure_MQTT_Client

Protocollo

Azure IoT Hub MQTT

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Standard / Professional / Enterprise

Imposta hub, imposta credenziali, connetti

Imposta l'host dell'IoT Hub, il deviceId e la chiave SAS (o il certificato X.509), poi connettiti per iscriverti a $iothub/twin/... e pubblicare su 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;

Cosa c'è all'interno

Un client MQTT preconfigurato per Azure IoT Hub che costruisce le stringhe di username/password/topic attese da Microsoft.

Autenticazione con token SAS

Imposta IoT.Authentication := iotAuth_SAS e fornisci la chiave del dispositivo — il componente genera token SAS di breve durata con l'URI risorsa corretto e li firma con HMAC-SHA256.

Autenticazione X.509

Imposta IoT.Authentication := iotAuth_Certificate e carica il certificato foglia / la chiave privata — supporta i flussi thumbprint e CA-signed di IoT Hub.

Device twin

Iscriviti a $iothub/twin/PATCH/properties/desired/# per ricevere push di proprietà desiderate; pubblica su $iothub/twin/PATCH/properties/reported/?$rid= per aggiornare lo stato reported.

Metodi diretti

Iscriviti a $iothub/methods/POST/# per ricevere invocazioni di metodi diretti in ingresso; rispondi su $iothub/methods/res/<status>/?$rid=<id> con il payload di risposta.

Cloud-to-device

Iscriviti a devices/<id>/messages/devicebound/# per i messaggi accodati dall'hub. Il componente consegna ciascuno sull'evento standard OnMQTTPublish.

Sicuro alla riconnessione

WatchDog sul client sottostante si riautentica (nuovo token SAS) e reiscrive ogni topic attivo alla riconnessione — l'applicazione vede uno stream continuo.

Specifiche e riferimenti

Fonti autorevoli per il protocollo implementato da questo componente.

Documentazione e demo

Collegamenti diretti al riferimento del componente, al progetto demo pronto all'uso e al download della versione di prova.

Guida online — TsgcIoTAzure_MQTT_Client Riferimento completo di proprietà, metodi ed eventi di questo componente.
Progetto demo — Demos\10.IoT_Clients Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto.
Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo per questo componente.
Manuale utente (PDF) Manuale completo che copre ogni componente della libreria.

Pronto a connettere Delphi ad Azure IoT?

Scarica la versione di prova gratuita e fai streaming di telemetria IoT da dispositivi Delphi ad Azure IoT Hub.