[小 迪 导读]:
随着大数据技术和智能显示技术的发展,数字可视化大屏设计已经成为IT信息领域一种普遍的数据展示应用场景。从政府的宏观政务决策,到企业的生产管理,从环保数据的实时监控,到电商平台的流量监控,都离不开数据大屏的身影。可视化数据大屏承载着各种组织对内信息共享、决策分析,对外信息公布、行业交流、会议现场展示等重任,被越来越广泛的应用。在数字化转型潮流中,dgiot能够提供海量的数据采集并通过dgiot统一接口为第三方提供设备信息的数据消费。
1.0 获取Token
1.1登录接口
接口名称: | 登录接口 |
---|---|
接口地址: | https://prod.dgiotcloud.cn/io... |
请求方法: | 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/io... |
请求方法: | POST |
请求参数
参数 | 参数名称 | 类型 | 参数说明 | 是否必填项 |
---|---|---|---|---|
appid | 应用名称 | String | 在SDK调用过程中唯一的一个应用标识 | 是 |
secret | 应用密钥 | String | 调用API时的Token,用来验证请求合法性,请注意保密 | 是 |
返回参数
参数 | 参数名称 | 类型 | 参数说明 | 是否必填项 |
---|---|---|---|---|
name | 用户名 | String | 系统账户 | 是 |
access\_token | 会话标识 | String | 系统请求唯一验证 | 是 |
expires\_in | Token过期时间 | Int | Token过期时间单位:秒 | 是 |
desc | 描述 | String | 描述 | 是 |
2.0查询Device parse数据
简要描述:
- 获取当前设备parse数据
请求URL:
https://prod.dgiotcloud.cn/iotapi/classes/Device
请求方式:
- GET
参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
order | 否 | string | 排序方式, 负为降序, eg: score,-name |
limit | 否 | integer | limit, 显示多少条记录,显示100条记录 eg:100 |
skip | 否 | integer | skip, 从第几条记录开始 |
keys | 否 | string | 需要显示的字段,加count(*)则结果里面会显示总记录数, last_row为获取最后一条记录, eg: devaddr,status |
include | 否 | string | include |
where | 否 | integer | 过滤条件,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"
返回示例
{
"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
}
}
}
]
}
返回参数说明
备注
- 更多返回错误代码请看首页的错误代码描述
3.0查询单个Device时序数据
简要描述:
- 获取当前设备时序数据
请求URL:
https://prod.dgiotcloud.cn/iotapi/device
请求方式:
- GET
参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
deviceid | 是 | string | 设备ID |
order | 否 | string | 排序方式, 负为降序, eg: score,-name |
limit | 否 | integer | limit, 显示多少条记录,显示100条记录 eg:100 |
skip | 否 | integer | skip, 从第几条记录开始 |
keys | 否 | string | 需要显示的字段,加count(*)则结果里面会显示总记录数, last_row为获取最后一条记录, eg: username,email |
where | 否 | integer | 过滤条件,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="
返回示例
{
"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"
}
]
}
返回参数说明
备注
- 更多返回错误代码请看首页的错误代码描述
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"
TDengine支持SQL语句:
为支持各种不同类型平台的开发,TDengine提供符合REST设计标准的API,即RESTful API。为最大程度降低学习成本,不同于其他数据库RESTful API的设计方法,TDengine直接通过HTTP POST 请求BODY中包含的SQL语句来操作数据库,仅需要一个URL。
http://<ip>:<PORT>/rest/sql
curl语法如下:
curl -u username:password -d '<SQL>' <ip>:<PORT>/rest/sql
注意: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
返回示例
{
"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
}
[小 迪 点评]
- dgiot支持对接第三方平台,为数字可视化大屏等第三方应用提供有力的数据保障。
想了解更多 dgiot 的具体细节,欢迎大家在GitHub上查看相关源代码。