【发布时间】:2018-11-14 08:37:39
【问题描述】:
Microsoft 有自己的 SDK 用于与 IoT Hub (Microsoft.Azure.Devices) 交互 它具有一个名为 ServiceClient 的客户端,据我了解,它是您在通过 IoT 中心将消息从后端发送到设备时应该使用的客户端。
当像下面这样初始化 ServiceClient 时,唯一支持的 TransportType 是 Amqp 和 Amqp_websockets_only。我的设备只支持 MQTT。我该怎么办?
public async Task SendMessage()
{
var serviceClient = ServiceClient.CreateFromConnectionString("", TransportType.Amqp);
var commandMessage = new Message(Encoding.ASCII.GetBytes("Cloud to device message."));
await serviceClient.SendAsync("myFirstDevice", commandMessage);
}
根据c2d guidelines“所有协议”都支持。
我已经阅读了this documentation,但它只记录了设备到云,而不是云到设备。
查看SDK documentation,它仅列出了设备到云下关键功能的 AMQP
【问题讨论】:
-
您确定此功能与设备到云端的消息传递有关吗?
-
我什么都不确定。这对我来说是新的领域。
-
好的,本文档中的表格显示了后端应用程序的云到设备消息传递和协议 AMQP 和 AMQP-WS。这是正确的。后端通过 Azure IoT Hub(面向服务的端点)与设备进行通信,并且仅使用 AMQP 和 AMQP-WS 协议,但 Azure IoT Hub 通过连接的设备协议(例如 MQTT)与设备(面向设备的端点)进行通信, AMQP 或 Https。
标签: azure azure-iot-hub