Azure IoT Hub设备双变更通知问题

时间:2018-03-19 16:25:25

标签: azure iot azure-eventhub azure-iot-hub azure-iot-sdk

当Device Twin属性发生变化时,我正在尝试在云后端接收通知。为此,我设置了一条路线,如下面的图片链接所示

https://imgur.com/a/uh0mV

我还创建了一个Azure函数,该函数在内置端点事件的默认使用者组上触发。但是,当我为我的某个设备更新设备双文档时,azure功能不会触发。如果我使用iothubexplorer或Device explorer监控设备的事件,我根本看不到“updateTwin”事件。但是,如果我从我收到的设备发送常规设备到云,它就可以工作。

我使用以下代码更新设备twin:

'use strict';

var Client = require('azure-iot-device').Client;
var Protocol = require('azure-iot-device-mqtt').Mqtt;

var connectionString = '';
var client = Client.fromConnectionString(connectionString, Protocol);


client.open(function(err) {
if (err) {
    console.error('could not open IotHub client');
}  else {
    console.log('client opened');

    client.getTwin(function(err, twin) {
    if (err) {
        console.error('could not get twin');
    } else {
        var body = {
            temperature: '40'
        }

        console.log(twin.properties.reported);

        twin.properties.reported.update(body, function(err) {
            if (err) {
                console.error('could not update twin');
            } else {
                console.log('twin state reported');
                process.exit();
            }
        });
    }
    });
}
});

我还尝试使用以下命令使用iothub-explorer:         iothub-explorer update-twin InitialDevice {\“properties \”:{\“desired \”:     {\“interval \”:9000}}} --login“”

1 个答案:

答案 0 :(得分:1)

我测试了你帖子中的代码,它有效,所以你的路由设置和代码是正确的。 enter image description here enter image description here

你有没有提到这个topic?我猜问题与此类似。请尝试检查帐户位置并使用Roman Kiss的建议进行测试。