Thingsboard API能力 -- 常用服务端API

本文介绍了ThingsBoard平台的API使用方法,包括设备管理、数据查询等功能,并提供了接口认证流程及常见API请求示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Thingsboard 的api比较全,服务跑起来以后可以通过swagger看到所有api(http://tb ip:8080/swagger-ui.html),除了资产、用户、设备的增删改查,还提供一系列数据查询功能,例如属性数据、遥感数据、甚至还有聚合查询的能力(聚合查询目前有一点小bug),还可以通过restapi上报属性、遥测数据到tb。

接口认证

任何api调用离开认证,thingsboard采用了oauth获取jwt token形式调用api。token有消息可以后台配置。

 http://192.168.0.119:8080/api/auth/login

body: {"username":"lihongyuan@wafersystems.com", "password":"xxxxx"}

response: {"token": "...","refreshToken": "..."}

创建设备

url:http://192.168.0.67:8080/api/device/

{"label": "string1","name": "string1","type": "string"}

根据设备名称获取设备

http://192.168.0.119:8080/api/tenant/devices?deviceName=53-25-06-23&pageSize=1&page=1

获取设备token

http://192.168.0.119:8080/api/device/086dc7f0-0a17-11eb-addd-55815e2354a5/credentials

根据设备token获取设备属性:

http://192.168.0.119:8080/api/v1/3Ailhvshe6BaI1KBNrhN/attributes

根据设备类型获取所有设备

http://192.168.0.119:8080/api/tenant/devices?pageSize=10&page=1&type=ir

获取服务端属性(注意scope SERVER_SCOPE CLIENT 以及 SHARED)

http://192.168.0.119:8080/api/plugins/telemetry/DEVICE/48e7cac0-1768-11eb-b090-13e3a3b63f43/values/attributes/SERVER_SCOPE

获取设备上下关联关系

http://192.168.0.119:8080/api/relations/info?toType=DEVICE&toId=48e7cac0-1768-11eb-b090-13e3a3b63f43

聚合查询(3.1版本注意这里有tb一个bug,不能传limit,提前算好interval 否则会因为返回数据太多,报503 Service Unavailable错误)

GET /api/plugins/telemetry/{entityType}/{entityId}/values/timeseries{?interval,limit,agg,useStrictDataTypes,keys,startTs,endTs}

entityType:TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, RULE_CHAIN, RULE_NODE, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE

entityId:实体、租户、设备 ID

http://192.168.0.119:8080/api/plugins/telemetry/DEVICE/086dc7f0-0a17-11eb-addd-55815e2354a5/values/timeseries?interval=36000000&agg=COUNT&keys=battery&useStrictDataTypes=true&startTs=1601519144000&endTs=1603938344000

 

### ThingsBoard 服务端属性配置与管理 #### 设备会话超时设置 在ThingsBoard平台中,对于设备而言,默认情况下如果10分钟内未向服务器发送任何数据,则会被认为是会话超时并标记为离线状态[^1]。这种机制独立于设备是否显式地上报断开连接(DisConnect)事件。 #### MQTT协议的支持情况 针对采用MQTT协议进行通信的情况,ThingsBoard提供了良好的兼容性。它不仅实现了对服务质量(Quality of Service, QoS)等级0(即消息可能丢失,“最多一次”传递语义)和QoS等级1(确保每条消息至少被接收一次,“至少一次”传递语义)的支持;还设定了若干固定的Topic用于不同的应用场景下客户端和服务端之间的交互过程[^2]。 #### 配置与管理系统中的服务端属性 为了管理和调整这些参数,在ThingsBoard内部存在一套完整的API接口体系允许管理员执行如下操作: - **获取当前设定**:可以通过REST API请求来查询现有的关于设备在线/离线判定的时间阈值以及其他相关联的策略。 - **修改默认行为**:同样借助API调用来更新上述提到的各种时间间隔或者其他涉及设备生命周期管理方面的选项。 - **监控实时状况**:利用Web界面或是集成第三方工具的方式持续跟踪正在运行系统的健康度指标,及时发现潜在问题以便快速响应处理。 ```json // 示例:通过REST API获取特定租户下的所有设备的会话超时期限 GET /api/tenant/devices/sessionTimeout?tenantId={tenant_id} ``` ```bash # 使用curl命令行工具访问ThingsBoard RESTful APIs curl --location --request GET 'http://localhost:8080/api/tenant/devices/sessionTimeout' \ --header 'X-Authorization: Bearer YOUR_ACCESS_TOKEN' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值