Отображение данных Watson IoT Platform - предварительно отформатировать или выполнить внутри платформы - PullRequest
0 голосов
/ 20 мая 2018

Я только начинаю с IBM Watson IoT Platform.Я пытаюсь понять, где мне следует решить мою проблему.Имейте в виду, я не могу изменить само удаленное устройство.

Справочная информация:

Используемый нами сторонний датчик отправляет нам данные в виде нескольких строк JSON в отдельных сообщениях HTTP.Я пересылаю данные через HTTP API

curl -v -X POST -H "Тип содержимого: application / json" -u "use-token-auth: passw0rd" -d @ message.txt https://myOrgID.messaging.internetofthings.ibmcloud.com:8883/api/v0002/device/types/TestDevices/devices/TestPublishEvent/events/TestMessage

Например, устройство имеет несколько датчиков и отправляет одно сообщение HTTP для каждого чтения.

Message.txt может быть:

{
    "device": "device001",
    "timestamp": "2018-05-18T11:16:00.000+0000",
    "sensor": "Temp",
    "value": "32.2",
    "unit": "C"
}

Message.txt также может быть:

{
    "device": "device001",
    "timestamp": "2018-05-18T11:16:00.000+0000",
    "sensor": "Particles",
        "value": "200",
        "unit": "P_4.00_UM"
}

Количество датчиков, которые могут иметь y типов единиц.например, по Цельсию и по Фаренгейту для временных показаний.И частицы бывают десятка размеров.На данный момент есть одно устройство.

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

  1. Я мог бы написать облачную функцию IBM, которая отправляет данные в определенные «Темы» в зависимости от данных на основе фильтра.
  2. Или, возможно, отобразить это в красном узле с помощьютам есть слушатель HTTPS.
  3. Я думаю, что WIOTP можно настроить для обработки моего дела, и я упускаю что-то важное.

Я ищу указатель о том, как действовать, спасибо.

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете начать с фазы POST, если это возможно.Почтовый вызов похож на:

/ device / types / {typeId} / devices / {deviceId} / events / {eventName}

Вы можете заменить {eventName} на Temp или Particles (или любое другое значение).

Кроме того, 3 идеи, которые вы раскрыли, очень хороши.Я бы выбрал 1-й вариант (если производство) и 2-й, если что-нибудь еще (это самый простой вариант).

Для 3-го вы можете проверить управление данными WIOTP:

https://console.bluemix.net/docs/services/IoT/GA_information_management/ga_im_definitions.html#definitions_resources

Даниэль

...