Azure IoT Hub
通过 MQTT 将 Delphi/C++Builder 应用程序连接到 Azure IoT Hub。支持 SAS 令牌或 X.509 设备认证、设备孪生、直接方法调用和云到设备消息传递。
通过 MQTT 将 Delphi/C++Builder 应用程序连接到 Azure IoT Hub。支持 SAS 令牌或 X.509 设备认证、设备孪生、直接方法调用和云到设备消息传递。
Azure IoT Hub MQTT 3.1.1 客户端 — SAS 令牌或 X.509 认证、设备孪生(期望/报告)、直接方法、云到设备消息及 Azure 特定主题约定。
TsgcIoTAzure_MQTT_Client
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
// 订阅云到设备消息
Azure.Subscribe('devices/sensor-001/messages/devicebound/#');
// 订阅孪生期望属性更新
Azure.Subscribe('$iothub/twin/PATCH/properties/desired/#');
end;
Azure.Active := True;
// 发布遥测数据
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;
预配置的 Azure IoT Hub MQTT 客户端,构建 Microsoft 所需的用户名/密码/主题字符串。
设置 IoT.Authentication := iotAuth_SAS 并提供设备密钥 — 组件生成带正确资源 URI 的短期 SAS 令牌并用 HMAC-SHA256 签名。
设置 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 令牌)并重新订阅所有活跃主题 — 应用程序看到连续的数据流。
本组件所实现协议的权威来源。