Azure IoT Hub

MQTT를 통해 Delphi/C++Builder 애플리케이션을 Azure IoT Hub에 연결하세요. SAS 토큰 또는 X.509 디바이스 인증, 디바이스 트윈, 직접 메서드 호출, 클라우드-디바이스 메시징을 지원합니다.

TsgcIoTAzure_MQTT_Client

Azure IoT Hub MQTT 3.1.1 클라이언트 — SAS 토큰 또는 X.509 인증, 디바이스 트윈(목표/보고), 직접 메서드, 클라우드-디바이스 메시지 및 Azure 고유 토픽 규칙을 지원합니다.

컴포넌트 클래스

TsgcIoTAzure_MQTT_Client

프로토콜

Azure IoT Hub MQTT

플랫폼

Windows, macOS, Linux, iOS, Android

에디션

Standard / Professional / Enterprise

허브 설정, 자격 증명 설정, 연결

IoT Hub 호스트, deviceId, SAS 키(또는 X.509 인증서)를 설정한 뒤 $iothub/twin/...을 구독하고 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;

내부 구성

Microsoft가 요구하는 사용자 이름/비밀번호/토픽 문자열을 자동으로 구성하는 Azure IoT Hub 전용 사전 구성 MQTT 클라이언트입니다.

SAS 토큰 인증

IoT.Authentication := iotAuth_SAS를 설정하고 디바이스 키를 제공하세요. 컴포넌트가 올바른 리소스 URI로 단기 SAS 토큰을 생성하고 HMAC-SHA256으로 서명합니다.

X.509 인증

IoT.Authentication := iotAuth_Certificate를 설정하고 리프 인증서/개인 키를 로드하세요. IoT Hub 지문 및 CA 서명 흐름을 지원합니다.

디바이스 트윈

목표 속성 푸시를 받으려면 $iothub/twin/PATCH/properties/desired/#를 구독하고, 보고 상태를 업데이트하려면 $iothub/twin/PATCH/properties/reported/?$rid=에 발행하세요.

직접 메서드

인바운드 직접 메서드 호출을 받으려면 $iothub/methods/POST/#를 구독하고, 응답 페이로드와 함께 $iothub/methods/res/<status>/?$rid=<id>로 응답하세요.

클라우드-디바이스

허브에 큐잉된 메시지를 받으려면 devices/<id>/messages/devicebound/#를 구독하세요. 컴포넌트는 각 메시지를 표준 OnMQTTPublish 이벤트로 전달합니다.

재연결 안전

기본 클라이언트의 WatchDog이 재연결 시 재인증(새로운 SAS 토큰)하고 모든 활성 토픽을 재구독하므로, 애플리케이션은 연속적인 스트림을 유지합니다.

사양 및 참고문헌

이 컴포넌트가 구현하는 프로토콜의 공식 출처입니다.

문서 및 데모

컴포넌트 레퍼런스로 바로 이동하고, 실행 가능한 데모 프로젝트를 받아보세요.

온라인 도움말 — TsgcIoTAzure_MQTT_Client 이 컴포넌트의 전체 속성, 메서드 및 이벤트 레퍼런스입니다.
데모 프로젝트 — Demos\10.IoT_Clients 실행 가능한 예제 프로젝트입니다. sgcWebSockets 패키지에 포함되어 있습니다.
기술 문서 (PDF) Delphi 및 C++ Builder용 코드 샘플과 기능 설명이 포함된 기술 문서입니다.
사용자 매뉴얼 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 매뉴얼입니다.

Delphi를 Azure IoT에 연결할 준비가 되셨나요?

무료 체험판을 다운로드하고 Delphi 디바이스에서 Azure IoT Hub로 IoT 텔레메트리를 스트리밍해 보세요.