Azure IoT Hub

Conecte aplicativos Delphi/C++Builder ao Azure IoT Hub via MQTT. Autenticação de dispositivos com token SAS ou X.509, device twin, invocação de método direto e mensagens de nuvem para dispositivo.

TsgcIoTAzure_MQTT_Client

Cliente MQTT 3.1.1 para Azure IoT Hub — autenticação por token SAS ou X.509, device twin (desired/reported), métodos diretos, mensagens de nuvem para dispositivo e convenções de tópico específicas do Azure.

Classe do componente

TsgcIoTAzure_MQTT_Client

Protocolo

Azure IoT Hub MQTT

Plataformas

Windows, macOS, Linux, iOS, Android

Edição

Standard / Professional / Enterprise

Configure o hub, as credenciais e conecte

Configure o host do IoT Hub, deviceId e chave SAS (ou certificado X.509), depois conecte para assinar $iothub/twin/... e publicar em 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;

O que está incluído

Um cliente MQTT pré-configurado para Azure IoT Hub que constrói as strings de usuário/senha/tópico que a Microsoft espera.

Autenticação por token SAS

Configure IoT.Authentication := iotAuth_SAS e forneça a chave do dispositivo — o componente gera tokens SAS de curta duração com o URI de recurso correto e os assina com HMAC-SHA256.

Autenticação X.509

Configure IoT.Authentication := iotAuth_Certificate e carregue o certificado folha / chave privada — suporta os fluxos de thumbprint e CA-signed do IoT Hub.

Device twin

Assine $iothub/twin/PATCH/properties/desired/# para receber atualizações de propriedades desejadas; publique em $iothub/twin/PATCH/properties/reported/?$rid= para atualizar o estado reportado.

Métodos diretos

Assine $iothub/methods/POST/# para receber invocações de método direto; responda em $iothub/methods/res/<status>/?$rid=<id> com o payload de resposta.

Nuvem para dispositivo

Assine devices/<id>/messages/devicebound/# para mensagens enfileiradas pelo hub. O componente entrega cada uma no evento padrão OnMQTTPublish.

Reconexão segura

O WatchDog no cliente subjacente re-autentica (novo token SAS) e resubscreve todos os tópicos ativos na reconexão — a aplicação vê um fluxo contínuo.

Especificações & referências

Fontes oficiais para o protocolo implementado por este componente.

Documentação & Demos

Acesse a referência do componente, pegue o projeto de demonstração pronto para executar e baixe a versão trial.

Ajuda Online — TsgcIoTAzure_MQTT_Client Referência completa de propriedades, métodos e eventos deste componente.
Projeto Demo — Demos\10.IoT_Clients Projeto de exemplo pronto para executar. Incluso no pacote sgcWebSockets — baixe a versão trial abaixo.
Documento Técnico (PDF) Recursos, início rápido, exemplos de código para Delphi & C++ Builder e referências de fonte primária — somente este componente.
Manual do Usuário (PDF) Manual abrangente cobrindo todos os componentes da biblioteca.

Pronto para conectar o Delphi ao Azure IoT?

Baixe a versão trial gratuita e envie telemetria IoT de dispositivos Delphi para o Azure IoT Hub.