实体概述
ThingsBoard提供了用户界面和REST API,以在IoT应用程序中供应和管理多种实体类型及其关系。支持的实体有:
租户 -您可以将租户视为独立的业务实体:拥有或生产设备和资产的个人或组织;租户可能有多个租户管理员用户和数百万个客户;
客户 -客户也是一个独立的企业实体:购买或使用租户设备和/或资产的个人或组织;客户可能有多个用户以及数百万个设备和/或资产;
用户 -用户能够浏览仪表板并管理实体;
设备 -可能产生遥测数据并处理RPC命令的基本IoT实体。例如传感器,执行器,开关;
资产 -可能与其他设备和资产相关的抽象物联网实体。例如工厂,现场,车辆;
警报 -识别您的资产,设备或其他实体问题的事件;
仪表板 -物联网数据的可视化以及通过用户界面控制特定设备的能力;
规则节点 -传入消息,实体生命周期事件等的处理单元;
规则链 -相关规则节点的逻辑单元;
每个实体都支持:
属性 -与实体相关联的静态和半静态键值对。例如序列号,型号,固件版本;
遥测数据 -可用于存储,查询和可视化的时间序列数据点。例如温度,湿度,电池电量;
关系 -与其他实体的定向连接。例如包含,管理,拥有,生产。
此外,设备和资产也具有一种类型。这允许区分它们并以不同方式处理来自它们的数据。
本指南概述了上面列出的功能,一些有用的链接,以获取更多详细信息以及其用法的真实示例。
现实生活中的应用
理解ThingsBoard概念的最简单方法是实现您的第一个ThingsBoard应用程序。假设我们要构建一个应用程序,该应用程序从土壤湿度和温度传感器收集数据,在仪表板上可视化该数据,检测问题,发出警报并控制灌溉。
我们还假设我们想用数百个传感器支持多个领域。字段也可以分组到地理区域。
我们认为应该遵循以下逻辑步骤来构建这样的应用程序:
步骤1:提供实体和关系
我们将设置以下资产和设备层次结构:
请查看以下屏幕广播,以了解如何使用ThingsBoard Web UI设置区域和字段资产及其关系
请查看以下屏幕广播,以了解如何使用ThingsBoard Web UI调配设备及其与资产的关系
您可以使用ThingsBoard REST API自动执行此操作。您可以使用POST请求将新资产置备到以下URL
http(s)://host:port/api/asset
例如:
创建资产
curl -v -X POST -d @create-asset.json http://localhost:8080/api/asset \
--header "Content-Type:application/json" \
--header "X-Authorization: $JWT_TOKEN"
create-asset.json
{"name":"Field C","type":"field"}
注意:为了执行此请求,您将需要用有效的JWT令牌替换$JWT_TOKEN。该令牌应属于具有 TENANT_ADMIN 角色的用户。您可以按照以下指南获取令牌。
另外,您可以使用POST请求将新关系提供给以下URL
http(s)://host:port/api/relation
例如
创建关系
curl -v -X POST -d @create-asset.json http://localhost:8080/api/relation \
--header "Content-Type:application/json" \
--header "X-Authorization: $JWT_TOKEN"
create-relation.json
{"from":{"id":"$FROM_ASSET_ID","entityType":"ASSET"},"type":"Contains","to":{"entityType":"ASSET","id":"$TO_ASSET_ID"}}
注意:不要忘记用有效的资产ID替换$FROM_ASSET_ID和$TO_ASSET_ID。 注意:可以关联任何实体。例如,资产到设备或资产到用户。您可以通过先前的REST API调用来接收它们,也可以使用Web UI。
步骤2:为资产分配属性
ThingsBoard提供了将属性分配给实体并对其进行管理的功能。本主题在单独的指南中介绍。
步骤3:从设备上传遥测数据
ThingsBoard提供了使用设备和其他实体的遥测数据的功能。本主题在单独的指南中介绍。
步骤4:创建警报规则
ThingsBoard提供了使用规则引擎为设备和其他实体引发警报的功能。本主题在单独的指南中介绍。