物联网开源平台开发系列002 – Thingsboard 用户系统分析

Thingsboard是一个物联网(IoT)管理平台,这个平台可以让其他企业入驻进来,这些入驻的企业或个人,他们使用Thingsboard的服务,可以对资源,设备进行管理。本文浅析一下Thingsboard的用户体系,以及对应的API和数据库表结构。

用户体系:

Thingsboard的用户体系分为四层,

平台系统管理员(sysadmin)->租户(tenant)->客户(customer)->用户(user)。每层对应不同的角色,满足绝大多的pass,sass化场景。

  • 平台系统管理员: 创建租户,系统管理功能。
物联网开源平台开发系列002 – Thingsboard 用户系统分析
  • 租户: 租户是拥有或生产设备和资产的个人或组织。租户可以有多个租户管理员用户、客户、设备和资产。租户管理员可以在租户账户中创建和管理设备、资产、客户和仪表板。能够操作规则链、客户、资产、设备、实体视图、部件库、仪表板库、审核日志、API使用统计。
    搭建一个Thingsboard系统,可以当做Pass或Sass平台来使用,给B端用户开一个租户账号,让其自己管理账户下的资源。这是Sass化中的一个重要功能,多租户。租户之间的资源是隔离起来的。
物联网开源平台开发系列002 – Thingsboard 用户系统分析
  • 客户: 管理用户、管理资产、管理设备、管理仪表板。
  • 用户: 设备数据、监控和告警。

系统管理员创建租户操作流程及分析:

  • 1. 创建租户配置 – 租户配置是给不同租户配置不同的资源,便于用来商业化的收费。
    • 有4种类型:
      • Isolated TB Core and TB Rule Engine
      • Isolated TB Rule Engine
      • Isolated TB Core
      • Default
    • 配置内容:
      • 最大设备数(0-不受限制)
      • 最大资产数量(0-不受限制)
      • 最大客户数(0-不受限制)
      • 最大用户数(0-不受限制)
      • 仪表板的最大数(0-不受限制)
      • 最大规则链数(0-不受限制)
      • 最大传输消息(0-不受限制)
      • 传输数据点的最大数量(0-不受限制)
      • 最大规则引擎执行数(0-不受限制)
      • 最大JavaScript执行数(0-不受限制)
      • 最大日存储数据点数
      • 默认存储TTL天数
      • 每条消息的最大规则节点执行数
      • 发送的最大电子邮件数
      • 发送的最大短信数
      • 传输租户消息速率限制
      • 租户遥测消息速率限制
      • 租户遥测数据点速率限制
      • 传输设备消息速率限制
      • 设备遥测消息速率限制
      • 设备遥测数据点 速率限制
    • 对应的数据库表就是tenant_profile表 ,所有的租户配置profile ,都放在这张表内。profile_data ,为配置内容。
    • 对应的API: /api/tenantProfile
  • 2. 创建租户 – 引用租户配置创建租户。
    • 对应的数据库表就是tenant表,所有租户信息都在此表。
    • 对应的API:/api/tenant
  • 创建租户管理员 – 这个租户的管理员,可以有多个。
    • 邮件地址必须, 用邮件登陆
    • 激活有2种方式:激活链接 或 邮件激活 ,首次登陆需要创建密码
    • 对应的数据表就是tb_user表 , authority字段是对应的角色,tenant_id字段是所属的租户;密码存放在user_credentials表中,最后登陆时间也在此表。可用的authority角色:’SYS_ADMIN’、’TENANT_ADMIN’、’CUSTOMER_USER’
    • 对应的API:/api/user{?sendActivationMail}
物联网开源平台开发系列002 – Thingsboard 用户系统分析
物联网开源平台开发系列002 – Thingsboard 用户系统分析
物联网开源平台开发系列002 – Thingsboard 用户系统分析
物联网开源平台开发系列002 – Thingsboard 用户系统分析

租户管理员创建客户流程及分析:

  • 创建客户
    • 对应的数据库表就是customer表,字段tenant_id , 就是客户的ID
    • 对应的API:/api/customer
  • 创建客户管理员
    • 客户管理员不能创建设备、资产、仪表板
    • 租户管理员能用客户身份登陆
    • 对应的数据表就是tb_user表 , authority字段是对应的角色,tenant_id字段是所属的租户;密码存放在user_credentials表中,最后登陆时间也在此表。
    • 对应的API:/api/user{?sendActivationMail}
物联网开源平台开发系列002 – Thingsboard 用户系统分析
物联网开源平台开发系列002 – Thingsboard 用户系统分析
物联网开源平台开发系列002 – Thingsboard 用户系统分析

系列文章:

物联网开源平台开发系列001 – 开源平台Thingsboard 介绍

物联网开源平台开发系列002 – Thingsboard 用户系统分析

物联网开源平台开发系列003 – Thingsboard OAuth2 – Google身份验证登陆

物联网开源平台开发系列004 – Thingsboard的实体、资产、设备一般说明及数据存储 – 陈皮王五de杂记

物联网开源平台开发系列005 – Thingsboard的API简述 – 陈皮王五de杂记

物联网开源平台开发系列006 – 在Thingsboard内创建一个设备 – 陈皮王五de杂记

物联网开源平台开发系列007 – 在Thingsboard内批量导入设备 – 陈皮王五de杂记

原创文章,作者:Gary,如若转载,请注明出处:https://www.cpw5.top/613.html

淘宝小店:陈皮王五工作室

(0)
GaryGary
上一篇 2025-01-25 下午12:13
下一篇 4天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(6条)