Azure IoT Hub

Połącz aplikacje Delphi/C++Builder z Azure IoT Hub przez MQTT. Uwierzytelnianie urządzeń tokenem SAS lub certyfikatem X.509, device twin, bezpośrednie wywoływanie metod i wiadomości cloud-to-device.

TsgcIoTAzure_MQTT_Client

Klient MQTT 3.1.1 dla Azure IoT Hub — uwierzytelnianie tokenem SAS lub certyfikatem X.509, device twin (desired/reported), metody bezpośrednie, wiadomości cloud-to-device oraz konwencje tematów specyficzne dla Azure.

Klasa komponentu

TsgcIoTAzure_MQTT_Client

Protokół

Azure IoT Hub MQTT

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Standard / Professional / Enterprise

Ustaw hub, skonfiguruj poświadczenia, połącz

Ustaw hosta IoT Hub, deviceId i klucz SAS (lub certyfikat X.509), a następnie połącz się, aby subskrybować $iothub/twin/... i publikować do 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;

Co zawiera

Wstępnie skonfigurowany klient MQTT dla Azure IoT Hub, który generuje ciągi nazwy użytkownika/hasła/tematu zgodne z wymaganiami Microsoft.

Uwierzytelnianie tokenem SAS

Ustaw IoT.Authentication := iotAuth_SAS i podaj klucz urządzenia — komponent generuje krótkotrwałe tokeny SAS z prawidłowym URI zasobu i podpisuje je algorytmem HMAC-SHA256.

Uwierzytelnianie X.509

Ustaw IoT.Authentication := iotAuth_Certificate i załaduj certyfikat liścia / klucz prywatny — obsługuje thumbprint IoT Hub oraz przepływy podpisane przez CA.

Device twin

Subskrybuj $iothub/twin/PATCH/properties/desired/#, aby odbierać aktualizacje desired properties; publikuj do $iothub/twin/PATCH/properties/reported/?$rid=, aby aktualizować stan reported.

Metody bezpośrednie

Subskrybuj $iothub/methods/POST/#, aby odbierać wywołania metod bezpośrednich; odpowiadaj przez $iothub/methods/res/<status>/?$rid=<id> z ładunkiem odpowiedzi.

Cloud-to-device

Subskrybuj devices/<id>/messages/devicebound/#, aby odbierać wiadomości kolejkowane przez hub. Komponent dostarcza każdą z nich przez standardowe zdarzenie OnMQTTPublish.

Bezpieczne ponowne połączenie

WatchDog w kliencie bazowym ponownie uwierzytelnia się (nowy token SAS) i subskrybuje ponownie wszystkie aktywne tematy przy wznowieniu połączenia — aplikacja widzi ciągły strumień.

Specyfikacje i referencje

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

Dokumentacja i dema

Link do dokumentacji komponentu, gotowy do uruchomienia projekt demonstracyjny i pobieranie wersji próbnej.

Pomoc online — TsgcIoTAzure_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. Dołączony do pakietu sgcWebSockets — pobierz wersję próbną poniżej.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz referencje źródłowe — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.

Gotowy do połączenia Delphi z Azure IoT?

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