微波设备网管系统中Web设计与实现
扫描二维码
随时随地手机看文章
摘要:为了对远程微波设备进行实时的监控和管理,本文采用B/S结构模式,以ARM7为核心的微控制器,研究基于嵌入式操作系统 μC/0S-Ⅱ的一种嵌入式Web设计与实现,解决了对远程微波设备的监测和控制的问题,并将Web技术应用到微波设备网管系统中,通过浏览器给服务器发 送请求,然后服务器响应浏览器的请求,来进行远程微波设备的参数设置,工作状态的监控。测试结果表明,将Web技术应用到微波设备网管系统中,实现了对微 波设备的远程控制,具有方便管理,界面友好,易于操作等优点。
关键词:Web服务器;μC/0S-Ⅱ;嵌入式系统;微波网管
随着互联网的快速发展和普及,采用Web技术实现的远程网络管理系统已经成为网管系统不可缺少的一部分。嵌入式系统设计也逐渐发展成为计算机和网络控制应 用的一个新领域,具有功能强大、实时性强、可靠性高和结构灵巧等优点。基于嵌入式Web的远程网管系统,通过Web方式实现服务器端与客户端的跨平台信息 交互。目前微波传输系统的网络管理采用基于Web的远程网管系统代理的研究和应用很少。本文是以ARM7处理器系统为硬件开发平台,在μC/OS-Ⅱ嵌入 式操作系统基础上,采用嵌入式Web技术实现微波传输系统的监控和管理,使系统具有灵活性、可扩展性和通用性。
1 开发背景
微波通信是一种利用微波传输信息的通信手段,数字微波采用数字信号处理技术,利用微波信道传输数字信号。而微波设备网管系统就是采用微波通信的方式传输数据,图l给出了该系统的结构图。
该系统分为管理站和被管对象,其中被管对象为微波链路的设备,每一个微波链路包括2个端站,每个端站含室内单元IDU和室外单元OD-U,这两个单元通过 同轴电缆连接,站内设备通过网线(双绞线)连接,站间设备通过微波链路连接。室内单元安装在机柜里或门架上,室外单元和天线被安装在室外的铁塔或高建筑物 上。在室内单元IDU的面板上,留有RJ-45接口,方便计算机接入对微波设备进行管理和控制。该系统另外一部分为管理站,即图l中的PC,管理站内嵌浏 览软件,能够实现Web方式(即采用网页浏览的方式通过IP地址远程访问这条链路上所接入的设备)对设备进行管理和维护,即查看设备参数、设置设备参数和 接收告警信息等。PC机与IDU通过SNMP协议通信,不同站点之间的IDU通过ODU之间连接的微波链路传输信息。IDU内部由两个子系统构成,使用的 CPU分别为LPC2214、SmartARM2200,前者主要运行监控程序,后者运行代理程序,即嵌入式Web服务器,负责网络管理。二者通过自定义 的串口通信协议完成信息的交换。
在微波网络中,通过在管理站和被管对象之间采用TCP/IP协议传输网管信息,实现不同设备之间的路由选择,采用简单网络管理协议(SNMP),实现微波设备各参数的监测与控制,实现管理站对被管对象的远程访问和控制。[!--empirenews.page--]
1.1 硬件平台
对Web进行管理的硬件设计主要采用周立功ARM7的SmartARM2200,开发板带有多种的存储资源(PSRAM、NANDFlash、NOR Flash和EPROM),具有一个10 MB的RTL8019AS作为以太网接口,2个串口,并支持μC/OS-Ⅱ和μCLinux操作系统。CPU采用32位ARM7芯片LPC2210FBD,其接口丰富。
1.2 软件环境
移植μC/OS-Ⅱ实时嵌入式操作系统,移植lwip轻量级TCP/IP协议栈,使其在SmartARM2200开发板上运行,采用C语 言编写Web服务器软件。软件调试使用ADSl.2集成仿真环境,使用相应的工程模板。在调试过程中选用DebugInExRam模式进行调试,软硬件调 试完成,可选用R-elInChip模式烧写,后一种烧写方式会加密芯片,使之无法二次烧写。如果加密之后需要重新烧写芯片,就必须使用ISP进行解密之 后方可烧写。软件总体分为应用程序、μC/OS-Ⅱ和网络协议驱动3部分。
1.3 μC/OS-Ⅱ特点
μC/OS-Ⅱ是一个实时多任务操作系统,它的绝大部分源码是用ANSI C编写,只有一小部分与处理器密切相关的代码使用汇编语言编写,μC/OS-Ⅱ包括3部分,即核心代码、配置代码和移植代码,具有可移植性。μC/OS- Ⅱ是基于优先级的可剥夺型内核,系统中的所有任务都有一个唯一的优先级别和自己单独的任务栈。绝大多数μC/OS-Ⅱ的函数调用和服务的执行时间具有可确 定性,并且μC/OS-Ⅱ还具有可裁剪、稳定性和可靠性等特点。
2 嵌入式Web组成
2.1 HTTP协议简介
HTTP协议(Hypertext TransferProtocol,超文本传输协议)是用于传送WWW方式的数据,也是用于从Web服务器传输超文本到本地浏览器的传送协议。HTTP协 议采用了请求/响应模式。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的 消息结构。服务器用一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。通常 HTTP消息包括客户端向服务器的请求消息和服务器向客户端的响应消息。这两种类型的消息由1个起始行、1个或者多个头域、1个指示头域结束的空行和可选 的消息体组成。它可以使浏览器更加高效,使网络传输量减少,不仅保证了计算机正确快速地传输超文本文档,还确定传输文档的内容首先显示(如文本先于图形) 等。这就是为什么在浏览器中看到的网页地址都是以“http://”开头的原因。
2.2 HTTP协议的请求/响应模式
HTTP协议的请求/响应模式是:客户端发送一个请求给服务器,服务器接到请求后,给予相应的响应信息。HTTP服务器运行时,一直在TCP80端口(系 统默认)监听,等待连接的出现。一般一个信息的交换要经过以下几个步骤:首先通过申请套接字来建立连接,其次客户端向服务器端发送请求,然后服务器端处理 完客户端的请求后,给客户端发送响应信息,最后通过关闭套接字来结束对话。HTTP协议具体的请求响应过程:
1)用户在浏览器的地址栏中输入要访问的页面地址并回车触发这个申请。Web浏览器将用户输入的URL分解,从中提取有用的信息。例如:当用户输入 http://202.117.132.174/时,将其分解后,Web浏览器得到如下信息:使用超文本传输协议(HTTP)从一台IP地址为 202.117.132.174的Intemet主机(或服务器)上的某个目录下获取一个名为login.html的文件。
2)当用户输入域名时,例如:WWW.baidu.com Web浏览器根据网络配置查询Intemet上的域名服务器(Domain Name Server)来获取相应的IP地址。域名服务器上有一个数据库,存储了许多Intemet服务器的域名及其相应的IP地址。在这里WWW.baidu.com对应的IP地址是202. 108.22.5。
3)Web浏览器取得IP地址后,使用所获取的IP地址与相应的诸如lighthttpd的网络服务器进行通信来确认Web服务器是否处于可用状态。所用的通信协议为超文本传输协议。
4)当服务器处理完浏览器请求后,即向浏览器发出相应的文件请求(某个目录下的login.html文件)。服务器收到请求后即检查该目录下的指定文件, 根据.html或.htm的后缀意识到这是HTML文件。若该HTML文件存在则发送该文件,否则发送文件未找到的回应信息。
5)当所要求的文件(login.html)到达浏览器后,浏览器开始解码。若浏览器发现其中有嵌入对象信息时,如嵌入的图像,则向服务器发送图像文件请 求信息(imase.gif),服务器收到图像文件请求信息后,开始查找相应的文件,找到后即发送该文件。对于超文本文件中的每一个嵌入对象,这个过程将 被重复一次。当所有的对象都传送完毕后,此时浏览器中就会有一个完整的超文本页面展现在用户面前。
从以上过程可以看出,一个超文本页面的获取并非通过浏览器与服务器之间的一次突发的通信完成的,而是通过浏览器与服务器之间的多次交互来完成的。尽管上述过程看起来比较复杂,但它并不占用大量的计算机资源,不会影响使用计算机同时处理其他。
3 嵌入式Web在系统中的实现
3.1 微波设备网管系统的Web体系结构
微波设备网管系统的Web是基于B/S模式的,系统的管理目标包括链路的传输容量、IDU的序列号、ODU的序列号、ODU的工作频段、ODU的发射功率 等。微波设备服务器采用嵌入式技术,通过Web方式设计实现远程服务器端与客户端的信息交互。客户端使用浏览器对微波设备进行管理,通信采用的是 TCP/IP协议。系统的体系结构,如图2所示。
为了便于管理远程的微波设备,通过Intemet建立Web服务器,然后对一级一级的微波设备站建立相应的代理服务,再在这些微波设备上建立相应的Web服务。具体的通信过程为:接入Intemet的Web服务器响应客户端发送的信息,通过64 KB的通信信道传送,微波设备站通过代理查看是不是总站向自己发送的信息,如果不是就向下一级传送,是则开始查看是给哪个部件发送的信息。[!--empirenews.page--]
3.2 嵌入式Web的Socket通信
基于B/S模式的远程监控系统中,用户需要通过浏览器管理远程设备。对于微波设备远程监控中的Socket通信有2种信息:一种是查看微波设备的实时运行 状态信息,要求快速和高效,因此采用无连接的UDP Socket通信;另一种是微波设备参数信息,要求高可靠性和安全性,因此采用面向连接的TCP Socket通信。客户端可根据微波设备的IP地址建立TCP连接,由控制设备监听这个连接请求,若连接成功,则接收客户端发送的设备参数设定值。编写 TCP通信任务时分为服务器和客户机2种方式。前者需要监听连接,只有在与客户机建立连接后才能进行数据处理。后者是主动连接服务器,也是在连接成功后才 能进行数据处理。图3为TCP通信时服务器端和客户机端通信的函数应用过程。
服务器端主函数的工作过程:初始化μC/OS-Ⅱ,创建TCP/IP初始化任务,硬件资源的初始化(设置网络端口号,RTL8019AS网络芯片的初始化,初始化ARP、TCP、UDP),启动μC/OS-Ⅱ系统,创建服务器任务,进入服务器。
3.3 处理HTTP协议头
HTTP协议头包括一个起始行、零个或多个消息头域、一个标示头域结束的实体行和一个可能存在的消息体。本程序主要解析协议头的起始行,这种处理思路也符 合嵌入式系统硬件对软件实现的复杂度要求。请求方式决定了对请求URL所指定的资源进行操作的方式,GET方法读取URL指定的资源,一般用来向服务器传 输少量且透明的数据,数据总量被限制在255个字符以内,而POST方法可传输大量数据,与HTML的表单特性相配合以实现远程动态交互控制。当建立连接 开始时,客户端发送GET请求方法给服务器端,以访问服务器端的网页。POST作为请求方法时,首先和Web服务器建立连接,成功后浏览器将HTML表单 中的值发送给Web服务器,服务器端的程序通过判断用户的信息来确定是否让其进入系统主页面。在每次连接成功后,服务器端程序会返回以状态码200开头的 响应消息,消息的起始行为:HTTP/1.1 200 OK。当用户请求一个服务器端不存在的文件时,服务器返回以状态码404开头的响应消息。
HTTP的请求报文(实测):
1)一般的POST请求报文
[!--empirenews.page--]
3.4 BTTP协议的解析
为了增强系统的安全性,增加数据安全性,在网页中加入基本认证机制。当客户端请求受基本认证机制保护的网页时,服务器端即要求用户认证,只有认证成功,浏 览器才能获得正确的网页数据。HTTP1.1支持基本认证机制,允许服务器在返回Web之前要求用户输入正确的用户名和密码。因此,为了在不增加嵌入式 Web服务器硬件配置、消耗过多资源的前提下提高系统的安全性,在微波网管Web服务器程序中加入了基本认证机制。
当客户端请求受基本认证机制保护的Web页时,服务器要求用户认证,或证明自己获得了接收资源的授权。服务器完成这项工作的方法是,返回一个带40状态码 的HTTP头和一个指定所需认证类型的Web认证字段。收到请求基本认证的消息头后,客户端的浏览器会显示一个窗口,要求输入正确的用户名和密码。用户输 完所要求的信息并单击OK按钮后,浏览器发送包含用户名和密码的认证请求,该请求采用POST的请求方法。如果用户名和密码正确,则进入系统主页面;否 则,服务器返回以状态码404为起始行的响应消息。
3.5 嵌入式Web服务器测试
首先完成将嵌入式实时操作系统μC/OS-Ⅱ移植到SmartARM2200开发板上,其次将精简了的TCP/IP协议栈移植到该操作系 统中,并在其上加上嵌入式Web服务器,这部分主要工作是对TCP/IP协议栈进行精简设计,对SmartARM2200开发板上的RTL8019AS网 卡芯片的驱动代码进行了重新设计,使之适用于上层软件。最后在ADS集成开发环境下进行编译和调试,使用网线和并口线将SmartARM2200开发板与 PC相连接,使用H-JTAG进行烧写。运行程序,由于Web服务器不能主动发送告警信息,所以只能通过客户端请求查看,因此在IE浏览器的地址栏中输入 http://202.117.132.174/,进行Web服务器的测试,进入登录界面,输入用户名和密码经过用户认证后,弹出设备状态指示的页面,直 观显示告警信息,如图4所示。通过网页直接对设备进行基本信息的查询、设置,以及实时反应设备的状态信息。
4 结论
以微波设备网管系统为背景,设计实现了一个嵌入式Web服务器管理模型,该模型基于TCP/IP通信协议以及HTTP协议,实用性强,便于移植推广。利用 嵌入式的Web技术使该网管系统控制管理远程设备更加方便,提高了系统的通用性和可维护性,并为设备的远程配置管理和系统维护带来便利。采用通用浏览器界 面对远程设备进行管理,浏览器运行的平台和服务器运行的平台相互独立,从而实现了跨平台的远程管理。