
[小 迪 导读]:
随着大数据技术和智能显示技术的发展,数字可视化大屏设计已经成为IT信息领域一种普遍的数据展示应用场景。从政府的宏观政务决策,到企业的生产管理,从环保数据的实时监控,到电商平台的流量监控,都离不开数据大屏的身影。可视化数据大屏承载着各种组织对内信息共享、决策分析,对外信息公布、行业交流、会议现场展示等重任,被越来越广泛的应用。在数字化转型潮流中,dgiot能够提供海量的数据采集并通过dgiot统一接口为第三方提供设备信息的数据消费。
1.0 获取Token
1.1登录接口
请求参数
参数 |
参数名称 |
类型 |
参数说明 |
是否必填项 |
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
请求参数
参数 |
参数名称 |
类型 |
参数说明 |
是否必填项 |
appid |
应用名称 |
String |
在SDK调用过程中唯一的一个应用标识 |
是 |
secret |
应用密钥 |
String |
调用API时的Token,用来验证请求合法性,请注意保密 |
是 |
返回参数
参数 |
参数名称 |
类型 |
参数说明 |
是否必填项 |
name |
用户名 |
String |
系统账户 |
是 |
access_token |
会话标识 |
String |
系统请求唯一验证 |
是 |
expires_in |
Token过期时间 |
Int |
Token过期时间单位:秒 |
是 |
desc |
描述 |
String |
描述 |
是 |
2.0查询Device parse数据
简要描述:
请求URL:
https://prod.dgiotcloud.cn/iotapi/classes/Device
请求方式:
参数:
参数名 |
必选 |
类型 |
说明 |
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
请求方式:
参数:
参数名 |
必选 |
类型 |
说明 |
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为例:
原: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上查看相关源代码。