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/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