Azure IoT Hub (TsgcIoTAzure_MQTT_Client) — sgcWebSockets | eSeGeCe

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) 라이브러리의 모든 컴포넌트를 다루는 종합 매뉴얼입니다.
최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

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

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