• DGIOT云云对接——第三方平台对接dgiot基本接口介绍


    file

    [小 迪 导读]
    随着大数据技术和智能显示技术的发展,数字可视化大屏设计已经成为IT信息领域一种普遍的数据展示应用场景。从政府的宏观政务决策,到企业的生产管理,从环保数据的实时监控,到电商平台的流量监控,都离不开数据大屏的身影。可视化数据大屏承载着各种组织对内信息共享、决策分析,对外信息公布、行业交流、会议现场展示等重任,被越来越广泛的应用。在数字化转型潮流中,dgiot能够提供海量的数据采集并通过dgiot统一接口为第三方提供设备信息的数据消费。

    1.0 获取Token

    1.1登录接口

    接口名称:登录接口
    接口地址:https://prod.dgiotcloud.cn/iotapi/login
    请求方法:POST

    请求参数

    参数参数名称类型参数说明是否必填项
    username用户名String系统账户
    password密码String系统账户密码
    Json 示例:{"password": "dgiot_admin","username": "dgiot_admin"}

    返回参数

    参数参数名称类型参数说明是否必填项
    username用户名String系统账户
    sessionToken会话标识String系统请求唯一验证
    Json 示例:{"sessionToken": "r:b2567201abe12b1581ebf5dd16839edd","username": "dgiot_admin"}

    1.2 获取token

    接口名称:获得Token
    接口地址:https://prod.dgiotcloud.cn/iotapi/token
    请求方法:POST

    请求参数

    参数参数名称类型参数说明是否必填项
    appid应用名称String在SDK调用过程中唯一的一个应用标识
    secret应用密钥String调用API时的Token,用来验证请求合法性,请注意保密

    返回参数

    参数参数名称类型参数说明是否必填项
    name用户名String系统账户
    access_token会话标识String系统请求唯一验证
    expires_inToken过期时间IntToken过期时间单位:秒
    desc描述String描述

    2.0查询Device parse数据

    简要描述:

    • 获取当前设备parse数据

    请求URL:

    • https://prod.dgiotcloud.cn/iotapi/classes/Device

    请求方式:

    • GET

    参数:

    参数名必选类型说明
    orderstring排序方式, 负为降序, eg: score,-name
    limitintegerlimit, 显示多少条记录,显示100条记录 eg:100
    skipintegerskip, 从第几条记录开始
    keysstring需要显示的字段,加count(*)则结果里面会显示总记录数, last_row为获取最后一条记录, eg: devaddr,status
    includestringinclude
    whereinteger过滤条件,eg: {“devaddr”:{“$in”:[“842500EE”]}}
    curl -X GET "https://prod.dgiotcloud.cn/iotapi/classes/Device?order=createdAt&limit=10&skip=0&keys=devaddr%2Cstatus&where=%7B%22devaddr%22%3A%7B%22%24in%22%3A%5B%22842500EE%22%5D%7D%7D" -H "accept: application/json" -H "authorization: Basic bGl1c2hvdXhpbjpsaXVzaG91eGlu"
    
    • 1

    返回示例

      {
        "results": [
          {
            "devaddr": "842500EE",
            "status": "ONLINE",
            "objectId": "7f484ee521",
            "createdAt": "2021-04-18T11:06:53.878Z",
            "updatedAt": "2021-04-19T05:43:14.419Z",
            "ACL": {
              "role:admin": {
                "read": true,
                "write": true
              }
            }
          }
        ]
      }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    返回参数说明

    备注

    • 更多返回错误代码请看首页的错误代码描述

    3.0查询单个Device时序数据

    简要描述:

    • 获取当前设备时序数据

    请求URL:

    • https://prod.dgiotcloud.cn/iotapi/device

    请求方式:

    • GET

    参数:

    参数名必选类型说明
    deviceidstring设备ID
    orderstring排序方式, 负为降序, eg: score,-name
    limitintegerlimit, 显示多少条记录,显示100条记录 eg:100
    skipintegerskip, 从第几条记录开始
    keysstring需要显示的字段,加count(*)则结果里面会显示总记录数, last_row为获取最后一条记录, eg: username,email
    whereinteger过滤条件,eg: {“createdat”: {“$gte”:“now - 10d”}}
    curl -X GET "https://prod.dgiotcloud.cn/iotapi/device/69c7f9e376?order=createdAt&limit=10&skip=10&where=%7B%22createdat%22%3A%20%7B%22%24gte%22%3A%22now%20-%2010d%22%7D%7D" -H "accept: application/json" -H "authorization: Basic YWRtaW46c3dTV2lvdG4ybi5jb20="
    
    • 1

    返回示例

      {
        "results": [
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:27:02.577"
          },
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:27:12.582"
          },
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:27:22.512"
          },
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:27:32.451"
          },
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:27:42.515"
          },
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:27:52.389"
          },
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:28:02.390"
          },
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:28:12.454"
          },
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:28:22.360"
          },
          {
            "activetotalenergy": 0,
            "createdat": "2021-04-14 03:28:32.279"
          }
        ]
      }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    返回参数说明

    备注

    • 更多返回错误代码请看首页的错误代码描述

    RESTful接口使用帮助

    重复登录问题解决方案:

    curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。

    它的功能非常强大,命令行参数多达几十种。其中 -u 参数可以用来设置服务器认证的用户名和密码。

    • $ curl -u 'demo:123456'

    上面命令设置用户名为demo,密码为123456。

    以上文curl为例:

    原:curl -X GET "https://prod.dgiotcloud.cn/iotapi/device/a47072cd8b?order=createdAt&limit=10&skip=10&where=%7B%22createdat%22%3A%20%7B%22%24gte%22%3A%22now%20-%2010d%22%7D%7D" -H "accept: application/json" 
    现:curl -u 'demo:123456' -X GET "https://prod.dgiotcloud.cn/iotapi/device/a47072cd8b?order=createdAt&limit=10&skip=10&where=%7B%22createdat%22%3A%20%7B%22%24gte%22%3A%22now%20-%2010d%22%7D%7D" -H "accept: application/json" 
    
    • 1
    • 2

    TDengine支持SQL语句:

    为支持各种不同类型平台的开发,TDengine提供符合REST设计标准的API,即RESTful API。为最大程度降低学习成本,不同于其他数据库RESTful API的设计方法,TDengine直接通过HTTP POST 请求BODY中包含的SQL语句来操作数据库,仅需要一个URL。

    http://:/rest/sql
    
    • 1

    curl语法如下:

    curl -u username:password -d '' :/rest/sql
    
    • 1

    注意:SQL语句中的数据表应提供数据库前缀

    下面以查询最近十条记录为例

    curl -H "accept: application/json" -u root:taosdata -d 'SELECT createdat FROM _3ea14b556a._d46d4340d9   order by createdat desc limit 10 ' http://prod.dgiotcloud.cn:6041/rest/sql
    
    • 1

    返回示例

      {
          "status":"succ",
          "head":[
              "createdat"
          ],
          "data":[
              [
                  "2021-04-20 03:09:42.737"
              ],
              [
                  "2021-04-20 03:09:17.726"
              ],
              [
                  "2021-04-20 03:08:51.004"
              ],
              [
                  "2021-04-20 03:08:14.428"
              ],
              [
                  "2021-04-20 03:07:48.258"
              ],
              [
                  "2021-04-20 03:07:13.028"
              ],
              [
                  "2021-04-20 03:06:47.026"
              ],
              [
                  "2021-04-20 03:06:20.609"
              ],
              [
                  "2021-04-20 03:05:44.695"
              ],
              [
                  "2021-04-20 03:05:18.560"
              ]
          ],
          "rows":10
      }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    [小 迪 点评]

    • dgiot支持对接第三方平台,为数字可视化大屏等第三方应用提供有力的数据保障。

    想了解更多 dgiot 的具体细节,欢迎大家在GitHub上查看相关源代码。

  • 相关阅读:
    【ELK01】ELK简介以及ElasticSearch安装、ES客户端工具-Head安装、报错问题整理
    一次ES检索的性能优化经验记录
    java 用户登录后获取用户信息 HttpServletRequest request作用域
    ESP8266 WiFi物联网智能插座—项目简介
    【深入理解设计模式】模板方法模式
    05【原型设计模式】
    推荐一款WPF绘图插件OxyPlot
    宝塔面板操作日志是存放在哪里的? 如何删除部分日志记录?
    【机器学习】采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?(面试回答)
    上周热点回顾(4.8-4.14)
  • 原文地址:https://blog.csdn.net/DG_IOT/article/details/126542473