Как извлечь данные о событии с помощью HTTP API из устройства IBM watson - PullRequest
0 голосов
/ 28 января 2019

У меня есть учетная запись ibm Watson и я подключил свое устройство labview к облаку IBM.Мне нужно извлечь данные, которые я отправил из labivew, чтобы просмотреть данные в приложении MIT.Я могу получить местоположение, метку времени и другую информацию, например события, но не могу получить необработанные данные о событиях.

URL-адрес, используемый для определения местоположения: https://<org_id>.internetofthings.ibmcloud.com/api/v0002/device/types/<devicetype>/devices/<deviceid>/location

Результат:

{  
   "longitude":0.0,
   "latitude":0.0,
   "elevation":0.0,
   "accuracy":0.0,
   "measuredDateTime":"2016-08-24T16:47:42.393Z",
   "updatedDateTime":"2019-01-28T18:17:07+00:00"
}

Точно так же, как получить данные, которые публикуются через событие.Когда я пытаюсь получить доступ к данным, отображается ошибка «Отказано в доступе».Я не уверен, как ввести мой API-ключ для аутентификации и другого доступа.

1 Ответ

0 голосов
/ 03 февраля 2019

Я предполагаю, что вы пытаетесь получить доступ к последнему кешу событий через API, а точнее в прямом эфире потоковую передачу событий в реальном времени через MQTT?

Это именно тот случай, и вы получаете ответ http 403, тогда, скорее всего, я подозреваю, что вы не включили функцию кэширования последних событий в своих настройках.По умолчанию кэш последних событий отключен.

Ссылка: https://ibm -watson-iot.github.io / iot-python / application / api / lec /

Кэш последнего события - это дополнительная функция в платформе Watson IoT, которая при включении позволяет кэшировать последнее событие, отправленное для каждого eventId каждым зарегистрированным устройством.По умолчанию эта функция отключена, чтобы использовать эту функцию, вы должны включить ее с панели управления по адресу https://MYORGID.internetofthings.ibmcloud.com/dashboard/settings.

После включения функции LEC вы сможете получить кэшированное событие через APIв:

https://<org_id>.internetofthings.ibmcloud.com/api/v0002/device/types/<devicetype>/devices/<deviceid>/events

Или, если вы хотите конкретное событие: https://<org_id>.internetofthings.ibmcloud.com/api/v0002/device/types/<devicetype>/devices/<deviceid>/events/<eventid>

...