Azure IoT 中心:使用 MQTT 和 SDK 的云到设备消息传递
Azure IoT Hub : Cloud to Device messaging using MQTT and SDK
Microsoft 有自己的 SDK 用于与 IoT 中心交互 (Microsoft.Azure.Devices)
它具有一个名为 ServiceClient 的客户端,据我所知,它是您在通过 IoT 中心将消息从后端发送到设备时应该使用的客户端。
像下面这样初始化 ServiceClient 时,唯一支持的传输类型是 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"all protocols"都支持。
我已经通读了 this documentation,但它只记录了设备到云端,而不是云端到设备。
查看 SDK documentation 它只列出了设备到云下关键功能的 AMQP
对于设备到云的消息传递,设备可以使用 MQTT、MQTT-WS、AMQP、AMQP-WS 或 HTTP 协议。见IoT Hub device SDK key features. A device communicates with IoT Hub for both d2c and c2d using the Microsoft Azure IoT device SDK for .NET。请注意,还有适用于 Java、Node、Python 和 C.
的设备 SDK
如果您有一个后端应用程序需要向设备发送 c2d 消息,那么该后端应用程序应使用 Azure 物联网服务 SDK 之一,例如
Microsoft Azure IoT service SDK for C# 连接到 IoT 中心并发送 c2d 消息。后端应用程序必须使用 AMQP 或 AMQP-WS。
设备连接IoT Hub使用的协议独立于后端应用连接IoT Hub使用的协议。例如,后端应用程序可以使用 AMQP 连接到 IoT 中心,以将 c2d 消息发送到使用 MQTT 连接到中心的设备。
Microsoft 有自己的 SDK 用于与 IoT 中心交互 (Microsoft.Azure.Devices) 它具有一个名为 ServiceClient 的客户端,据我所知,它是您在通过 IoT 中心将消息从后端发送到设备时应该使用的客户端。
像下面这样初始化 ServiceClient 时,唯一支持的传输类型是 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"all protocols"都支持。
我已经通读了 this documentation,但它只记录了设备到云端,而不是云端到设备。
查看 SDK documentation 它只列出了设备到云下关键功能的 AMQP
对于设备到云的消息传递,设备可以使用 MQTT、MQTT-WS、AMQP、AMQP-WS 或 HTTP 协议。见IoT Hub device SDK key features. A device communicates with IoT Hub for both d2c and c2d using the Microsoft Azure IoT device SDK for .NET。请注意,还有适用于 Java、Node、Python 和 C.
的设备 SDK如果您有一个后端应用程序需要向设备发送 c2d 消息,那么该后端应用程序应使用 Azure 物联网服务 SDK 之一,例如 Microsoft Azure IoT service SDK for C# 连接到 IoT 中心并发送 c2d 消息。后端应用程序必须使用 AMQP 或 AMQP-WS。
设备连接IoT Hub使用的协议独立于后端应用连接IoT Hub使用的协议。例如,后端应用程序可以使用 AMQP 连接到 IoT 中心,以将 c2d 消息发送到使用 MQTT 连接到中心的设备。