Thingsboard 中文教程:实体和关系

Thingsboard中文社区群聊二维码.png
可复制:121202538

中文社区:http://thingsboard.org.cn

实体和关系

[原文地址]

实体概述

ThingsBoard 提供 WEB 界面和 REST API,帮助你在自定义物联网应用时管理多种实体类型及其关系。支持的实体类型如下

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

每个实体都支持:

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

此外,设备和资产也有一个类型。这允许将它们区分开来,并以不同的方式处理数据。
本指南概述了上面列出的特性,提供了一些有用的链接,以获得更多的细节和使用这些特性的实际示例。

实际应用

理解 ThingsBoard 概念的最简单方法是实现一个 ThingsBoard 应用程序。假设我们想要创建一个应用,功能是从土壤温湿度传感器中收集数据,在在仪表板上实现数据可视化,监控问题事件,发出警报并控制灌溉。
假设我们想要用数百个传感器部署到多块田地里。田地也可以按照地理区域分组。
我们认为构建这样一个应用程序应该遵循以下逻辑步骤

步骤1.提供实体和关系

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

image.png

请查看下面的视频,了解如何使用 ThingsBoard Web 界面来定义区域和田地的资产实例及关系

https://cdn.iotschool.com/uploads/20200229/8d422552899f1287cb66f4d8c8ef97a8.mp4

请观看下面的视频,了解如何用 ThingsBoard Web 界面来定义设备及其与资产的关系

https://cdn.iotschool.com/uploads/20200229/ae3359526c04084805bb9b63d0960d82.mp4

支持使用 ThingsBoard 的 REST API 自动执行此操作。您可以使用 POST 请求向以下 URL 提交新资产

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

例如:

resources/create-asset.sh

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

resources/create-asset.json

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

注意: 在执行这个请求前,您需要用一个有效的 JWT 令牌替换 $JWT_TOKEN 。这个令牌需要有租户管理权限。您可以参考指南来获取 JWT 令牌。
此外,您还可以向下面的URL地址发送POST请求来定义新的关系

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

例如:

resources/create-relation.sh

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

resources/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 界面得到。

步骤2.为资产定义属性

ThingsBoard 提供了定义管理实体属性的能力。本主题将在单独的指南中讨论。
处理设备属性

步骤3.设备的遥测数据的上传

ThingsBoard 提供了处理设备和其他实体的遥测数据的能力。本主题将在单独的指南中讨论。
处理遥测数据

步骤4.创建警报规则

ThingsBoard 为设备和其他实体提供了利用规则引擎产生警报消息的能力。本主题将在单独的指南中讨论。
处理警报

步骤5.设计仪表面板

导入 包含地图显示、警报、实体列表或图标等部件的 面板

个人理解

刚接触 TB 时被 FROMTOContainsManages 给绕晕了,感觉作用重复,其实 FROMTO 代表方向,分别时 被包含包含 的关系,而 ContainsManages 仅仅为了描述这种关联的纽带,比如 城市ASSET 可以 Contains  街道 这种 ASSET 但不能说 Manages ,这样就会不形象。支持自定义类型。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值