如何使用HTTP API从IBM Watson设备中提取事件数据

时间:2019-01-28 18:24:23

标签: iot ibm-watson labview watson-iot httpapi

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

用于位置的网址: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 :(得分: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获取缓存的事件:

flatten

或者,如果您想要特定的事件:https://<org_id>.internetofthings.ibmcloud.com/api/v0002/device/types/<devicetype>/devices/<deviceid>/events