基于AISG协议的嵌入式Web服务器的设计.docx
- 文档编号:30222158
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:9
- 大小:22.11KB
基于AISG协议的嵌入式Web服务器的设计.docx
《基于AISG协议的嵌入式Web服务器的设计.docx》由会员分享,可在线阅读,更多相关《基于AISG协议的嵌入式Web服务器的设计.docx(9页珍藏版)》请在冰豆网上搜索。
基于AISG协议的嵌入式Web服务器的设计
基于AISG协议的嵌入式Web服务器的设计
摘要:
针对电调倾角天线的远程控制问题,提出了基于AISG协议的嵌入式Web服务器设计方案。
综合运用Boa技术和CGI技术,在嵌入式设备上构建出基于AISG协议的专用Web服务器。
分析了AISG协议通信原理,设计了基于AISG协议的嵌入式Web服务器的硬件电路,重点介绍Boa服务器的构建,因特网到AISG协议网关的实现。
测试表明,该方案具有较好的稳定性和可操作性,具有较大的参考价值。
关键词:
远程电调倾角天线;BOA技术;CGI技术;AISG协议
中图分类号:
TN911?
34文献标识码:
A文章编号:
1004?
373X(2016)02?
0069?
04
DesignofembeddedWebserverbasedonAISGprotocol
LIUxianfeng1,DENGchunjian1,CUIyuan2
(1.SchoolofComputerScience&Engineering,UniversityofElectronicScienceandTechnologyofChina,Chengdu611731,China;
2.SchoolofComputerEngineering,ZhongshanInstitute,UniversityofElectronicScienceandTechnologyofChina,Zhongshan528400,China)
Abstract:
Aimingattheremotecontrolofelectricaltiltantennas,adesignschemeofembeddedWebserverbasedonAISGprotocolispresentedinthispaper.ThespecialWebserverbasedonAISGprotocolwasbuiltontheembeddedequipmentbyusingBoaandCGItechnologies.ThecommunicationprincipleofAISGprotocolisanalyzedinthispaper.ThehardwarecircuitoftheembeddedWebserverbasedonAISGprotocolwasdesigned.TheestablishmentofBoaserverandrealizationofgatewayfromInternettoAISGprotocolareintroducedemphatically.Thetestingresultsshowthatthemethodhashighstability,operability,andgreatreferencevalue.
Keywords:
remoteelectricaltiltantenna;BOAtechnology;CGItechnology;AISGprotocol
0引言
在电调现象控制系统中,远程电调倾角天线的接口标准是AISG(AntennaInterfaceStandardGroup)协议,AISG协议规定在物理层采用RS485标准,用主从方式对设备进行远程控制[1?
3],这一特点只能使得控制系统维持在RS485通信距离内对有限的设备进行控制,不能够实现更远距离和更多设备的控制。
电调倾角天线设备网络化是适应这一应用需求的理想解决方案,即通过因特网实现对天线设备的管理和监控。
该方案实现因特网与基于AISG协议的天线设备的连接就需要设计具有协议转换功能的AISG协议网关。
大量文献表明,在现有研究成果[4?
9]中提出这一具体方案的研究并不多,本文从构建嵌入式Web服务器出发,将AISG协议融入系统,实现了具有协议转换功能的AISG协议网关。
应用结果表明,提出的方案具有较好的稳定性和可操作性,具有较大的参考价值。
1系统分析
系统结构如图1所示,系统核心是CCU,它通过RS485与电调天线设备连接,系统可以安装在基站内部或者电调天线设备维护中心。
要完成用户通过浏览器实现对电调天线的远程控制,系统包括Web服务器、AISG协议簇、操作系统和硬件等。
通过因特网实现对设备的控制,因特网将控制命令传输到天线设备中,必然涉及网络控制协议到AISG协议的转换。
AISG协议体系非常庞大,在将AISG协议融入嵌入式Web服务器之前,首先要明确AISG协议的通信模型。
AISG协议的通信模型如图2所示。
AISG协议分为物理层、数据链路层和应用层。
在应用层和数据链路层可以看作是采取全双工的通信方式,而在物理层,实际上采取的是半双工的通信方式。
AISG协议要求使用RS485总线,采用主从方式对多个天线设备进行远程控制,此外,AISG协议相当于OSI(OpenSystemInterconnect)7层模式的简化版本,包括第1,2,7层。
第1层为总线、天线设备、接口等物理层,规定了严格的电气特征参数;第2层对数据链路层的传输数据封装和功能进行了充分的描述;第7层对应用层的各种天线设备控制命令进行了详细的说明,从而可提高灵活性和安全性。
图1系统结构图
图2AISG协议通信结构图
根据AISG协议通信模型,要实现Web服务器到AISG协议网关的转换,本文从Web服务器收发的各种命令信息在AISG协议第7层实现通信命令信息的转化,进而实现Web服务器与电调倾角天线设备的通信。
2硬件组成
根据第1节分析,要实现支持基于AISG协议的Web服务器需要操作系统和硬件的支持。
在硬件上本文采用的控制核心是ARMCortexTM?
A8。
如图3所示,基于AISG协议的嵌入式Web服务器的整个硬件组成分成6个核心模块,分别是控制模块、电源电路模块、液晶显示器模块、RS485通信模块、因特网接口模块和AISG天线接口模块。
接通电源情况下,电源电路模块通过专用调压芯片为天线提供12V和24V直流电压,驱动总线上的各个天线驱动器,并为控制模块提供工作电源。
用户通过Web服务器向控制模块发送控制命令。
控制模块获得Web服务器输入的控制信息,通过RS485通信模块将控制信息发送到总线上的某个驱动器,并可以通过液晶显示器模块输出控制信息。
总线上的该控制器接收到信息后也可以通过RS485通信模块与控制模块通信,反馈天线的各种状态信息,并通过因特网接口显示给用户。
图3硬件组成原理图
3嵌入式Web服务器
嵌入式Web服务器是指将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的基于互联网的网络测试和控制设备。
为了有效实现远程控制电调天线设备,在上述硬件条件下,本文在Linux系统平台上采用动态的嵌入式Web服务器技术[10?
12]。
考虑到嵌入式设备资源一般都比较有限,嵌入式Web服务器的设计应尽可能地优化,这里专门为嵌入式设备设计特殊用途的Boa服务器。
本节将主要介绍嵌入式Web服务器的分析和Boa服务器的移植。
3.1嵌入式Web服务器分析
在嵌入式Linux下,主要有Httpd,Thttpd和Boa等几种Web服务器。
嵌入式服务器在功能上都能够完成接收客户端请求、分析请求、响应请求、向客户端返回请求结果等任务。
但是Httpd不支持认证和CGI(CommonGatewayInterface),是一个静态网页服务器。
Thttpd和Boa都支持认证和CGI,但是Thttpd运行时所用的资源较Boa大的多。
Boa开放源代码,性能高,速度快,对CGI的支持效果最佳。
Boa是一个单任务的HTTP(HyperTextTransferProtocol)服务器,当Boa服务器接收到请求时,不是启动多个服务进程并发处理多个请求,而是在一个进程内依次处理所有请求,它产生独立进程来处理CGI程序,因此占用系统资源比较少。
基于Boa的以上优势,本系统采用Boa作为嵌入式服务器的平台。
3.2嵌入式Boa服务器构建
选择Boa服务器之后,本文将在符合硬件要求的开发板上实现Boa服务器的构建。
在嵌入式Linux系统下构建Boa服务器的具体步骤如下:
(1)获取Boa服务器源代码
从官方网站www.boa.org下载Boa的源代码,然后导入到PC虚拟机下的Linux系统。
执行命令#tar?
zxvfboa?
0.94.13.tar.gz将原代码解压。
进入解压后的boa?
0.94.13/src目录,执行命令#./configure生成Makefile文件。
生成Makefile文件后,执行命令#geditMakefile修改Makefile文件,将文件中的CC=gcc修改为CC=arm?
linux?
gcc,CPP=gcc?
E修改为CPP=arm?
linux?
gcc?
E。
然后运行make进行编译,正常情况下在src目录下会生成Boa可执行文件。
(2)boa.conf文件配置
Boa启动时,需要用到一个配置文件boa.conf。
该文件用于对Boa服务器相应的接口、服务器名称、相关文件路径等进行配置。
该文件的具体修改如下:
①设置用户和用户组,分别修改Usernobody为User0,修改Groupnogroup为Group0。
②设置日志文件的目录:
Boa日志分为2部分,Errorlog和AccessLog。
根据自己的情况这里设置日志目录:
这里为/var/log/boa/error_log和/var/log/boa/access_log两个文件。
③设置html网页文件的目录:
这里设置为DocumentRoot/var/www。
④设置默认首页:
DirectoryIndexindex.html。
⑤设置cgi可执行脚本文件目录:
这里是将#ScriptAlias/cgi?
bin//usr/lib/cgi?
bin修改为:
ScriptAlias/cgi?
bin//var/www/cgi?
bin。
⑥ServerName的设置:
这里去掉服务器名称相关的注释,即将#ServerNamewww.your.org.here/修改为:
ServerNamewww.your.org.here/。
(3)将Boa服务器移植到开发板
默认的根文件系统是只读文件。
在对Boa服务器进行移植前。
要先根据boa.conf配置在文件系统中建立相关的目录。
然后将虚拟机Linux先编译好的Boa文件,配置文件boa.conf、可执行文件CGI和编辑好的网页文件(包含一个)分别移植到开发板对应的目录,具体做法如下:
在开发板文件系统中,执行命令#mkdir?
p/var/log/boa创建Boa目录,执行命令#mkdir?
p/var/www/var/www/cgi?
bin创建cgi?
bin目录。
接着拷贝PC虚拟机中的/etc/mime.types文件到开发板/etc目录下,将可执行文件Boa复制到/bin目录下,将静态网页index.html等和img目录放到/var/www目录下。
(4)测试Boa服务器
Boa服务器移植到开发板后,这里要对其构建是否成功进行测试。
具体测试方法如下:
通过nfs挂载根文件系统,执行命令#ifconfigeth0210.38.235.173设置开发板IP。
运行Boa后在PC机浏览器上输入开发板的IP。
在浏览器中看到静态网页index.html,表示Boa服务器已经移植成功。
4基于AISG协议的网关的实现
上节实现了嵌入式Boa服务器的构建,本节将描述Web服务器与AISG协议网关的实现。
为了实现基于AISG协议电调天线控制系统的特殊Boa服务器,使用CGI技术来实现与电调天线设备的通信。
CGI是与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。
CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。
CGI工作流程如图4所示。
图4Web服务器工作原理图
因特网与AISG协议网关的的实现采取调用CGIC(ANSIClibraryforCGIProgramming)库的方式。
CGIC是C语言CGI库函数,用于编写CGI程序。
CGIC主要完成以下功能:
对数据进行语法分析,接收以GET和PSOT两种方式发送的数据,把FORM中的不同域连接成连续的串,为检索FORM数据而提供字符串、整数、浮点以及单项和多项选择功能为数字字段提供边界检测,把CGI环境变量加载到非空的C串中为调试而捕捉CGI状态。
接下来说明CGIC的安装、测试安装和基于AISG协议的CGIC的编程实现:
(1)CGIC的安装使用
从官方网址http:
//cgic206.tar.gz解开压缩包,里面有大约10个文件,分别是头文件cgic.h,CGIC的源代码文件cgic.c,用于调试CGI程序的工具capture.c,CGIC库的官方提供的一个CGI程序例子和Makefile文件等。
(2)测试CGI安装
在编写自己的CGI程序前,先用解压包的测试程序测试安装是否成功,进而避免出现配置错误。
测试方法是直接在安装解压包内执行make命令。
目录中会生成一个cgictest.cgi的可执行程序。
移植到开发板cgic?
bin目录下,在命令终端执行命令:
#chmod777cgictest.cgi改变可执行程序权限。
在PC浏览器中输入开发板IP地址比如:
210.38.235.173/cgi?
bin/cgictest.cgi,正常情况下一个网页就会展示出来,这表示CGI程序已经运行起来。
(3)基于AISG协议的CGIC的编程实现
对于CCGI编写的CGI程序,都是先从cgic.c中的代码进入,在完成了一系列必要操作后才会调用代码,即从cgiMain函数中进入。
基于AISG协议的CGIC的编程实现,必须编写同时符合cgictes.c格式的文件。
根据AISG协议的三层通信模型,首先实现AISG三层协议栈并移植协议栈到CCGI解压包内;然后修改解压包内Makeflie文件,使AISG协议栈源文件能被编译成静态链接库备用和修改交叉编译环境;然后再编写cgictest.c文件完成动态网页设计同时根据需求对AISG的EP函数进行调用;最后通过make编译成可执行文件,按上节步骤移植到开发板。
用户通过浏览器向服务器发出请求后,服务器会根据请求执行相应的CCGI可执行程序,进而完成网络数据到AISG协议数据的转换,从而实现数据协议网关的转换,进而实现对电调倾角天线的远程控制。
5基于AISG协议的Web服务器系统测试
以设备扫描实现为例[8],在CCGI压缩包中把扫描测试程序改成cgictest.c,执行make命令会生成一个cgictest.cgi可执行程序。
将生成的可执行文件和对应的测试网页移植到开发板上对应的位置。
在PC机浏览器上输入开发板的IP,然后进入设备扫描页面,如图5所示。
图5扫描帧发送数据网页图
点击网页中发送扫描控制按钮。
正常情况下Web服务器会执行cgictest.cgi程序,生成扫描帧的反馈消息页面并返回给浏览器供用户浏览,结果如图6所示。
由图6可以看出经过Web服务器发送扫描请求后,收到来自电调倾角天线返回的设备相关信息,返回的消息包括远程电调天线的惟一标示符,供应商代码和模式类型等信息。
经测试证明网关转换已经实现,符合AISG协议的嵌入式Boa服务器安装成功。
应用结果表明,该方案具有较好的稳定性和可操作性,具有较大的参考价值。
图6扫描帧返回数据网页图
6结语
随着嵌入式技术,互联网技术和通信技术的发展,基于AISG协议的电调天线设备通过因特网实现远程控制是发展的必然趋势。
本文是在嵌入式设备上实现基于AISG协议的Boa服务器。
通过论述该实现方式的必要性和可行性,进行系统分析和讲述符合AISG协议的Boa服务器的硬件组成。
在硬件组成的基础上实现嵌入式Boa服务器的构建,最后讲述了使用CGI技术对网关的实现。
该服务器的构建实现了对电调倾角天线的真正远程控制,对基于AISG协议的电调天线控制的远程控制有着十分重要的应用价值。
参考文献
[1]吕?
D,刘伟.基于AISG2.0协议的电调天线远程控制单元的设计实现[J].电子技术应用,2009(11):
33?
35.
[2]TheAntennaInterfaceStandardsGroup.Controlinterfaceforantennalinedevices:
AISGV2.0[S].England:
AISGLtd.2006.
[3]高书超,李英祥,周贤至,等.电调天线嵌入式控制系统AISG协议栈分析与实现[J].成都信息工程学院学报,2013,28(3):
217?
222.
[4]郭恒哲.基于AISG协议的手持电调天线控制器的设计[J].电子设计应用,2008(3):
79?
82.
[5]吕?
D,李文生.电调天线远程控制单元中AISG协议的实现[J].仪器仪表用户,2008,15(4):
128?
129.
[6]L?
Yi,LIWensheng.TherealizationofRETcontrolunitbasedonAISG2.0[J].Instrumentusers,2008,15(4):
128?
129.
[7]LIWensheng,L?
Yi,ZHOUYanming.ThedesignofRETcontrolsystembasedonAISG2.0[C]//Proceedingsof2010InternationalConferenceonComputationalIntelligenceandSoftwareEngineering.Wuhan:
IEEE,2010:
1?
4.
[8]李文生,罗仁泽,蔡铭昌,等.基于掩码推进的电调天线设备树形扫描算法[J].计算机应用,2011,31(5):
1435?
1438.
[9]刘宝明,雷虎,尹树华.便携式数据传送终端设计[J].电讯技术,2015,55
(1):
99?
102.
[10]李海东,郑毅.基于Linux系统嵌入式Web的研究[J].通信世界,2014(10):
28?
29.
[11]黄红艳,侯彤璞.基于Linux的嵌入式Web服务器设计与应用[J].计算机与数字工程,2010,38(4):
157?
159.
[12]赵会娟.基于ARM9的嵌入式Linux开发平台构建与Boa的实现[D].成都:
西南交通大学,2008.
[13]吴松,葛海平,缪金迪.遥控电调倾角天线及其在网络优化中的应用[J].电信科学,2007,23(4):
91?
94.
[14]张永.基于ARM9的嵌入式Linux开发平台构建与应用[D].天津:
天津师范大学,2006.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AISG 协议 嵌入式 Web 服务器 设计