Azure IoT Hub

Connecte les applications Delphi/C++Builder à Azure IoT Hub via MQTT. Authentification des appareils par jeton SAS ou X.509, device twin, invocation de méthodes directes et messagerie cloud-vers-appareil.

TsgcIoTAzure_MQTT_Client

Client MQTT 3.1.1 pour Azure IoT Hub — authentification par jeton SAS ou X.509, device twin (desired/reported), méthodes directes, messages cloud-vers-appareil et conventions de topics propres à Azure.

Classe du composant

TsgcIoTAzure_MQTT_Client

Protocole

Azure IoT Hub MQTT

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Standard / Professional / Enterprise

Configure le hub, les credentials, connecte

Configure l'hôte IoT Hub, le deviceId et la clé SAS (ou le certificat X.509), puis connecte-toi pour t'abonner à $iothub/twin/... et publier sur 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;

Sous le capot

Un client MQTT préconfiguré pour Azure IoT Hub qui construit les chaînes username/password/topic attendues par Microsoft.

Authentification par jeton SAS

Configure IoT.Authentication := iotAuth_SAS et fournis la clé de l'appareil — le composant génère des jetons SAS à durée courte avec la bonne URI de ressource et les signe en HMAC-SHA256.

Authentification X.509

Configure IoT.Authentication := iotAuth_Certificate et charge le certificat feuille et la clé privée — prise en charge des flux empreinte IoT Hub et signés par CA.

Device twin

Abonne-toi à $iothub/twin/PATCH/properties/desired/# pour les pushs de propriétés desired ; publie sur $iothub/twin/PATCH/properties/reported/?$rid= pour mettre à jour l'état reported.

Méthodes directes

Abonne-toi à $iothub/methods/POST/# pour les invocations de méthodes directes entrantes ; réponds sur $iothub/methods/res/<status>/?$rid=<id> avec la charge utile de réponse.

Cloud-vers-appareil

Abonne-toi à devices/<id>/messages/devicebound/# pour les messages mis en file par le hub. Le composant livre chacun via l'événement standard OnMQTTPublish.

Sécurité de reconnexion

WatchDog sur le client sous-jacent se ré-authentifie (nouveau jeton SAS) et se réabonne à chaque topic actif lors de la reconnexion — l'application voit un flux continu.

Spécifications et références

Sources de référence pour le protocole implémenté par ce composant.

Documentation et démos

Lien direct vers la référence du composant, projet de démo prêt à l'emploi et téléchargement de l'essai.

Aide en ligne — TsgcIoTAzure_MQTT_Client Référence complète des propriétés, méthodes et événements de ce composant.
Projet de démo — Demos\10.IoT_Clients Projet d'exemple prêt à l'emploi. Livré dans le package sgcWebSockets — télécharge l'essai ci-dessous.
Document technique (PDF) Fonctionnalités, démarrage rapide, exemples de code Delphi et C++ Builder et références primaires — ce composant uniquement.
Manuel utilisateur (PDF) Manuel complet couvrant tous les composants de la bibliothèque.

Prêt à connecter Delphi à Azure IoT ?

Télécharge l'essai gratuit et diffuse la télémétrie IoT depuis des appareils Delphi vers Azure IoT Hub.