ThingsBoard服务端API
服务端API是REST API,包括:
- Administration REST API - 服务端核心APIs.
- Attributes query API - 遥测数据.
- Timeseries query API - 遥测数据.
- RPC API - 远程过程调用
- REST Client - Java应用
- Python REST Client - Python应用
- Dart API Client - Flutter应用
官方如此介绍自己的API会让一部分人头疼。简单点,我们的应用是基于Python开发的,要通过api来管理TB就用python rest client,要通过api来管理设备就用RPC。
举例:Python获取设备的接口
通过swagger-ui我们可以找到三个获取设备列表的接口,这些接口的权限都要求租户管理员,根据自身业务可以选择用第二个或第三个。
通过swagger-ui我们得到的接口名字是getTenantDevices,需要转换成get_tenant_devices(IDE有提示)。
ts
/**
* 封装:/api/devices
* 权限:租户管理员(TENANT_ADMIN)、客户用户(CUSTOMER_USER)
* 请求体:DeviceSearchQuery
*/
难用,轻易不用,建议用后两个ts
/**
* 封装:/api/tenant/devices
* 权限:租户管理员(TENANT_ADMIN)
* 必要参数:pageSize,page
*/
tb_client.get_tenant_devices(page_size=20, page=i)js
/**
* 封装:/api/customer/{customerId}/devices
* 权限:租户管理员(TENANT_ADMIN)、客户用户(CUSTOMER_USER)
* 必要参数:客户ID(字符串),pageSize,page
*/
tb_client.get_customer_devices(customer_id="784f394c-42b6-435a-983c-b7beff2784f9", page_size=20, page=0)