ThingsBoard能够为你的实体分配自定义属性并进行管理属性是一种key-value格式,由于key-value的灵活性可以与IoT设备无缝。
属性主要分为三种:
所有属性可以在规则引擎组件中使用;例如:(filters,processors,actions) 本指南概述了上面列出的功能以及相关链接,可以获取更多信息。
设备特定属性可分为两种:
客户端属性 - 属性由设备应用程序管理和维护。 例如:当前软件的固件版本,硬件规格等。
共享属性 - 属性由服务器端应用程序管理和维护。 对设备是可见。(例如客户订阅,软件版本)
ThingsBoard为设备应用程序提供以下API:
属性API仅支持特定的网络协议。你可以在相应的参考页面中查看API和示例:
遥测服务负责将属性数据持久保存到内部数据库中; 提供服务器端API来查询和订阅属性更新。
ThingsBoard使用Cassandra NoSQL数据库或SQL数据库来存储所有数据。
虽然你可以直接查询数据库但是ThingsBoard提供了一组RESTful和Websocket API可简化调用过程并应用某些安全策略:
遥测服务提供以下REST API来获取实体数据:
注意:上图中的API可通过Swagger UI使用,如获取更多详细信息请查看REST API 。
该API向后兼容TB v1.0+这是API调用URL包含”plugin”的主要原因。
你可以使用下面的GET请求地址获取指定entity类型和entity id的所有属性key列表
http(s)://host:port/api/plugins/telemetry/{entityType}/{entityId}/keys/attributes
resources/get-attributes-keys.sh |
---|
|
resources/get-attributes-keys-result.json |
---|
|
支持的实体类型为: TENANT, CUSTOMER, USER, RULE, DASHBOARD, ASSET, DEVICE, ALARM
你可以使用下面的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 |
---|
|
resources/get-attributes-values-result.json |
---|
|
支持的实体类型为: TENANT, CUSTOMER, USER, RULE, DASHBOARD, ASSET, DEVICE, ALARM
规则引擎中有一些规则节点可以与遥测服务一起使用。
请在节点描述中找到更多详细信息:
ThingsBoard提供了配置和自定义仪表板以进行数据可视化的功能。
ThingsBoard提供了配置数据处理规则的功能,设备属性可在规则过滤器内使用这允许基于某些设备属性应用规则链。