物联网项目一般包括软件、硬件、施工、联调4个过程,难度不一定高,但是人多事杂,项目周期不好控制,项目质量也难以把控,成本也因此容易不断增加。
为了解决这个问题,极益科技采取一套全新的方案开发物联网应用。
有一个令人震撼的新闻,极其有借鉴价值:
2015年,远大可建历经19天搭建57层商住两用建筑。2021年6月5日,采用100%不锈钢材料预制化生产的“远大活楼家园一号”横空出世,仅耗时28小时完成11层总面积近3000平米的结构搭建,内装80%工厂预制完成,现场仅需完成模块搭建和少部分内装,当天即可实现通水通电。
视频:
https://www.bilibili.com/video/BV1vo4y1k7Ns/?vd_source=2e7ecdf1a10eeb39952c2fffe8c30728
盖楼那么慢的事情都这么快了,那物联网系统开发能不能这样呢?
物联网项目一般包括软件、硬件、施工、联调4个过程,难度不一定高,但是人多事杂,项目周期不好控制,项目质量也难以把控,成本也因此容易不断增加。
为了解决这个问题,极益科技采取一套全新的方案开发物联网应用。
物联网之所以复杂,是因为充满了个性化,每个场景都不一样,几乎难以标准化、规范化。
在ThingsPanel中,以物理设备为纵向抽象单元,以过程节点为横向单元,就很容易将原来的个性化变成标准化的功能模块——设备插件。例如温湿度传感器是一个硬件,有3个数据即温度、湿度、时间。一般有4个图表单元当前温度、当前湿度、温度曲线、湿度曲线。那么设备插件就把这块都包括进去了,于是成了一个类似“设备孪生”的组件。
实际上不是这样的,以前的电子设备维修也很复杂,换电阻、换三极管,现在都是整块换,甚至直接退换货,不维修。
时代在进步,抽象封装也在走向高层次。
远大集团盖房子用的模块比传统的砖头要大几十倍,因此效率就更高。模块要大,效率就更高。
搭建物联网应用,可以用规则引擎类似的低代码平台搭建,也可以用无代码的类似APP直接拿过来用,毕竟低代码平台还要写代码,再快怎么可能比不写代码更快!
在ThingsPanel中,一个温湿度插件与一个品牌的温湿度传感器调试完毕后,就等同于调通所有的温湿度传感器,哪怕躲在网关后面。
最近刚完成一个网关的对接《ThingsPanel如何对接BacNet、Modbus、PLC、DLT645等协议》,同步解决了各种开关量、模拟量、热电阻、热电偶、脉冲的接入,可接入的设备一下子扩展到了成百上千种,网关对接的设备多了,ThingsPanel对接的能力也同步增长。
预调通的设备越多,项目实施中的时间就越短。
越复杂开发成本越高,周期越长,维护越困难,因此复杂只能是简单的叠加,ThingsPanel这是这样设计的。
并行接入的同时,可能要全局的数据统计,那么只需要单独开发全局部分即可。大大降低了工作量。
ThingsPanel是开源项目,有很多功能已经是现成了,常见的温湿度、噪音、甲醛、开关、GPS定位插件也都已经开源。
下图是已经开源的物联网APP。
如下图,ThingsPanel开发的工作按照如下工作路线图所示。
按照步骤分别是:
全面深入了解需求的同时,关键是定义好设备输入和结果输出。
根据界面输出把项目拆分成设备插件、汇总插件。
根据交互的情况,利用系统设置自动化规则。
开发和其他系统交互的接口。
按照要求修改界面。
从功能层面看,主要是插件开发。当然也包括这个系统和其他系统的对接,修改系统的界面。如果有手机端,基于ThingsPanel的手机端来开发也是比较快的。
系统开发层面要大量的利用系统的组件、模块。这些模块,ThingsPanel已经有了
没有的照着修改也比较快。
如果插件已经有了,配置系统的速度非常快,配置一个包括2-5个设备的大屏大概需要2分钟,效率还是非常高的。
如果是比较复杂的,那么还是需要花一些时间,但是比传统的方式要快很多倍。
设备已经调通的情况下,开机后台就可以看到数据,动态展示设备的运行状态。主要需要调试的是开关等设备。工作量就降低很多。
ThingsPanel在未来将会开发故障分析与修复系统,以后这方面的能力将更强。
问题 | 方案 |
解决问题的思路 | 简单有效思维 |
新手上手难 | 用的时候再出现必要的菜单按钮,而不是全部堆页面上,去掉看似有用实际无用的东西 |
新手开发入手难 | 采用golang,vue开发,go语言代码相对容易读,事实证明也是 |
如何降低学习成本 | 优化简化设计,抛弃规则引擎等设计缺陷的东西 |
性能问题 | 采用golang,天然的并发优势 |
如何避免重复开发问题 | 采用插件机制,别人做过的插件你就不用做了,效率非常突出 |
如何更好的兼容边缘设备 | 采用golang开发 |
如何降低CPU内存占用 | 采用golang开发 |
如何简化部署 | 采用golang开发,编译一个包出去就可以运行 |
如何兼容更多设备 | 采用golang,各种CPU架构编译 |
如何省钱 | 采用golang,简化设计,插件模式,虚拟设备封装 |
如何以最快速度输出最佳质量 | 默认提供好看的界面 |
如何更少的代码 | 提高插件重用,而不是采用低代码平台,避免受限制反而更折腾 |
通过这些方式方法,可以将物联网项目的开发速度提高很多倍,这些我们已经在过去的项目开发中得到验证,效率非常高。
当然也有缺点就是需要有插件,不像ThingsBoard可以自己配置,看起来刚开始反倒更麻烦了,实际上从折腾程度来看,ThingsBoard是每次都那么麻烦,ThingsPanel只麻烦一次,从整体拥有成本来看,ThingsPanel是ThingsBoard十分之一都不到,因为在整个物联网世界里,这个功能只需要开发一次。毕竟人力成本是很高的,比软硬件都要贵。
随着ThingsPanel的不断改进和插件的不断完善,这种效率会越来越高,因为越来越多的插件都被开发出来了。剩下的你只需要一个——拿来主义。