edit

数据存储统计

Hekr Cloud 提供简单的 REST API 来进行简单的数据统计,您可以利用这些API进行简单数据分析。

产品参数

所谓产品参数,即为与某个特定设备相关的有值意义的属性,例如空气净化器当前获取到的空气中PM2.5的数值、智能空调获取当前的室温、智能 洗衣机当前的水位线等等。它们都能记录和表征某个设备在某段时间内的工作状态等,所以当您定义设备的协议模板时候并正式发布后,您的设备在 工作连接Hekr Cloud的时候,变会自动依据 Hekr 连接管理协议 将这些参数上报到Hekr Cloud上,随机您就可以利用这些积累的数据进行 统计计算和挖据,从而更好地为您的应用服务。

在氦氪云控制台->产品管理->参数信息->产品参数信息页面里能看到当前已添加的产品参数。

设备聚合统计

如果您想统计产品参数并画图渲染出其曲线和趋势,那么您可以调用:

curl -v -X GET \
    -H "Authorization: Bearer {JWT_TOKEN}" \
    -H "X-Hekr-ProdPubKey: {PPK}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://user-openapi.hekr.me/user/deviceStatistics?devTid=1234&startTime=1111&endTime=1111&dataTag=pm25,aqi,timeUnit=MINUTE_5"

注意这里需要指定 startTime参数。

timeUnit取值范围为:

  • MINUTE_5 每5分钟的数据
  • HOUR 每小时的数据
  • DAY 每天的数据
  • MONTH 每月的数据-

另外该接口提供了3个简易的包装接口,您也可以直接调用以下接口:

近一天时间内产品参数简单聚合统计

该接口返回以当前时间节点开始近一天内的产品参数简单聚合统计数据,注意该接口并不需要指定startTime参数

curl -v -X GET \
    -H "Authorization: Bearer {JWT_TOKEN}" \
    -H "X-Hekr-ProdPubKey: {PPK}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://user-openapi.hekr.me/user/deviceStatistics/daily?devTid=1234&dataTag=pm25,aqi"

近一周时间内产品参数简单聚合统计

该接口返回以当前时间节点开始近一周内的产品参数简单聚合统计数据,注意该接口并不需要指定startTime参数

curl -v -X GET \
    -H "Authorization: Bearer {JWT_TOKEN}" \
    -H "X-Hekr-ProdPubKey: {PPK}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://user-openapi.hekr.me/user/deviceStatistics/weekly?devTid=1234&dataTag=pm25,aqi"

近一月时间内产品参数简单聚合统计

该接口返回以当前时间节点开始近一月内(注意这里默认是30天)的产品参数简单聚合统计数据,注意该接口并不需要指定startTime参数

curl -v -X GET \
    -H "Authorization: Bearer {JWT_TOKEN}" \
    -H "X-Hekr-ProdPubKey: {PPK}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://user-openapi.hekr.me/user/deviceStatistics/monthly?devTid=1234&dataTag=pm25,aqi"

若调用成功,则 Hekr Cloud 会返回如下结果,该结果即为指定范围内指定的产品参数的点集合,各个点直接的时间差值是 固定 的,因而您可以 根据点集配合您的三方控件进行画图展示:

< 200
< [
    {
        "cnt": 20.0,                                    // count
        "avg": 567.35,                                  // average
        "cid": "5102af881daf",
        "max": 989.0,
        "sum": 11347.0,
        "min": 57.0,
        "pid": "01662606768",
        "mid": "0178fba35c8a",
        "devTid": "local-2016-06-02T13-45-47",
        "tag": "pm",
        "startTime": 1464848700000,
        "endTime": 1464849000000
    },
    {
        "cnt": 30.0,
        "avg": 471.03333333333336,
        "cid": "5102af881daf",
        "max": 996.0,
        "sum": 14131.0,
        "min": 1.0,
        "pid": "01662606768",
        "mid": "0178fba35c8a",
        "devTid": "local-2016-06-02T13-45-47",
        "tag": "pm",
        "startTime": 1464849000000,
        "endTime": 1464849300000
    }
]

以下图即为一个渲染的例子:

statistics