Azure IoT Hub

Verbinde Delphi-/C++Builder-Anwendungen über MQTT mit Azure IoT Hub. SAS-Token- oder X.509-Geräteauthentifizierung, Device Twin, Direct-Method-Aufrufe und Cloud-zu-Gerät-Nachrichten.

TsgcIoTAzure_MQTT_Client

Azure-IoT-Hub-MQTT-3.1.1-Client — SAS-Token- oder X.509-Authentifizierung, Device Twin (desired/reported), Direct Methods, Cloud-zu-Gerät-Nachrichten und Azure-spezifische Topic-Konventionen.

Komponentenklasse

TsgcIoTAzure_MQTT_Client

Protokoll

Azure IoT Hub MQTT

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Standard / Professional / Enterprise

Hub festlegen, Credentials setzen, verbinden

Setze den IoT-Hub-Host, die deviceId und den SAS-Key (oder das X.509-Zertifikat), verbinde dich, abonniere $iothub/twin/... und veröffentliche auf 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;

Was steckt drin

Ein vorkonfigurierter MQTT-Client für Azure IoT Hub, der die von Microsoft erwarteten Username-/Password-/Topic-Strings erzeugt.

SAS-Token-Authentifizierung

Setze IoT.Authentication := iotAuth_SAS und liefere den Device-Key — die Komponente generiert kurzlebige SAS-Tokens mit dem richtigen Resource-URI und signiert sie mit HMAC-SHA256.

X.509-Authentifizierung

Setze IoT.Authentication := iotAuth_Certificate und lade Leaf-Zertifikat und privaten Schlüssel — unterstützt die IoT-Hub-Thumbprint- und CA-signierten Flows.

Device Twin

Abonniere $iothub/twin/PATCH/properties/desired/# für Desired-Property-Pushes; veröffentliche auf $iothub/twin/PATCH/properties/reported/?$rid=, um den Reported-State zu aktualisieren.

Direct Methods

Abonniere $iothub/methods/POST/# für eingehende Direct-Method-Aufrufe; antworte auf $iothub/methods/res/<status>/?$rid=<id> mit dem Antwort-Payload.

Cloud-zu-Gerät

Abonniere devices/<id>/messages/devicebound/# für vom Hub eingereihte Nachrichten. Die Komponente liefert jede über das Standard-Event OnMQTTPublish.

Reconnect-sicher

WatchDog am zugrundeliegenden Client authentifiziert sich neu (frisches SAS-Token) und abonniert jedes aktive Topic beim Reconnect erneut — die Anwendung sieht einen kontinuierlichen Stream.

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 — TsgcIoTAzure_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 Azure IoT zu verbinden?

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