IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> ThingsBoard 使用 REST API HTTP 方法获取遥测数据 属性数据等 -> 正文阅读

[网络协议]ThingsBoard 使用 REST API HTTP 方法获取遥测数据 属性数据等

一、方法参考

  1. 想通过http方式拿遥测数据,没有通过设备 访问令牌可以获取到的API,HTTP提供的API,只能拿到属性数据
    可参考:http://www.ithingsboard.com/docs/reference/http-api/
  2. 对此,有2中方法,可以拿到遥测数据
    (1).通过REST API的方法,去拿遥测数据(下文介绍的方法
    (2).通过RPC命令,规则链中加脚本,拿到遥测数据后,再回复RPC命令,但这里可以拿到的数据,是服务器范围,我没搞懂什么意思,就没继续研究了,可参考:http://www.ithingsboard.com/docs/user-guide/rule-engine-2-0/tutorials/rpc-reply-tutorial/#%E5%88%9B%E5%BB%BArelated-thermostat-temperature%E8%A7%84%E5%88%99%E9%93%BE

二、方法步骤

  1. 参考方法的地址
    http://www.ithingsboard.com/docs/api/
    在这里插入图片描述
    http://www.ithingsboard.com/docs/user-guide/telemetry/#data-query-api

  2. 我们也可以打开一下我们自己的swagger-ui.htm看看所有的命令,着重关注于 /values/timeseries

    在这里插入图片描述

三、实施步骤

  1. 使用Postman发送HTTP的请求
    注意设置一下Request timeout in ms久一点,具体要看服务器的网络情况,如果太短,会出现失败的情况
    设置位置:File-->Settings
    在这里插入图片描述

  2. 获取JWT_TOKEN

    配置参数
    地址http://xxxx:8080/api/auth/login
    方法POST
    content-typeapplication /json
    BODY 数据{“username”:“tenant@thingsboard.org”,“password”:“tenant”}

    在这里插入图片描述
    在这里插入图片描述
    之后获取到Token
    在这里插入图片描述
    整个请求的Log如下

    POST http://xxxx:8080/api/auth/login
    
    POST /api/auth/login HTTP/1.1
    content-type: application /json
    User-Agent: PostmanRuntime/7.26.8
    Cache-Control: no-cache
    Postman-Token: d0d5e779-3880-49b2-972c-24bbab216b3f
    Host: xxxx:8080
    Connection: keep-alive
    Content-Length: 57
    
    {"username":"tenant@thingsboard.org","password":"tenant"}
    
    HTTP/1.1 200 OK
    Content-Length: 944
    Cache-Control: no-cache, no-store, max-age=0, must-revalidate
    Connection: keep-alive
    Content-Type: application/json;charset=ISO-8859-1
    Date: Mon, 23 May 2022 07:08:10 GMT
    Expires: 0
    Keep-Alive: timeout=4
    Pragma: no-cache
    Proxy-Connection: keep-alive
    Vary: Origin
    Vary: Access-Control-Request-Method
    Vary: Access-Control-Request-Headers
    X-Content-Type-Options: nosniff
    X-Xss-Protection: 1; mode=block
    
    {"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZW5hbnRAdGhpbmdzYm9hcmQub3JnIiwic2NvcGVzIjpbIlRFTkFOVF9BRE1JTiJdLCJ1c2VySWQiOiI2N2I1OTZkMC01NWRkLTExZWMtYjg0Ni0wZDY5OTIxNWZlNjUiLCJlbmFibGVkIjp0cnVlLCJpc1B1YmxpYyI6ZmFsc2UsInRlbmFudElkIjoiNjcwMjI1NTAtNTVkZC0xMWVjLWI4NDYtMGQ2OTkyMTVmZTY1IiwiY3VzdG9tZXJJZCI6IjEzODE0MDAwLTFkZDItMTFiMi04MDgwLTgwODA4MDgwODA4MCIsImlzcyI6InRoaW5nc2JvYXJkLmlvIiwiaWF0IjoxNjUzMjg5NjkwLCJleHAiOjE2NTMyOTg2OTB9.GLD9zkXqnh0L1Hvs-s8zUgFACpFRoEr8CDVsslg9mi0DYtNP0I8tzdzlwCdj7dHw0Gki_d4A-cNdBELXtFFwpQ","refreshToken":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZW5hbnRAdGhpbmdzYm9hcmQub3JnIiwic2NvcGVzIjpbIlJFRlJFU0hfVE9LRU4iXSwidXNlcklkIjoiNjdiNTk2ZDAtNTVkZC0xMWVjLWI4NDYtMGQ2OTkyMTVmZTY1IiwiaXNQdWJsaWMiOmZhbHNlLCJpc3MiOiJ0aGluZ3Nib2FyZC5pbyIsImp0aSI6IjdlOTk2NzEwLTk2MjctNGM5My1iYWU3LWQyM2YwOTIzMDE2NiIsImlhdCI6MTY1MzI4OTY5MCwiZXhwIjoxNjUzODk0NDkwfQ.x4wBicPBzIO6mOMPVgsGpqG3ygGj26ozLcWymWhxC0ts--3W8DMb-mEGgdVW-IfzXSdvQX-gz4abwPO-GFaJyg"}
    
  3. 获取遥测数据

    配置参数
    地址http://xxxx:8080/api/plugins/telemetry/DEVICE/4afd0a80-58cd-11ec-9209-b7aebb52f70b/values/timeseries (注意这里DEVICE后面的是设备ID)(最后可通过 ? 来对数据进行筛选)
    方法GET
    content-typeapplication /json
    X-AuthorizationBearer (注意这里后面有一个空格)加上JWT_TOKEN
    BODY 数据

    在这里插入图片描述
    整个请求的Log如下

GET http://xxxx/api/plugins/telemetry/DEVICE/4afd0a80-58cd-11ec-9209-b7aebb52f70b/values/timeseries

GET /api/plugins/telemetry/DEVICE/4afd0a80-58cd-11ec-9209-b7aebb52f70b/values/timeseries HTTP/1.1
Content-Type: application/json
X-Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZW5hbnRAdGhpbmdzYm9hcmQub3JnIiwic2NvcGVzIjpbIlRFTkFOVF9BRE1JTiJdLCJ1c2VySWQiOiI2N2I1OTZkMC01NWRkLTExZWMtYjg0Ni0wZDY5OTIxNWZlNjUiLCJlbmFibGVkIjp0cnVlLCJpc1B1YmxpYyI6ZmFsc2UsInRlbmFudElkIjoiNjcwMjI1NTAtNTVkZC0xMWVjLWI4NDYtMGQ2OTkyMTVmZTY1IiwiY3VzdG9tZXJJZCI6IjEzODE0MDAwLTFkZDItMTFiMi04MDgwLTgwODA4MDgwODA4MCIsImlzcyI6InRoaW5nc2JvYXJkLmlvIiwiaWF0IjoxNjUzMjg2MDE5LCJleHAiOjE2NTMyOTUwMTl9.YWJ4xH5ckX-6lKpaXWFYAl65CmM_LyPb-acCrozSI9X2no9ANEzDqWp4NmmnV3ZQ-kK2ukoI0XwM6KiZy8debw
User-Agent: PostmanRuntime/7.26.8
Cache-Control: no-cache
Postman-Token: 3e41bf5d-e669-46b2-ab05-9eaa93329ed4
Host: xxxx:8080
Connection: keep-alive

HTTP/1.1 200 OK
Connection: close
Transfer-Encoding: chunked
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: application/json
Date: Mon, 23 May 2022 07:21:04 GMT
Expires: 0
Pragma: no-cache
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-Xss-Protection: 1; mode=block

{"STATE":[{"ts":1647799599288,"value":"ISP TIMEOUT"}],"time":[{"ts":1649305093493,"value":"1649305093"}],"temp":[{"ts":1647800235226,"value":"30\r\n"}],"IR2_EVT":[{"ts":1649304130498,"value":"57"}],"IR1_EVT":[{"ts":1649296043339,"value":"0"}]}
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-25 11:44:24  更:2022-05-25 11:44:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 14:19:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码