Azure IoT Central - отображение результатов выполнения команд

Как отобразить результаты команд в IoT Central - страница команд?

Поток:

  • Команда отправлена ​​на устройство
  • Устройство получает команду и возвращает полезную нагрузку:
{
  "status": 200,
  "payload": {
    "command": "ping",
    "result_code": "ok",
    "result_data": "ping 5 ms"
  }
}

Как отобразить эти данные в IoT Central?

Теперь IoT Central показывает только сообщение "Отправлено в..." по умолчанию.

1 ответ

Решение

Если вы задали сообщаемое свойство с тем же именем, что и команда, при обработке команды на устройстве, то вы можете установить значение, которое будет отображаться в пользовательском интерфейсе IoT Central. Например, используя Node.js, вы можете создать обработчик для метода обратного отсчета:

function onCountdown(request, response) {
  console.log('received a request for Countdown');
  console.log(JSON.stringify(request.payload, null, 2));
  var fakeResponsePayload = {
    key: 'value'
  };

  response.send(200, fakeResponsePayload, function (err) {
    if (err) {
      console.error('Unable to send method response: ' + err.toString());
    } else {
      console.log('response to Countdown sent.');
      client.getTwin(function(err, twin) {
        if (err) {
          console.error('could not get twin');
        } else {
          console.log('twin created');
          var patch = {
            countdown:{
              value: 18
            }
          };
          twin.properties.reported.update(patch, function(err) {
            if (err) {
              console.error('unable to update twin: ' + err.toString());
            } else {
              console.log('twin state reported');
            }
          });
        }
      });      
    }
  });
}

client.onDeviceMethod('countdown', onCountdown);

Обратите внимание, что именем поля имени команды является обратный отсчет.

Здесь также есть пример C++: https://github.com/Azure/iot-central-firmware/blob/master/MXCHIP/mxchip_advanced/src/registeredMethodHandlers.cpp

Другие вопросы по тегам