ThingsBoard文档

ThingsBoard平台使用文档。

设备属性

ThingsBoard能够为你的实体分配自定义属性并进行管理属性是一种key-value格式,由于key-value的灵活性可以与IoT设备无缝。

视频教程

属性类型

属性主要分为三种:

  • 服务端属性 - 由服务器管理和维护。
    1. 在Thingsboard中使用Rules涉及某些机密数据对设备应用程序不可见。
    2. 在Thingsboard中使用Rules使用某些机密数据但设备不会使用。
    3. 在Thingsboard中任何实体都支持服务器端属性(如:Device,Asset,Customer,Tenant,Rules)。

    image

  • 客户端属性 - 查看设备特定的属性
  • 共享属性 - 查看设备特定的属性

设备特定属性类型

所有属性可以在规则引擎组件中使用;例如:(filters,processors,actions) 本指南概述了上面列出的功能以及相关链接,可以获取更多信息。

设备特定属性可分为两种:

  • 客户端属性 - 属性由设备应用程序管理和维护。 例如:当前软件的固件版本,硬件规格等。

    image

  • 共享属性 - 属性由服务器端应用程序管理和维护。 对设备是可见。(例如客户订阅,软件版本)

    image

设备属性API

ThingsBoard为设备应用程序提供以下API:

  • 上传客户端属性至服务器。
  • 请求服务器中的客户端属性和共享属性。
  • 订阅共享属性的更新。

属性API仅支持特定的网络协议。你可以在相应的参考页面中查看API和示例:

遥测服务

遥测服务负责将属性数据持久保存到内部数据库中; 提供服务器端API来查询和订阅属性更新。

内部数据存储

ThingsBoard使用Cassandra NoSQL数据库或SQL数据库来存储所有数据。

虽然你可以直接查询数据库但是ThingsBoard提供了一组RESTful和Websocket API可简化调用过程并应用某些安全策略:

  • Tenant管理员能够管理所拥有实体属性。
  • Customer用户只能管理Tenant分配的实体属性。

数据查询API

遥测服务提供以下REST API来获取实体数据:

image

注意:上图中的API可通过Swagger UI使用,如获取更多详细信息请查看REST API

该API向后兼容TB v1.0+这是API调用URL包含”plugin”的主要原因。

属性keys API

你可以使用下面的GET请求地址获取指定entity类型和entity id的所有属性key列表

http(s)://host:port/api/plugins/telemetry/{entityType}/{entityId}/keys/attributes
resources/get-attributes-keys.sh
curl -v -X GET http://localhost:8080/api/plugins/telemetry/DEVICE/ac8e6020-ae99-11e6-b9bd-2b15845ada4e/keys/attributes \
--header "Content-Type:application/json" \
--header "X-Authorization: $JWT_TOKEN"
resources/get-attributes-keys-result.json
["model","softwareVersion"]

支持的实体类型为: TENANT, CUSTOMER, USER, RULE, DASHBOARD, ASSET, DEVICE, ALARM

属性values API

你可以使用下面的GET请求地址获取指定entity类型和entity id的所有属性value列表

http(s)://host:port/api/plugins/telemetry/{entityType}/{entityId}/values/attributes?keys=key1,key2,key3
resources/get-attributes-values.sh
curl -v -X GET http://localhost:8080/api/plugins/telemetry/DEVICE/ac8e6020-ae99-11e6-b9bd-2b15845ada4e/values/attributes?keys=model,softwareVersion \
--header "Content-Type:application/json" \
--header "X-Authorization: $JWT_TOKEN"
resources/get-attributes-values-result.json
[
  {
    "lastUpdateTs": 1479735871836,
    "key": "model",
    "value": "Model 42"
  },
  {
    "lastUpdateTs": 1479735871836,
    "key": "softwareVersion",
    "value": "1.0.0"
  }
]

支持的实体类型为: TENANT, CUSTOMER, USER, RULE, DASHBOARD, ASSET, DEVICE, ALARM

遥测规则节点

规则引擎中有一些规则节点可以与遥测服务一起使用。

请在节点描述中找到更多详细信息:

数据可视化

ThingsBoard提供了配置和自定义仪表板以进行数据可视化的功能。

数据可视化指南

规则引擎

ThingsBoard提供了配置数据处理规则的功能,设备属性可在规则过滤器内使用这允许基于某些设备属性应用规则链。

规则引擎指南