物联网HUB设备node.js sdk message.on方法不起作用

时间:2018-07-31 14:16:32

标签: azure-iot-hub

一旦事件将通过设备Node.JS sdk从设备发送到Cloud IOT-HUB,则一旦在IOT-Hub上接收到消息,就需要将其确认给nodejs。 我们发现有关相同的参考,下面提到的方法应该适用于相同的方法。

client.on('message', function(msg) {
                console.log('Received Message from IoT Hub: ' + msg.data);
                client.complete(msg, printResultFor('completed'));
                // We are done here
            });

但是这种方法在任何情况下都不会触发。 请提出建议。

1 个答案:

答案 0 :(得分:0)

您对问题的描述与您的代码行不一致。

  

一旦事件将通过设备通过设备发送到Cloud IOT-HUB   Node.JS sdk,一旦在IOT-Hub上收到消息,则需要   确认给nodejs。

正在谈论IoT中心收到的D2C消息。

client.on('message', function(msg) {
                console.log('Received Message from IoT Hub: ' + msg.data);
                client.complete(msg, printResultFor('completed'));
                // We are done here
            });

但这是关于在设备客户端接收C2D消息的问题。

要触发此方法client.on,您需要从IoT中心服务器端发送C2D消息。出于测试目的,您只需从Azure门户或IoT Hub Device Explorer tool发送C2D消息即可:

enter image description here

enter image description here

如果运行此示例:simple_sample_device.js,您将收到这样的D2C消息(我将console.log('client.on triggered!!!');这一行添加到示例代码中):

enter image description here