实体概述

ThingsBoard提供了用户界面和REST API,以在IoT应用程序中供应和管理多种实体类型及其关系。支持的实体有:

  • 租户 -您可以将租户视为独立的业务实体:拥有或生产设备和资产的个人或组织;租户可能有多个租户管理员用户和数百万个客户;

  • 客户 -客户也是一个独立的企业实体:购买或使用租户设备和/或资产的个人或组织;客户可能有多个用户以及数百万个设备和/或资产;

  • 用户 -用户能够浏览仪表板并管理实体;

  • 设备 -可能产生遥测数据并处理RPC命令的基本IoT实体。例如传感器,执行器,开关;

  • 资产 -可能与其他设备和资产相关的抽象物联网实体。例如工厂,现场,车辆;

  • 警报 -识别您的资产,设备或其他实体问题的事件;

  • 仪表板 -物联网数据的可视化以及通过用户界面控制特定设备的能力;

  • 规则节点 -传入消息,实体生命周期事件等的处理单元;

  • 规则链 -相关规则节点的逻辑单元;

每个实体都支持:

  • 属性 -与实体相关联的静态和半静态键值对。例如序列号,型号,固件版本;

  • 遥测数据 -可用于存储,查询和可视化的时间序列数据点。例如温度,湿度,电池电量;

  • 关系 -与其他实体的定向连接。例如包含,管理,拥有,生产。

此外,设备和资产也具有一种类型。这允许区分它们并以不同方式处理来自它们的数据。

本指南概述了上面列出的功能,一些有用的链接,以获取更多详细信息以及其用法的真实示例。

现实生活中的应用

理解ThingsBoard概念的最简单方法是实现您的第一个ThingsBoard应用程序。假设我们要构建一个应用程序,该应用程序从土壤湿度和温度传感器收集数据,在仪表板上可视化该数据,检测问题,发出警报并控制灌溉。

我们还假设我们想用数百个传感器支持多个领域。字段也可以分组到地理区域。

我们认为应该遵循以下逻辑步骤来构建这样的应用程序:

步骤1:提供实体和关系

我们将设置以下资产和设备层次结构:

实体和关系

请查看以下屏幕广播,以了解如何使用ThingsBoard Web UI设置区域和字段资产及其关系

请查看以下屏幕广播,以了解如何使用ThingsBoard Web UI调配设备及其与资产的关系

您可以使用ThingsBoard REST API自动执行此操作。您可以使用POST请求将新资产置备到以下URL

  1. http(s)://host:port/api/asset

例如:

创建资产

  1. curl -v -X POST -d @create-asset.json http://localhost:8080/api/asset \
  2. --header "Content-Type:application/json" \
  3. --header "X-Authorization: $JWT_TOKEN"

create-asset.json

  1. {"name":"Field C","type":"field"}

注意:为了执行此请求,您将需要用有效的JWT令牌替换$JWT_TOKEN。该令牌应属于具有 TENANT_ADMIN 角色的用户。您可以按照以下指南获取令牌。

另外,您可以使用POST请求将新关系提供给以下URL

  1. http(s)://host:port/api/relation

例如

创建关系

  1. curl -v -X POST -d @create-asset.json http://localhost:8080/api/relation \
  2. --header "Content-Type:application/json" \
  3. --header "X-Authorization: $JWT_TOKEN"

create-relation.json

  1. {"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提供了使用规则引擎为设备和其他实体引发警报的功能。本主题在单独的指南中介绍。

使用警报

步骤5:设计仪表板

导入以下仪表板,以演示“地图”,“警报”,“实体表”和“图表”窗口小部件。