本文将介绍:

Azure IoT Hub 中从云端向设备发送消息的另一种方式“C2D Messages”;

C2D Messages 和Direct Method的区别;

使用Node.js 示例代码演示C2D Message及其离线发送消息的特性。

 

视频讲解:

您可以在B站观看视频讲解:https://www.bilibili.com/video/BV1sK4y1b7Tm/

也可以在本站观看:

 

图文内容:

1. Node.js 示例代码下载地址及开发准备工作请参见《https://www.51azure.cloud/post/2020/4/15/azure-iot-hub-1-prepare

2. Device 侧的示例代码准备:

代码位置:\azure-iot-samples-node-master\iot-hub\Samples\device\receive_c2d.js

需要先执行 npm install , 安装Device SDK:

 

修改设备侧示例代码:

修改连接字符串:

 

禁止 Device 侧程序自动退出:注释掉如下代码即可

 

3. Service 侧示例代码准备

在如下路径 安装 Azure IoT Hub Service SDK:\azure-iot-samples-node-master\iot-hub\Samples\service

执行npm install:

 

修改Service 侧示例代码:\azure-iot-samples-node-master\iot-hub\Samples\service\service_client\send_c2d_message

修改IoT Hub的连接字符串,注意不是Device 连接字符串,修改 要控制的设备ID:

 

可以修改云端发送给设备的消息体:

 

4. 运行设备代码,运行服务代码:

设备侧代码运行结果如下:

服务测代码运行结果如下:

设备侧立即收到通知:

 

5. 验证 设备离线可发送消息:

关闭设备侧程序;

运行服务端程序;

再次启动设备侧程序,能收到如下消息: