基于3G无线网络的工业监控系统设计
3.2 服务器软件设计 参考文献
服务器接收GPRS模块传来的数据,经过相应的处理后存入数据库,供客户端提取数据的同时备份以便查询。
手机与服务器之间的连接可以采用HTTP和Socket,考虑到目前并不是所有手机都支持Socket通信,但都支持HTTP协议,所以在本系统中手机与服务器之间采用HTTP通信方式来传输数据。在服务器Servlet中采用输出流的方式向请求端发送数据。Servlet具有独立于平台和协议的特性,它担当客户请求与服务器响应的中间层。 在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,则启动进程所需要的开销很可能反而超过实际执行时间。而在Servlet中,每个请求由一个轻量级的Java线程处理。在性能优化方面,Servlet也比CGI有着更多的选择。因此与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。
Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。系统选用免费的开源Web 应用服务器Tomcat,运行时占用的系统资源少,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,把Servlet部署到Tomcat,在服务器端运行Tomcat,即可监听客户端请求。
3.3 手机端软件设计
手机端采用多线程方式,提高效率。一方面启动线程通过HTTP协议访问服务器,获得实时数据。另一方面启动新的线程将接收到的数据处理之后以数据或图形的方式清晰地呈现给监控人员,同时将监控人员给下位机下发的命令返回到服务器,从而实现对现场的监测和管理。
手机端软件流程图如图3所示。当用户启动监控软件时,软件通过向服务器发送HTTP请求获取设备数据,这需要短暂的等待,故显示等待界面如连网进度条以防止用户误以为是死机现象。获取数据后,经过一定的处理,保存数据以便追溯分析,同时显示数据并绘制实时曲线。如果数据超出报警设置范围,则产生报警。当监听到有用户按键时,判断按键类型,若为退出,则直接退出程序;若为设置或控制命令,则设置有用户权限,要求用户登录。当用户输入信息正确时,显示相应的设置或控制界面,开放设置和控制功能,以后再次操作无需再登录;当用户信息错误时,给出提示并可再次输入,当错误次数达到三次时,返回主界面并关闭登录功能。
用户对参数报警门限、时长以及曲线显示范围等进行设置时,当用户按下确定按键,若输入错误则提示更改,正确则保存用户数据,自动返回上一界面并刷新。
用户通过手机控制现场设备时,系统根据用户选择的控制项目,发送命令到服务器,再由服务器下发到现场设备。当命令成功发送到服务器时,提示用户发送成功,否则发送失败,设备端设置状态反馈,当接收到控制命令时,响应命令并反馈。
系统采用文件形式保存从服务器端取来的实时数据,可编辑,可方便地从手机上或连接到电脑上查看分析数据。对于用户设置的数据则采用记录管理系统RMS(Record Management System),它是J2ME应用程序进行持久性存储的唯一途径,RMS类似于一个小型数据库,Record Store相当于数据库的表,每个“表”由若干记录(Record)构成,一条记录就是一个用int表示的记录号和用byte[]表示的内容。记录号可以看作是“主键”,byte[]数组存储内容。可以对记录进行添加、修改、读取和删除等操作。
概括起来,本系统具有以下特点:
(1)安装简单:网络架设方便,无需进行拉线,埋线等工作;
(2)永远在线:链路稳定可靠,即使没有数据传输,仍然与网络保持连接;
(3)快速登录:接入速度快,提供了与现有数据网的无缝连接;
(4)高速传输:数据传输速率上行128 Kb/s,下行最大可达2.8 Mb/s;
(5)按量收费:3G移动网络按照客户接收和发送数据包的数量来收取费用,没有数据流量的传递时,客户即使在线,也不收费。
[1] 王惠儒.大型航空发动机试验及试验设备研究[J]. 燃气涡轮试验及研究,2008,21(1):13-17.
[2] 李文峰,王永生,王锋. 一种新的某涡扇发动机地面检测设备[J].航空计测技术,2002,22(6):31.
[3] 叶盛,何勇,徐晓明.基于虚拟仪器技术的发动机油耗测试系统研究[J].浙江大学学报(农业与生命科学版),
2004,29(5):575-578.
[4] 崔宏巍,杨保成,刘益芳,等.汽车远程故障诊断系统研究[J]. 汽车电器(农业与生命科学版),2008,4(5):8-10.
[5] 郑国章,王盛学,郝铁生.基于多线程的测控平台虚拟示波器设计[J].机械管理与开发,2007,24(5):68-69.
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)