Sean Yu

IoT Specialty/Microsoft MVP/MCT

Azure IoT Hub 十分钟入门系列 (5)- 10分钟实现云到设备的消息(direct method,Node.js示例)


(Edit on 06/06/2020 22:33) | China Standard Time
(Edit on 06/06/2020 22:33) | China Standard Time 469 Reads

 

本文主要分享一个案例:

10分钟内从云端向设备发送控制指令

 

本文主要有如下内容:

1.了解云到设备的消息种类

2. 了解Direct Method的使用场景

2. 使用Direct Method方式在云端向设备发送控制指令

 

视频讲解:

请观看B站视频:https://www.bilibili.com/video/av90333825/

或本站视频(内容相同,二选一即可)

图文内容:

 

云到设备有三种方式发送/传递消息

Here is a detailed comparison of the various cloud-to-device communication options.

 

Direct methods

直接方法

Twin's desired properties

设备孪生属性

Cloud-to-device messages

云到设备的消息

Scenario

Commands that require immediate confirmation, such as turning on a fan.

需要立即确认的方案,比如立刻打开风扇

Long-running commands intended to put the device into a certain desired state. For example, set the telemetry send interval to 30 minutes.

旨在将设备置于某个所需状态的长时间运行命令。 例如,将遥测发送间隔设置为 30 分钟。

One-way notifications to the device app.

提供给设备应用的单向通知。

Data flow

Two-way. The device app can respond to the method right away. The solution back end receives the outcome contextually to the request.

双向。 设备应用可以立即响应方法。 解决方案后端根据上下文接收请求结果

One-way. The device app receives a notification with the property change.

单向。 设备应用接收更改了属性的通知。

One-way. The device app receives the message

单向。 设备应用接收消息

Durability

Disconnected devices are not contacted. The solution back end is notified that the device is not connected.

不联系已断开连接的设备。 通知解决方案后端:设备未连接。

Property values are preserved in the device twin. Device will read it at next reconnection. 

设备孪生会保留属性值。 设备会在下次重新连接时读取属性值。 

Messages can be retained by IoT Hub for up to 48 hours.

IoT 中心可保留消息长达 48 小时。

Targets

Single device using deviceId, or multiple devices using jobs.

通过 deviceId与单个设备通信,或通过 作业与多个设备通信。

Single device using deviceId, or multiple devices using jobs.

通过 deviceId与单个设备通信,或通过 作业与多个设备通信。

Single device by deviceId.

通过 deviceId与单个设备通信。

Size

Maximum direct method payload size is 128 KB.

最大128KB

Maximum desired properties size is 8 KB.

最大8KB

Up to 64 KB messages.

最大64KB

Frequency

High. For more information, see IoT Hub limits.

最高

Medium. For more information, see IoT Hub limits.

中等

Low. For more information, see IoT Hub limits.

最低

Protocol

Available using MQTT or AMQP.

MQTT或AMQP时可用

Available using MQTT or AMQP.

MQTT或AMQP时可用

Available on all protocols. Device must poll when using HTTPS.

在所有协议上可用。 使用 HTTPS 时,设备必须轮询。

 

案例:

本文请参考官网链接:https://docs.azure.cn/zh-cn/iot-hub/quickstart-control-device-node

使用两个预先编写的 Node.js 应用程序:

  • 可响应直接方法的模拟设备应用程序。 
  • 后端应用程序,可在模拟设备上调用直接方法。

Comments 0