Skip to content

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)