关键词 远端监控 visual basic 无线modem at命令 软件模块
1 远端监控的提出
现代世界是一个高度自动化的世界,各式各样的设备都可以和计算机作联机,而最简单的自动化联机方式就是使用串行接口通信。由于硬件上操作简单,功能上易于扩展,这几年来,它不仅没被取代,反而成为计算机与调制解调器或其它媒体相连的管道,使计算机可以与更外围的设备沟通,从而造就高速的信息流时代。
过去,要实现对远端设备的监控和操作一般利用有线的方式,比如电话。这种方法往往成本较高而且并不方便。现在,随着第二代移动通信向第三代的迅速过渡,以gsm网为平台的各种业务的不断拓展,利用无线上网,无线传输图像,物像传输数据和话音业务等,都得到越来越广泛的应用。尤其是刚开通不久的短消息业务,一问世就因其低廉的价格。可靠的传输性能得到广大用户的青睐。因此,将计算机串口通信同短消息业务相结合,利用gsm公用网进行远端监控已成为数据通信业务的一个新的热点,本文所介绍的远程监控软件就是基于此开发完成的。
2 监控平台的结构及功能
2.1 系统结构
根据设计要求,监控软件的主要目的是对分布在远端的通信设备的功率、增益、中心频率及限幅状态等参数进行设置或查询。整个系统组成并不复杂,如图1所示。在主控端,计算机通过rs232串行接口与无线modem相连,在软件平台上进行操作;而被控端,通信设备经由一台控制单片机与无线modem相连,接收对方传输的字符命令,建立通信连接。
调制解调器用于传输两部设备之间的数据,计算机通过串行端口与调制解调器作沟通,pc机上windows系列的操作系统都可通过超级终端程序经串口直接对调制解调器进行控制。我们只要在超级终端上键入相应的"at命令集",是专门使用于调制解调器的指令集,此指令集是由美国hayes公司所发展的数据传输通信接口,目前已成为全球通用的标准;通过at指令集,从基本的音量控制到内建参数的改变,都可由超级终端经过串行端口对调制解调器控制。
我们所开发的远端监控软件平台在本质上与windows的超级终端有一定的相似之处,通过rs-232串口接出一台具备数据传输功能的移动电话,它在串口上等效为hayes兼容的调制解调器,可接受at指令集及at扩充指令集。由于它是以无线方式与外围设备相连,我们称之为无线modem。同普通调制解调器一样,无线modem也分为命令状态和在线状态。在未进入任何状态之前,必须要对modem进行初始化,根据被控制通信设备机的实际情况,设置如下:
数据速率:2400bit/s
数据位:8位
奇偶校验位:无
流量控制:无
停止位:1位
初始化之后,modem启动,处于命令状态,此时,下达给调制解调器的at指令是作其本身设定或动作之用,它同时也可传递话音及行使其它职能。在此状态下,监控命令必须将"at"或"at+"放在字首发出,无线modem接到"at"命令后,提取出发给被控设备的监控命令,以短消息的形式发出,通过基站被对方接受;同理,被控设备接到命令后,经单片机处理,再将回应的字符以短消息方式发送给主控端。modem的另一种状态为在线状态,也称为联机状态或数据状态,此时,modem已经和其它的调制解调器或设备建立固定连接。当通信双方握手完成,建立通信链路后,主控端便可在键盘上任意键入监控指令,而无线modem就可以透明的发送和接受数据,而无需at命令。
3 远程监控软件的设计
本文多介绍的软件监控平台虽然只是整个远程监控系统的一部分,但它是操作维护人员直接面对的工作平台。他们只需掌握被控通信设备的各种参数及查询、设置命令,at命令及at扩展命令由软件进行隐蔽封装,这无疑需要一个相对友好的界面,便于使用和普及。在众多的编程语言中,我们选择用visual basic编程,这不仅因为它是一个可视化的窗口发展环境,更重要的是它提供了串行通信控件mscomm,让开发者可以开发串行通信的系统程序,功能上也有不少简便之处。在程序中,vb的串行通信对象将rs-232的低阶动作予以封装。开发者他运用高阶的basic语法,利用rs-232与外界通信,不需要了解其它有关的低阶动作。而编写一个可视化的界面,同样是将vb的语法屏蔽在后台。使用者只需按界面提示进行操作。在所有的应用软件中,visual basic因其特有的通信控件而使编程变得直观、简洁、大大降低了开发者的工作量。
3.1 3种数据传输模式
为了适应用户多样化的需求,同时也为了使软件功能更加完备,在软件实现中,我们除了采用短消息的方式,还采取了另外两种数据传输模式,可在系统出现的故障或其它应急情况下使用。3种模式可以相互自由切换,互不影响,操作十分方便。
3.1.1 直接连接方式
直接方式一般用于近端的设备调试,用电缆将pc机和被控机的串口相连即可。程序的编写原理完全可以以windows下超级终端为依据:每键入一个字符都会立即经串口发出,被控端接受到回车字符,说明一条命令已完整发出,被控端经处理做出响应,主控端的界面会立刻显示出来。在此方式下,我们可迅速、直观的查询被控机各类参数的设置情况,并可以随时进行调试。
3.1.2 数据电路方式
此方式下无线modem在rs-232串口上等效为hayes兼容的调制解调器。pc机和被控机采用基本at命令初始化modem,通过拨号建立连接,就可在无线信道上透明地发送/接受字符,不需再使用at命令。这是一种将无线信道等同于有线信道的数据传输模式,使用十分稳定。但是目前,无线信道只在数据速率为9600bit/s时开通了数据传输业务,大大限制了实际的要求。
3.1.3 短消息方式
短消息方式是我们进行远程监控时采取的主要方式。它是利用中国移动新增的短消息业务为媒介,以欧洲电信制定的gsm短消息协议为依据进行编写的。根据协议规定,短消息也分为块模式、文本模式和pdu模式,为了便于用户直观的使用,我们选用文本模式编写程序。和其它方式相比,短消息的方式有许多优越之处。首先是成本低廉,如果象以前一样租用专用信道进行收发信,不但价格昂贵,而且手续繁多。现在,每发一条短信,只需0.1元,既降低了成本,又充分利用了gsm公用网的资源。其次是可靠性,运用短消息传送,丝毫不用担心距离的远近,愈是远距离,反而愈能发挥远端监控的优势。短消息轻易不会丢失,即使对方因一时故障突然关机,短消息会储存在服务器端,一开机便会显示。最后是传输效率高,在信道无阻塞的情况下,完成一条指令的发送与接受只需要一两分钟,不仅节约了时间,还极大的节省了人力和物力。
3.2 软件设计流程
为了适应用户多样化的需求,远程监控平台的程序采用模块化方式设计,条理清晰,讲究通用性,便于功能扩展。主要的软件模块包括:用户界面、数据库及通信模块。其中,通信模块是整个软件设计的关键,主控端所有的主要功能都是在它的控制处理之下实现的。它又可被分为初始化模块、发送以及接受模块。初始化模块负责对通信串口的初始化工作,最主要的是设置端口速率。如果端口已被其它进程所控制,则初始化模块将终止监控平台的运行并向用户发出相应的提示信息。发送模块负责将用户界面模块传送来的字符逐个写入已经初始化好的通信串口,从而经调制解调器发送出去。接收模块则逐个接收调制解调器传来的字符数据。
由于软件依靠gsm网来进行数据传输,在设计软件时就要考虑信道传输过程中可能存在的情况,比如对字符长度的限制、信道的时延、接收次序的顺序性等等。针对这些问题,我们采用了分批发送、添加定时器以设定超时等方法,提高程序的稳定性和可靠性。整个通信模块的基本流程如图2。
4 结束语
经实际运行,我们开发的远程监控软件平台运转稳定,使用情况良好,得到了用户的肯定。因此可见,利用vb对串口通信编程,并和实际中的远程监控结合起来,可以应用到目前的多个行业。它不但大大降低成本,节约劳动力,而且确保了通信的正确和畅通。在此基础上,我们应该进一步的开发和利用,以期发挥更大的作用。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器