Azure IoT Hub

Delphi/C++Builder uygulamalarını MQTT üzerinden Azure IoT Hub'a bağlayın. SAS token veya X.509 cihaz kimlik doğrulaması, device twin, doğrudan metot çağrısı ve buluttan cihaza mesajlaşma.

TsgcIoTAzure_MQTT_Client

Azure IoT Hub MQTT 3.1.1 istemcisi — SAS token veya X.509 kimlik doğrulaması, device twin (desired/reported), doğrudan metotlar, buluttan cihaza mesajlar ve Azure'a özgü konu kuralları.

Bileşen sınıfı

TsgcIoTAzure_MQTT_Client

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Standard / Professional / Enterprise

Hub'ı ayarlayın, kimlik bilgilerini ayarlayın, bağlanın

IoT Hub ana bilgisayarını, deviceId'yi ve SAS anahtarını (veya X.509 sertifikasını) ayarlayın, ardından $iothub/twin/... konularına abone olmak ve devices/<id>/messages/events/ adresine yayımlamak için bağlanın.

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;

İçeriğinde neler var

Microsoft'un beklediği kullanıcı adı/parola/konu dizelerini oluşturan, Azure IoT Hub için önceden yapılandırılmış bir MQTT istemcisi.

SAS token kimlik doğrulaması

IoT.Authentication := iotAuth_SAS ayarlayın ve cihaz anahtarını sağlayın — bileşen doğru kaynak URI'si ile kısa ömürlü SAS token'ları üretir ve bunları HMAC-SHA256 ile imzalar.

X.509 kimlik doğrulaması

IoT.Authentication := iotAuth_Certificate ayarlayın ve uç sertifikayı / özel anahtarı yükleyin — IoT Hub thumbprint ve CA ile imzalanmış akışları destekler.

Device twin

Desired-property gönderimleri için $iothub/twin/PATCH/properties/desired/# konusuna abone olun; bildirilen durumu güncellemek için $iothub/twin/PATCH/properties/reported/?$rid= adresine yayımlayın.

Doğrudan metotlar

Gelen doğrudan metot çağrıları için $iothub/methods/POST/# konusuna abone olun; yanıt yüküyle $iothub/methods/res/<status>/?$rid=<id> üzerinden yanıt verin.

Buluttan cihaza

Hub tarafından kuyruğa alınan mesajlar için devices/<id>/messages/devicebound/# konusuna abone olun. Bileşen her birini standart OnMQTTPublish olayında teslim eder.

Yeniden bağlanmaya dayanıklı

Temel istemcideki WatchDog, yeniden bağlanmada yeniden kimlik doğrular (yeni SAS token) ve her etkin konuya yeniden abone olur — uygulama kesintisiz bir akış görür.

Spesifikasyonlar ve referanslar

Bu bileşenin uyguladığı protokol için yetkili kaynaklar.

Belgeler ve Demolar

Bileşen referansına doğrudan bağlanın, kullanıma hazır demo projesini alın ve denemeyi indirin.

Çevrimiçi Yardım — TsgcIoTAzure_MQTT_Client Bu bileşen için tam özellik, metot ve olay referansı.
Demo Projesi — Demos\10.IoT_Clients Kullanıma hazır örnek proje. sgcWebSockets paketi içinde gelir — aşağıdan denemeyi indirin.
Teknik Belge (PDF) Delphi ve C++ Builder için özellikler, hızlı başlangıç, kod örnekleri ve birincil kaynak referansları — yalnızca bu bileşen.
Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz.

Delphi'yi Azure IoT'ye Bağlamaya Hazır mısınız?

Ücretsiz denemeyi indirin ve Delphi cihazlarından Azure IoT Hub'a IoT telemetrisi akıtın.