web项目与硬件设备的物联网项目总结

三月份开始,导师接了个本地发行银行的内部一些系统的改造项目。这个项目是一个物联网方向的、银行内部使用的web端的Java项目。里面涉及非常多的与硬件通讯的东西,并非是一个单纯的web端的Java项目。由于该项目中使用的设备来自一二十家不同的厂商,每个厂商采用的通讯方式也各不相同,导致我们在做硬件测试和Java通讯代码的编写也带来不小的麻烦,更不用说工作量了,整个六月七月都在高强度的工作,白天去现场实地测试、调试,晚上回实验室熬夜改代码,一切辛苦尽在不言中。
接下来我对在这个项目中自己做了些什么,又学到了什么东西,做一些总结;
1、 物联网的发展是一定要和硬件建立连接的,从而建立起数据的采集,数据上传到控制中心,最后通过对数据分析给予一定的控制输出。首先如果要采集到硬件设备的信息,我们一定要搞清楚硬件的通讯方式,通过一些软件调试软件来和硬件设备进行数据的交互。目前主流的一些通讯方式主要有TCP/IP、UDP、RS232/485等。由于物联网要实现集中控制,所以所有的硬件设备无论采用什么样的通讯方式,都要通过网线与交换机相连接,这样在使用到串口的通讯方式的设备的时候就要采用一些转换设备把串口通讯通过转换设备来接入到控制中心的交换机上,当然在接入交换机的每个设备中都要设置不同的IP地址。
2、 在采集数据的时候,一定要充分的研究说明书,当然在一些公司为了节约成本可能使用的硬件是小厂家生产的产品,这就导致设备内附的说明书极其简陋甚至不配说明书,这就要我们去联系生产厂家,一般小厂家销售和技术售后都是很好找的,他们也都很直接的会把和设备相关的说明资料发给你。当然你在使用设备的时候遇到什么问题也可以咨询他们。但是一些做的比较的大的厂商,因为内部管理机构比较复杂,把销售和技术部门的职责分配的非常的细致,当我们要去咨询关于他们设备的问题的时候,往往需要先联系销售,通过销售去联系技术人员,再来给我们指导解决技术问题,这可能还是比较好的,有些公司售后部门可能有联系电话,但是却无法打通,只能联系本地的经销商,一层一层的联系技术人员,这会特别的耗费时间。
3、 Web端与硬件设备的通讯,我们是通过在web端调用所需设备的webservice来交互数据的。我们编写的webservice服务是让硬件设备传来的数据一直不停的上传给我们的web端,通过web端来对数据进行分析处理;这样的底层通讯方式会造成数据量的庞大,并且会使通讯效率降低,给设备下发控制命令的时间会有延迟。考虑到这个问题我们的解决方式是,让webservice主动监控硬件设备的数据变化,如有数据的变化,再把设备的实时数据上传给web端,从而经过web端的分析,下发控制命令,这种方式会有效的解决通讯延迟的问题。
4、 硬件厂商一般都会提供二次开发的demo,这些demo可能是用C#编写的,亦或者是Java编写、VB语言编写的;大部分厂商会提供主要的使用C#编写的,因为大部分的客户端就是用C#编写的,好些厂商为了方便就直接在开发包中提供C#编写的demo;一些小厂商,为了节约成本,一般不会设置通过登录固定的IP去修改硬件设备的参数,如果要修改参数就必须运行C#demo,与硬件建立连接,来修改硬件的参数。一些大厂的设备,比如海康威视、昆仑海岸等使用的客户群体比较大,当然客户的要求也就会增多,为了提升自身产品的影响力及降低二次开发的难度,他们都会提供不同版本的、使用不同语言编写的demo。
5、 为了能够让web端与硬件建立通讯,我们必须要编写webservcie,并将其以网站的形式通过IIS部署到服务器上,要编写webservice就必须要熟悉厂商提供的C#demo,有时候我们可能只用到demo中的一些功能,我们并不需要把所有的函数都写进webservice,弄清我们要使用demo中的什么内容,提供可调用的接口,这写是非常重要的,当然我们也要从分的把上述第三点给考虑进去,这点是非常的重要,这关乎我们的系统的整体性能。
以上几点是关于一些硬件的开发所了解到的知识。接下来就是在前端开发所学的和所遇到的问题。
6、 这个项目中,我们要通过硬件实现室内定位,并能够在前端网页中显示出定位的坐标以及在平面图中的位置。这里我们主要是通过svg标签来实现的,我们首先要把客户提供的室内平面图(CAD)通过svg标签来在前端页面中显示,这要求我们知道平面图的缩放尺寸,我们放进svg标签中,不能整张图都放进去,我们也要适当的缩放,并在里面加入滚轮、鼠标操作,来进行放大缩小平移。同时还要熟悉svg内部所属的标签的属性,如何绘制图形,并给图形内部上色和添加事件等。从硬件传来的位置信息要实时的显示在前端页面中。
7、 前端的东西上手比较容易,但是真正能把页面的做的非常漂亮是有一定的难度,如何运用div标签真是一门很大的学问,现在大部分的前端开发都在使用div来进行页面布局,由于接触前端开发事件比较短,虽然知道一些div标签的使用方法,但是div标签的配套使用真的要花费很大的力气,前端页面的优化对于新手来说是真的很耗费时间。
最后,还有一点,开发项目一定要有一定的规范,代码里面一定要添加适当的注释,这会给我们后期的修改和维护带来很大的方便。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值