匹配版本:V3.30
页面状态:已完成
原文地址:点击跳转

实体概述

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

  • 租户-您可以将租户视为一个单独的业务实体:拥有或生产设备和资产的个人或组织;租户可能有多个租户管理员用户和数百万个客户;
  • 客户-客户也是独立的企业实体:购买或使用租户设备和/或资产的个人或组织;客户可能有多个用户以及数百万个设备和/或资产;
  • 用户-用户能够浏览仪表板并管理实体;
  • 设备-可能产生遥测数据并处理RPC命令的基本IoT实体。例如,传感器,执行器,开关;
  • 资产-可能与其他设备和资产相关的抽象物联网实体。例如工厂,现场,车辆;
  • 警报-识别资产,设备或其他实体问题的事件;
  • 仪表板-物联网数据的可视化以及通过用户界面控制特定设备的能力;
  • 规则节点-传入消息,实体生命周期事件等的处理单元;
  • 规则链-相关规则节点的逻辑单元;

每个实体都支持:

  • 属性-与实体相关联的静态和半静态键值对。例如序列号,型号,固件版本;
  • 遥测数据-可用于存储,查询和可视化的时间序列数据点。例如温度,湿度,电池电量;
  • 关系-与其他实体的定向连接。例如包含,管理,拥有,生产。

此外,设备和资产也有自己的类型。这允许区分它们并以不同方式处理来自它们的数据。
本指南概述了上面列出的功能,一些有用的链接以获取更多详细信息以及其用法的实际示例。

应用场景

理解ThingsBoard概念的最简单方法是实现你的第一个ThingsBoard应用程序。
假设我们要构建一个应用程序,该应用程序从土壤湿度和温度传感器收集数据,在仪表板上可视化该数据,检测问题,发出警报并控制灌溉。
我们还假设我们想用数百个传感器支持多个领域。字段也可以分组到地理区域。
我们认为应该遵循以下逻辑步骤来构建这样的应用程序:

步骤1: 实体和关系

我们会按照资产和设备的层次结构进行设置

实体与关系 - 图1

请观看下方视频,可以了解如何使用ThingsBoard Web UI设置区域和字段资产及其关系

Region and Field assets.mp4 (2.77MB) 请观看下面的视频,了解如何用 ThingsBoard Web 界面来定义设备及其与资产的关系

Moisture and Irrigation devices.mp4 (4.31MB) ThingsBoard 支持使用 REST API 接口来自动执行此操作。您可以向下面的URL连接提交 POST 请求来提交新资产

你可以使用ThingsBoard REST API操作执行POST请求创建一个新资产。URL格式如下:

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

创建实体

请求脚本:create-asset.sh
文件路径:resource/create-asset.sh

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

请求格式:create-asset.json
文件路径:resource/create-asset.json

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

注意:为了执行此请求,您将需要用有效的JWT令牌替换$ JWT_TOKEN。该令牌应属于具有TENANT_ADMIN角色的用户。您可以使用以下指南获取令牌。
另外,您可以使用POST请求对以下URL设置新关系http(s)://host:port/api/relation

创建关系

请求脚本:create-relation.sh
文件路径:resource/create-relation.sh

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

请求参数:creat-realtion.json
文件路径:resource/creat-realtion.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:设计仪表板

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