目录
- ThingsBoard Web 超时机制是什么?
- ThingsBoard 统计和报表功能使用
- ThingsBoard 与 ThingsBoard Edge 如何配合?
- ThingsBoard 移动端二次开发
- ThingsBoard 如何做“边缘计算”?
- ThingsBoard 资产和设备的区别是什么?
- ThingsBoard 如何在 Kubernetes(k8s) 部署?
- ThingsBoard 如何实现 SSO 单点登录?
- 关于 亿琪软件
最近一段时间,客户和社区都反馈了一些 ThingsBoard 问题,这个常见问题 FAQ 系列收到很多反馈,往期回顾:开源|ThingsBoard FAQ 使用和二次开发常见问题汇总一, 开源|ThingsBoard FAQ 使用和二次开发常见问题汇总二 。
ThingsBoard Web 超时机制是什么?
首先,要搞清楚 TB 的 Web 登录和会话保持机制。
- 通过 Web 登录后,浏览器会获取 token,这个 token 是 JWT 机制,再次查询 Web 时,其实是完全依靠 JWT 了;
- JWT 是无服务器回话保持机制的,也就是说,一旦拿到 JWT,就对此次登录回话有了完全的控制权,所以,强烈建议采用 HTTPS/SSL 的 Web 安全机制;
- 由下图可以看出,这个 token 承载了与服务器之间的所有回话权限,尤其要保护好;
X-Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ5aWVkZ2VAeWlxaXNvZnQuY24iLCJzY29wZXMiOlsiVEVOQU5UX0FETUlOIl0sInVzZXJJZCI6IjQzNWYwMDYwLWFiN2ItMTFlZC05MzgxLTBmNDg4NzE5ODYwYyIsImVuYWJsZWQiOmZhbHNlLCJpc1B1YmxpYyI6ZmFsc2UsInRlbmFudElkIjoiM2Q5YmVmMzAtYWI3Yi0xMWVkLTkzODEtMGY0ODg3MTk4NjBjIiwiY3VzdG9tZXJJZCI6IjEzODE0MDAwLTFkZDItMTFiMi04MDgwLTgwODA4MDgwODA4MCIsImlzcyI6InRoaW5nc2JvYXJkLmlvIiwiaWF0IjoxNjgzODUwMDEyLCJleHAiOjE2ODM4NTkwMTJ9.c4mPoci7U41IHGT1AWhLnuNDV5W_0yQOfQDHpfLpMYCuNe9nKBz1AF5AHKL23O194q8Fg_b-2p9uzk3XsoFs_g
- 用户名 sub 有了,超时时间 exp 也有了,不难看出(1683859012-1683850012=9000s),超时时间就是这里明确了;
- 修改 JWT 超时时间, 配置文件里修改这个 9000 即可。
Parameter | Environment Variable | Default Value | Description |
---|---|---|---|
security.jwt.tokenExpirationTime | JWT_TOKEN_EXPIRATION_TIME | 9000 | User JWT Token expiration time in seconds |
ThingsBoard 统计和报表功能使用
- TB CE 版本只有简单的统计和报表功能,通过 Dashboard 就可以实现;
- 更高级的功能,需要使用 PE 版本;
- 也可以通过二次开发来实现,请查阅以下文章(
新手慎入
):Spring Boot 集成 Jpa Repository 生成 Jaspersoft Reports,保存/导出 PDF 文件, Spring Boot 集成 JasperReports,并支持中文PDF, ThingsBoard 功能扩展,二次开发,个性化,一起搞定!
ThingsBoard 与 ThingsBoard Edge 如何配合?
- TB Edge 就是一个精简版 TB,单租户而已,其实对边缘计算概念是一个歪曲的理解;
- TB Edge 还是非常不错的选择,在边缘端实现 Dashboard 可能是唯一的优势吧;
- TB Edge 的 telemetry 数据尽量不要同步到 Cloud 端,完全没有意义啊;
- TB Edge 并不是完整的 边缘计算 框架,必须要配合 TB Gateway 或网关来实现数据采集;
- 根据需求,自己来选择吧,没有对与错,人见人爱花见花开。
ThingsBoard 移动端二次开发
- TB 移动端非常不错,Android 和 iOS 一次开发,通通搞定;
- 通过与 服务器的配合设置,完全可以做到非常不错的效果,简单应用没问题了;
- TB 移动端使用 Flutter 框架开发;
- 看一个效果图:
ThingsBoard 如何做“边缘计算”?
- 使用 ThingsBoard Gateway 作为边缘计算的确是最方便快捷的方法,当然 TB Gateway 只是简单数采功能;
- 用 TB Edge 配合使用,实现一些低代码工作,也可以;
- 使用第三方框架,也是非常不错的选择,比如: YiEDGE-亿琪边缘计算软件 ;
- 既然是边缘计算,那肯定是要计算,Edge Computing 的概念要清晰,比如:规则,策略,等;
- 使用具备边缘计算功能的硬件网关,把这个复杂的工作交给专业的厂商设备来实现;
ThingsBoard 资产和设备的区别是什么?
- 要了解其区别,就是要首先明确理解 TB 的 entity 概念,可以说 TB 里面的逻辑很大一部分是以 entity 来定义的;
- 其实,说实话,没什么大的区别,只是说设备有独立上传数据的功能 API,资产只是一个虚拟概念;
- 还可以通过规则引擎,将设备的 telemetry 转化到资产中;
- 资产可以称之为:组或集合;
例子
将资产的 telemetry 展示出来
总比将所有的设备 telemetry 展示出来更加直观和全局
ThingsBoard 如何在 Kubernetes(k8s) 部署?
- 这个问题比较复杂,如果你是 k8s 新手,或者没有相关的经验,还是放弃这个思路;
- 你也可以用 docker 部署来实现高性能;
- 尝试阅读这个文章:如何在 Kubernetes 中部署 ThingsBoard?步骤很简单,过程很艰辛!,你有可能会放弃 k8s 这个事情;
ThingsBoard 如何实现 SSO 单点登录?
- TB 内置了 OAuth2,需要集成第三方 SSO 非常方便;
- 使用 GitHub/Apple/Facebook/Google 等;
- 配置不复杂,但是对 OAuth2 需要有一定概念了解;
- 使用自定义的 OAuth2 服务器;
ThingsBoard 集成 Keycloak 自定义 OAuth2 认证服务器
关于 亿琪软件
上海亿琪软件有限公司成立于2016年,专注于 5G 通信、AI 人工智能、边缘计算和大数据网络安全多项技术领域,致力于物联网领域前沿技术的创新,为用户提供全方位、智能化和安全的物联网解决方案。
2023年,公司发布“YiFUSION|工业边缘智能融合一体机”产品,为工业客户提供一整套的边缘计算+AI能力:高性能数据采集、多类型数据融合、AI算法集成、云端业务对接。在边缘网关的基础上,集成了 IoT 平台的边缘协同能力、本地Web SCADA 和 HMI 功能、本地数据存储、边缘 AI 视频分析、行业应用集成等。
2022年公司推出 “YiCLOUD|亿琪云”一站式物联网应用解决方案。公司的业务涵盖了智慧城市、智慧农业、智能工厂和智慧园区等多个领域,公司软硬件产品和解决方案获得华为技术认证,得到中国移动OCP认证,公司还是边缘计算产业联盟ECC成员。
感知物联,畅快无限。
联系我们
网站:http://yiqisoft.cn
邮件:support@yiqisoft.cn
电话:021-68863086
手机:186-1666-9123