共计 4413 个字符,预计需要花费 12 分钟才能阅读完成。
[小 迪 导读]:
随着大数据技术和智能显示技术的倒退,数字可视化大屏设计曾经成为 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 上查看相干源代码。