极益科技是如何快速开发物联网软件项目

访问次数: 1306 次   
发布时间: 2022-07-15

物联网项目一般包括软件、硬件、施工、联调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个图表单元当前温度、当前湿度、温度曲线、湿度曲线。那么设备插件就把这块都包括进去了,于是成了一个类似“设备孪生”的组件。

image.png

模块化且更大的模块

实际上不是这样的,以前的电子设备维修也很复杂,换电阻、换三极管,现在都是整块换,甚至直接退换货,不维修。

时代在进步,抽象封装也在走向高层次。

远大集团盖房子用的模块比传统的砖头要大几十倍,因此效率就更高。模块要大,效率就更高。

搭建物联网应用,可以用规则引擎类似的低代码平台搭建,也可以用无代码的类似APP直接拿过来用,毕竟低代码平台还要写代码,再快怎么可能比不写代码更快!

设备预调试

ThingsPanel中,一个温湿度插件与一个品牌的温湿度传感器调试完毕后,就等同于调通所有的温湿度传感器,哪怕躲在网关后面。 

最近刚完成一个网关的对接《ThingsPanel如何对接BacNet、Modbus、PLC、DLT645等协议》,同步解决了各种开关量、模拟量、热电阻、热电偶、脉冲的接入,可接入的设备一下子扩展到了成百上千种,网关对接的设备多了,ThingsPanel对接的能力也同步增长。

预调通的设备越多,项目实施中的时间就越短。

 

复杂是简单的叠加

越复杂开发成本越高,周期越长,维护越困难,因此复杂只能是简单的叠加,ThingsPanel这是这样设计的。

image.png

并行接入的同时,可能要全局的数据统计,那么只需要单独开发全局部分即可。大大降低了工作量。

利用现有的功能模块

ThingsPanel是开源项目,有很多功能已经是现成了,常见的温湿度、噪音、甲醛、开关、GPS定位插件也都已经开源。

image.png  image.png

image.png  image.png

image.png  image.png

下图是已经开源的物联网APP。

image.png

开发都要做哪些工作

如下图,ThingsPanel开发的工作按照如下工作路线图所示。

image.png

按照步骤分别是:

需求分析

全面深入了解需求的同时,关键是定义好设备输入和结果输出。

制定方案

根据界面输出把项目拆分成设备插件、汇总插件。

根据交互的情况,利用系统设置自动化规则。

开发和其他系统交互的接口。

按照要求修改界面。

 

系统开发

从功能层面看,主要是插件开发。当然也包括这个系统和其他系统的对接,修改系统的界面。如果有手机端,基于ThingsPanel的手机端来开发也是比较快的。

系统开发层面要大量的利用系统的组件、模块。这些模块,ThingsPanel已经有了

没有的照着修改也比较快。

配置系统

如果插件已经有了,配置系统的速度非常快,配置一个包括2-5个设备的大屏大概需要2分钟,效率还是非常高的。

如果是比较复杂的,那么还是需要花一些时间,但是比传统的方式要快很多倍。

 

整体测试

设备已经调通的情况下,开机后台就可以看到数据,动态展示设备的运行状态。主要需要调试的是开关等设备。工作量就降低很多。

ThingsPanel在未来将会开发故障分析与修复系统,以后这方面的能力将更强。

 

如何解决成本高开发慢的问题



问题

方案

解决问题的思路

简单有效思维

新手上手难

用的时候再出现必要的菜单按钮,而不是全部堆页面上,去掉看似有用实际无用的东西

新手开发入手难

采用golang,vue开发,go语言代码相对容易读,事实证明也是

如何降低学习成本

优化简化设计,抛弃规则引擎等设计缺陷的东西

性能问题

采用golang,天然的并发优势

如何避免重复开发问题

采用插件机制,别人做过的插件你就不用做了,效率非常突出

如何更好的兼容边缘设备

采用golang开发

如何降低CPU内存占用

采用golang开发

如何简化部署

采用golang开发,编译一个包出去就可以运行

如何兼容更多设备

采用golang,各种CPU架构编译

如何省钱

采用golang,简化设计,插件模式,虚拟设备封装

如何以最快速度输出最佳质量

默认提供好看的界面

如何更少的代码

提高插件重用,而不是采用低代码平台,避免受限制反而更折腾


通过这些方式方法,可以将物联网项目的开发速度提高很多倍,这些我们已经在过去的项目开发中得到验证,效率非常高。

当然也有缺点就是需要有插件,不像ThingsBoard可以自己配置,看起来刚开始反倒更麻烦了,实际上从折腾程度来看,ThingsBoard是每次都那么麻烦,ThingsPanel只麻烦一次,从整体拥有成本来看,ThingsPanel是ThingsBoard十分之一都不到,因为在整个物联网世界里,这个功能只需要开发一次。毕竟人力成本是很高的,比软硬件都要贵。

 

随着ThingsPanel的不断改进和插件的不断完善,这种效率会越来越高,因为越来越多的插件都被开发出来了。剩下的你只需要一个——拿来主义。



返回

Top