0

我有 ibm Watson 帐户并将我的 labview 设备连接到 IBM 云。我需要提取从 labivew 发送的数据,以便在 MIT app Inventor 中查看数据。我能够获取位置、时间戳和其他信息(例如事件),但无法获取原始事件数据。

用于位置的 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-key 以进行身份​​验证和其他访问。

4

1 回答 1

1

我假设您正在尝试通过 API 访问最后一个事件缓存,而不是通过 MQTT 实时流式传输实时事件?

就是这种情况,并且您收到 http 403 响应,那么我很可能会怀疑您没有在设置中启用最后一个事件缓存功能。默认情况下,最后一个事件缓存被禁用。

参考:https ://ibm-watson-iot.github.io/iot-python/application/api/lec/

Last Event Cache 是 Watson IoT Platform 中的一个可选功能,启用后允许缓存每个注册设备为每个 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>

于 2019-02-03T19:02:04.950 回答