天地科技股份有限公司上海分公司 曾 苛
虚拟平台的B-S架构污水远程监测系统研究与设计
天地科技股份有限公司上海分公司 曾 苛
排水与污水处理是维系城市人民健康生活的重点环节,目前国家也越来越重视污水的排放问题。随着虚拟化技术的不断成熟和稳定,本设计通过对时下VPS技术与云技术进行了研究,提出并设计了以STM32为现场数据采集装置的控制核心,通过GPRS将数据传送至云主机,在主机里对数据进行挖掘及分类存储后进行B-S架构的监控中心设计。主要完成了对污水的数据的采集和云存储。通过JSP编程实现监控端通过浏览器的方式浏览相关监测数据。
数据采集;JSP;GPRS;云存储;服务器
目前国家对环保越来越重视,城镇的排污处理已经立法,偷排污水将受法律的严惩。污水处理是人们在水资源利用过程中必不可少的一个环节。我国大部分污水排放都得不到监测,有的处于人工监测阶段, 数据监测难度大, 实施艰难, 很难体现企业和城市污水排放的实时变化情况。部分污水处理厂已安装了一些实时监控的传感器和系统,但好多设备复杂,价格昂贵,功能单一,只能检测水质的变化,并不能实时监测污水成分信息和满足可靠性监测的要求。而且对于一些大型的城市,采用原来的zigbee节点传输方式,布点繁多,增加成本投入,而且维护困难。
云服务器具有数据保障安全、自助管理、故障自恢复和网络安全保障等高级功能,这样很大程度的简化了研发规划过程,运行使用成本大大降低,搭建可以按用户需求拓展的网站架构,通过对云端进行对应的编程,实现功能多样化,从而更适应快速多变的互联网应用特性。
图1.1 系统整体结构
本系统有三个部分组成(图1.1),分别为:现场数据检测采集传感器、数据采集处理中心以及B-S架构的实时监测控制中心,监测控制中心采用阿里云服务。主要完成对监测点污水的溶解氧和PH值等实时数据进行监测,通过GPRS将数据传送至云主机。通过一定的算法对采集的数据进行分类处理。通过网页浏览器的方式监测各个测点的数据。
现场数据检测采集传感器主要包括数据采集,数据存储和数据发送三部分。具体功能如下:污水监测点的传感器将采集到模拟量通过AD转换成数据通过单片机处理进行存储。如果是正常的数据每隔半个小时通过单片机发送给GPRS将数据传输出去,若是超标的数据,数据值超过规定值的百分之五则判定为超标污水,这时单片机间隔三分钟将采集到的数据传输出去。为节约用电,GPRS在不发送数据时,将处于断电状态。
传感器的MCU采用Cortex™-M3 为核的32位ARM芯片(图2.1)。此CPU具有转换时间为1us的2路12位A/D转换器,并有16个通道可以实现多路采集。可以高精度的采集污水的监测信息。供电电路采用蓄电池组进行供电,经LM2596开关电源调节器输出3.3V和5V电压来分别为系统供电和作为A/D采样的基准电压。
GPRS部分主要包括GPRS开关机电路、SIM卡部分电路设计、射频部分及网络状态指示等外围电路。
图2.1 GPRS数据采集总框架
2.2.1 供电电源及抗干扰设计
本设计的GPRS模块采用芯讯通公司的SIM900A模块。该模块是单电源供电,直流供电VBAT范围 3.2~4.8V 之间,模块发射数据时,功耗会增加,导致电压降低,这时峰值电流最高会达到2A以上,因此供电电源应达到2A,将VBAT引脚并联大电容。LM2596是降压型电源管理单片集成电路,能够输出最大3A的电流,具有很好的线性和负载调节特性。
为了增强模块的抗EMC能力,保证在恶劣环境下设备工作正常,我们在外部电源输入端增加一些共模电感、TVS管等元器件如图2.2所示:在电源芯片的输出端增加了100uf的钽电容和1uf的独石电容,来滤除干扰。
图2.2 电源供电电路图
2.2.2 开关机电路设计
因GPRS在发射数据时的功耗很大,所以在不工作时我们将GPRS的电源关掉,以节省电能的消耗。SIM900A模块内部开关引脚通过100K电阻上拉到3V电压,因此设计时候要注意模块的电压。电路如图2.3所示,通过控制NPN三极管8050导通和断开,来控制GPRS模块的电源。
图2.3 驱动开关机图
SIM卡电路设计
2.2.3 SIM卡部分电路设计
模块支持DC1.8/3.0V的SIM卡。在设计这部分电路时,电容以及ESD器件需要放置在靠近SIM卡座的位置。电路中给SIM卡供电的SIM_VDD需要并0.1uF或0.22uF 电容,以保障电源输出稳定,减小纹波干扰; SIM_DATA并接20pF电容,SIM_RST并接4.7nF电容,用于防止高频干扰。
2.2.4 射频电路设计
SIM900A的第60脚为天线接口,可以用微带线或者其他类型的可控的阻抗为50欧姆的射频走线和SIM900A的第60脚相连。在射频部分设计时应预留∏型网络,前期可以安装0欧姆电阻、电容可以不装,以方便后续天线调试匹配。
网络状态指示电路。NETLED信号用来监测网络状态的,通过三极管来驱动发光二极管。通过发光二极管的闪烁状态可以判断当前的网络状态。
酸碱度传感器采用HA151-PH型耐碱pH电极,其测量范围为0~14pH ,温度范围为0~100℃,耐压0.6MPa。该探头采用耐高温凝胶电介质和耐高温固体电介质双液接界结构,可直接用于高粘性悬浮液、乳浊液、含蛋白质等液体的酸碱度检测。耐碱性敏感膜,适用于碱性液体实时测量。无需补充电介质,基本不用维护。
溶解氧传感器采用适合各种工业监测使用的覆膜式电流式传感器。该传感器的透气膜采用抗污染特氟隆膜,膜厚50μm,测量上限为20mg/L(ppm), 测量下限为0.02mg/L(ppm)(20℃)。安装方便,只需直接将探头浸入被测液体。
信息管理中心主要完成两个任务,一是对GPRS数据采集终端进行监听,当各个监控终端的数据发送上来时,分别收集解析,并根据相应的编码格式进行数据处理存储。信息管理中心的第二个任务是作为JSP代码的WEB服务器。对于监控调度中心,可以通过打开浏览web网页的方式查看各监测点的数据,并根据各人的权限可以进行相应的操作。
本系统设计采用的是基于阿里云自主研发的飞天大规模分布式计算系统,通过虚拟化技术整合,为本系统提供互联网基础设施服务。
系统通过传感器数据采集后将数据发送给信息管理中心,在云主机里用Socket编程实现对数据采集端口的监听。云主机兼做数据处理,数据库管理和JSP服务器。在传感器数据采集端采用的相当于C-S架构即客户端-服务器结构,在数据监控调度中心则采用B/S架构,即浏览器/服务器结构。
云主机各组件的主要功能如下:
JSP服务组件:该组件的设计主要功能是完成JSP访问我的SQL数据库的编程,在云服务器中将编写好的java服务器页面与数据库动态链接,监控调度室可以通过web访问查看相关参数。
数据接收组件:该组件的主要功能是从网络中读取传感器通过GPRS发送来的数据信息。
数据存储组件:该组件的主要功能是将接收到的数据按照预先规定的格式写入指定的SQL数据库中,便于JSP通过JDBC数据库连接访问SQL数据库。
数据整合组件:将SQL中每日保存的数据整理成日报表,根据日报表整理出月报表,根据月报表整理出年报表。
在数据采集传感器主要是完成数据采集处理和发送。采集后的数据按照规定的协议将匹配好的数据通过GPRS网络发送给服务器。
每隔三分钟MCU对数据进行采集,当采集到的数据超过10次后启动GPRS与Web server进行连接,与服务器建立连接上后,自动打包将数据发送。
在本系统设计中,数据采集主要运用socket编程实现对远程数据的监听,数据采集服务器接收从传感器发送过来的数据。云数据采集及处理主要功能是完成接收GPRS数据并将数据进行解析,提取出有用的信息,将信息经过云处理后存入数据库。因此,云数据采集存储效率更高更安全。在通讯方面,网络通讯程序的实现是采用基于TCP/IP基础的Socket编程。Socket通常也称“套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通讯。应用程序通常通过“套接字”向网络发出或者应答请求。TCP/IP是目前广为应用的互联网协议,无论从可使用性、可移植性、还是从未来发展上来看,采用该协议来开发通信软件是一个最合理的选择。Socket正如其英文原意那样,像一个多孔插座。已逐渐成为网络通信软件研发的规范和标准,具有功能完善、技术成熟、跨平台的特点。
B/S结构即浏览器/服务器结构,用户可以通过www浏览器的访问方式来查看监控信息。本设计采用B/S架构,上位机只需要安装浏览器。这样可以通过登陆权限,系统使用部门可以对排污情况进行查看,同时相关管理部门也可以集中调度监控。其主要的实物逻辑由服务端进行实现。将开发工作主要集中在服务器上,大大简化了系统的开发和维护。只要在服务器上安装一套数据库软件,浏览器可以与数据库直接进行交互。
JDBC是一种能够用于执行SQL语句的应用程序设计接口API。可以为多种关系数据库提供统一访问,它由一组用JAVA语言编写的类和接口组成。JDBC组成包括一些JAVA语言编写的类和界面。简单的说JDBC 可以做三件事:与数据库建立连接、发送、操作数据库的语句并处理结果。为数据前台与数据库的交互提供了一种标准的程序应用设计接口,方便了JAVA程序开发人员编写数据库操应用程序。使用JDBC可以把SQL语句很方便的传送给数据库。可跨平台运行,并且不受数据库供应商的限制,这是继承了Java语言的“一次编译,到处运行”的特点。JDBC是纯JAVA的ODBC解决方案。
JDBC连接数据的流程如下:
(1) 首先在开发环境中装载数据库的驱动程序。
(2) 在Java程序中加载驱动程序。
(3) 创建数据连接对象。
(4) 创建Statement对象,用于把 SQL 语句发送到 DBMS。
(5) 调用Statement对象,使用适当的方法执行相对应的 SQL 语句。
(6) 关闭数据库连接。
根据实际操作人员的不同,系统后台分别对访问者进行了不同权限规划。以不同身份登录该系统时,系统会进入不同的界面和操作权限。根据地区特点,界面将整个地区划分为五个区,每个地区有11个监测点,每个监测点都有不同的编号。这样就可以根据需求点击界面下面的按钮来查看相关地点的污水信息。
随着云计算的不断发展和完善,越来越多的企业注意到云的商业价值。其可靠性和低维护成本深受广大企业的欢迎,也都在考虑将企业的资源移建到云服务端。本文充分利用云平台,基于阿里云设计了污水远程监测系统。在云上建立了自己的数据采集中心,通过GPRS采集终端数据,并对数据处理和存储。利用云计算的优势将采集的数据进行处理并存入数据库。云与GPRS数据采集终端是一个类C-S结构,通过本地可以登录到云端,通过JSP编程实现了对B/S结构的数据监测中心数据访问。实现了远程数据的采集,远程数据的传输,远程数据的数据库存储,监控调度管理人员可以查看各个厂家排放的污水情况,相关单位也可以登陆网站查看自己的排污情况,具有实用价值。
[1]牲焕军,张维勇,刘国田.ZigBee网络的路由协议研究.奁惩工叠大学学攘:鑫然辩学叛,2008,31(10):1617-1621.
[2]黄绪勇,刘沛,苗世洪,等.无线传感自组网在电力监控中的应用动态[J].电力系统自动化,2007,31(7):99-103.
[3]乔淑云,李德臣.监控预警系统在煤矿电网中的应用研究[J].计算机工程与设计,2008,29(23):6161—6163.