Настройка прямых методов и позволяет беспроводному датчику температуры отправлять данные в облако Azure. - PullRequest
0 голосов
/ 04 января 2019

Мы вызываем прямой метод, который позволяет беспроводному датчику температуры отправлять данные в облако Azure.

На стороне устройства я вызываю обратный вызов метода устройства для получения прямых методов из облака.Всякий раз, когда я получу это сообщение, я хочу отправить данные в облако.

У меня есть два прямых метода,

  1. Запускает метод - запустить поток.и

  2. Метод Stop - для прекращения потока.

Код:

static int  DeviceMethodCallback(const char *methodName, const unsigned char *payload, int size, unsigned char **response, int *response_size)
{
  LogInfo("Try to invoke method %s", methodName);
  const char *responseMessage = "\"Successfully invoke device method\"";
  int result = 200;

  if (strcmp(methodName, "start") == 0)
  {
    LogInfo("Start sending temperature and humidity data");
    messageSending = true;
  }

Но я получаюследующие ошибки при вызове этих методов из облака.

{"message":"Device {\"Message\":/"{\\\"errorCode\\\":404103,\\\"trackingId\\\":\\\"8fcb31d1dc06486ebe38d4434160543f-G:15-TimeStamp:01/04/2019 06:09:04\\\",\\\"message\\\":\\\"Timed out waiting for device to connect.\\\",\\\"info\\\":{\\\"timeout\\\":\\\"00:02:00\\\"},\\\"timestampUtc\\\":\\\"2019-01-04T06:09:04.668628Z\\\"}\",\"ExceptionMessage\":/"\"} not registered"}

Я предполагаю, что эти ошибки связаны со злонамеренными полезными нагрузками или чем-то подобным.Можете ли вы предложить, в чем проблема?

...