如何使用azure中的节点js获取/查找设备/控制器的固件版本?

时间:2018-02-16 10:20:31

标签: node.js azure-iot-hub

如何使用azure中的节点j获取/查找设备/控制器的固件版本?

  

该设备实际上已添加到Azure上的IoT Hub中。我正在使用node.js   用于获取固件版本的框架。

下面我添加了我的设备。设备按预期工作。我只想要/获取固件版本。 Please click here to see the image

1 个答案:

答案 0 :(得分:2)

答案是

//*N++ update table
var macId = GetDeviceId();
updateFirmwareVersion(macId);


//*N+start update firmware version
function updateFirmwareVersion(deviceId){
    registry.getTwin(deviceId, function(err, twin){
        if (err) {
          console.log('Could not query twins: ' + err.constructor.name + ': ' + err.message);
        } else {
          console.log((JSON.stringify(twin.properties.reported.AzureFwVersion)) + "\n");
          var azureFwVersion = twin.properties.reported.AzureFwVersion;
          var s = azureFwVersion.lastIndexOf(".");

          var res = azureFwVersion.substring(s+1, azureFwVersion.length);
          var firmwareV = Number(res).toString(16).toUpperCase() + '00';

             //SQL starts
            new sql.Request()
                    .query("UPDATE MY_Table SET firmware = '" + firmwareV + "'").then(function (recordset) {
               }).catch(function (err) {
                    console.log('update table for firmware' + err);
            });

        }
    });
}
//*N+end update firmware version

请参阅以下链接了解详情 https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-node-node-firmware-update#trigger-a-remote-firmware-update-on-the-device-using-a-direct-method