跳转至

ThingsBoard 项目实施及二次开发要点总结(原创)

最近在实施 ThingsBoard 项目中遇到一些问题总结,还有针对 Thingsboard 二次开发中的提示。

如果你正准备使用 Thingsboard 开源框架作为你的物联网平台来使用,这个文章对你应该有一定帮助。关于 Thingsboard 平台的介绍和基础不是本文的重点,所以,你在阅读本文时,应该具备一些 Thingsboard、物联网平台、MQTT、HTTP、物模型,等基础能力。还有,如果你要实施一套自己的物联网应用,可以参考这个文章:分享|如何组建一个项目团队来完成物联网应用?

Thingsboard 项目实施

实施准备

  • 统计你所在网络里面的设备、资产、测点、指标、通讯方式、状态等基础信息,可以统计一些信息形成 Excel 表格,越详细越好,多多益善;
  • 基于你对物联网的了解,要把业务结合进来,综合考虑物联网平台到底对你的业务有什么帮助,比如:信息及时性?数据总量?统计分析?降本增效?还是有其他非技术目的?
  • 要有相关的技术储备,人员储备,还有资金储备,毕竟还是需要不少时间、精力、金钱和欲望投入在里面;
  • 不管如何,你还是应该准备找一个合作伙伴,能够帮助你解决一些你无法预料到的问题,以解燃眉之急;
  • IoT、物联网、平台,这些都是基础设施,并不能完全解决你的所有问题,要摆正 Thingsboard 在你的业务中的正确位置
  • 至于 Thingsboard 能帮到你什么,能做什么,有什么效果,你可以在本技术博客寻找你的答案,或到互联网找到你所需要的内容;

实施要点

这里以一个工业物联网平台为例,简单介绍一些要点供你参考:

  • 目的:工业物联网平台,当然是为了工业生产服务,例如:这个指标采集上来,频率是多少,数据变化起到什么业务帮助。如果存粹为了做一个物联网平台而做一个,那就无所谓了,只要看上去像个平台,数据在变化,有图有真相,那也行;
  • 方法:典型的实施方法,无非就是采集、汇聚、存储、分析,方法在不同的客户有不同的操作方式,比如:改造老平台是一种有据可循的,推翻老平台又是另一个,还有新建平台也是一脸茫然,不知所措;要根据实际的需求,制定适合自己的实施方法
  • 过程:来举例说明一个客户的实施过程:在这个客户而已,开源是开放的,免费的,没什么难度的,所以把实施过程简单理解为:
  • 1、安装;
  • 2、配置;
  • 3、调整;
  • 4、交付。
  • 我把其过程形容为:陷入泥潭的人,越陷越深,最后有可能会失败;
  • 时间:有些客户觉得拿来即用,更何况 Thingsboard 是开源的,那就是多简单的事,其实,我们实施过的项目中,客户越是觉得简单的快速的,都会导致项目延迟,他们忽略了开源并不是你什么也不需要做就可以完成所有实施,赶工期不太适合用 Thingsboard 来做,假如你对开源真的有所了解的话;如果你觉得一个月能搞定,我建议你把时间放大到3个月,中间你会遇到太多的疑问和不知道,如果有合作伙伴能帮你,那你算是幸运儿,有些自己几个星期搞不定的问题,专业人士只需要十分钟;
  • 效果:不要对项目实施的结果报以太多的期望,毕竟 Thingsboard 还有 PE 专业版在那里,开源版本只是提供了基础功能,的确可以让你达到完成一个物联网平台的概念,但是,需要太多的工作量去完善你的业务需求了,效果因人而异,各说纷云。

总结经验

  • 开源贡献:如果你了解开源,你就知道开源不仅仅是索取,也需要贡献,如果你的实施过程中修复的问题并没有得到开源社区的合并,那么说明你以后需要一直去修改它,那是非常不利的局面,所以,建议你参与社区,参与贡献,对你长期使用 Thingsboard 是有帮助的而无害的;
  • 可移植脚本:大版本不变化的情况下,你要尽量综合项目实施过程中的可复用脚本,这样,你在其他项目中就是亮点也是赢利点,这一点是很多实施者所忽视的地方;
  • 形成标杆:一旦你发现客户的思路很有效果,你帮助客户实施完成,且具备一定的效益,你要知道这就是果实,要动得举一反三,运用到其他的客户那里,形成标杆项目,推广下去,毕竟复制/粘贴的成本是最低的

Thingsboard 二次开发提示

前提

技术栈

其实就下面俩,你要突破的地方,我觉得应该就是 Angular 框架。如果你研究过 Thingsboard 源码,我的意思是你熟读多次,编译 N 次,简单开发过几次,你就应该明白其实很简单,只是代码量有点大,几个月应该是搞不定了,你不能放弃,如果你决定要进行二次开发,可以参考本技术博客的其他文章。

  • Java/Spring Boot/Postgresql
  • Typescript/Angular/Javascript/HTML

尝试

作为一个开发者,我建议你最应该看的就是官方文档,不管你的英文能力怎么样,都应该找方法去尝试读他们的文档(虽然都是乌克兰写的)。

  • 编译通过,这是首要条件,否则你的二次开发就此打住;
  • 遵循其编码和框架规则,不要试图去改造它,你可能还不具备这个能力;
  • 后端代码我觉得是非常简单且方便改造的,但是,前段代码所使用的 Angular 在国内并不主流,这也是很多开发者宁愿用其他前端框架重写,也不愿意改官方代码的原因吧;
  • 一切二次开发都是需要基于业务需要而做的,那么就仔细分析一下业务,结合你现有的能力,首先尝试配置它而不是二次开发,以我们的经验,绝大部分需求都是可以通过配置(前端,也需要写一些 JS 代码,而且必须遵循其框架)来完成的。

运用技巧

  • 首先就是官方文档,有些内容都是以简单的表格列出,其实可以算是设计说明书,非常有帮助;
  • Github issue, 你要经常看,最好能翻边你所关注的所有,里面的答案比代码和文档更加清晰;
  • 关注本技术博客的内容,与笔者沟通,把你需要的疑问提出来,我们专门针对问题解答(技术交流不收费);

关于 亿琪软件

上海亿琪软件有限公司,全球开放边缘计算和物联网领域的领导者,全球领先的工业物联网软件开发商和解决方案提供商,助力企业和组织实现数字化转型。公司专注于 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