本文将介绍:
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. 验证 设备离线可发送消息:
关闭设备侧程序;
运行服务端程序;
再次启动设备侧程序,能收到如下消息: