0

当设备孪生属性更改时,我正在尝试在云后端接收通知。为此,我设置了一条路线,如下图链接所示

https://imgur.com/a/uh0mV

我还创建了一个 Azure 函数,该函数在内置端点事件的默认使用者组上触发。但是,当我为其中一台设备更新设备孪生文档时,不会触发 azure 功能。如果我使用 iothubexplorer 或设备资源管理器监视设备的事件,我根本看不到“updateTwin”事件。但是,如果我从收到的设备发送常规设备到云,它会起作用。

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

'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 ""

4

1 回答 1

1

我用您帖子中的代码进行了测试,它可以工作,因此您的路线设置和代码是正确的。 在此处输入图像描述 在此处输入图像描述

你有提到这个话题吗?我想问题与此类似。请尝试检查帐户位置并按照 Roman Kiss 的建议进行测试。

于 2018-03-20T03:18:48.137 回答