基于S3C6410和3G网络的远程数据监控终端设计

2013-10-28 06:35张国友
关键词:源码浏览器嵌入式

王 会,张国友

基于S3C6410和3G网络的远程数据监控终端设计

*王 会1,2,张国友1,2

(1.安徽工程大学电气工程学院,安徽,芜湖 241000; 2.安徽省电气传动与控制重点实验室,安徽,芜湖 241000)

针对传统的2G/2.5G网络数据监控设备存在数据传输延迟高,网络带宽窄等问题,设计了一种基于嵌入式 Web Server技术和3G无线通信技术的数据监控设备,该终端采用高性能的ARM11处理器作为控制芯片并移植了Linux嵌入式操作系统。主要给出了监控终端的硬件方案设计和软件实现流程,通过实验表明,该终端能够通过3G网络将采集的数据远传至本地客户端的Web界面上,数据传输实时、高效,可适用于远程监控和工业数据采集等应用场合。

ARM11;3G;嵌入式Web Server;Boa

随着嵌入式网络监控技术的不断发展,无线监控方式因其安装简便,便于移动的优势获得了快速发展,尤其是在一些受地理和环境因素严格制约以及设备频繁移动和数据需要远距离传输的场合。与此同时,无线监控对监控设备的数据传输速率和网络带宽提出了更加严格的要求。传统的依靠2G/2.5G网络进行数据传输的方式存在数据传输效率低,联网缓慢,数据传输量小等问题。而基于3G无线通信技术的监控终端具有更便携、联网迅速,数据传输量大、效率高等优点[1]。因此本文设计了一种基于嵌入式Web Server技术和3G通信技术的数据监控终端,最后进行实验,用户通过本地的IE浏览器就可以对远程的现场数据进行快速查询操作。

1 监控终端的硬件设计

监控终端主要完成现成数据的采集、数据解析、发送。本终端的硬件部分由数据采集模块、主控制器模块和数据传输模块组成,监控终端硬件架构图如图1所示。为了实现较好的便携性和较高的性价比,主控制板的核心采用S3C6410处理器,这是三星公司基于ARM11内核构建的高性能16/32位 RISC嵌入式微处理器,它具有高达667 MHz的运行频率。

图1 终端硬件结构图

存储器采用的是1GB的NAND Flash(K9F2G08U0A)和256M的SDRAM(K4X1G163PQ)。

3G第三代移动通信技术是指支持高速数据传输的蜂窝移动通讯技术,相对于GPRS,3G服务能同时传送声音及数据信息速率一般在几百Kbps以上[2]。因此本硬件方案设计中,我们选择了性价比更高的3G模块。3G无线模块采用高性能的华为WCDMA模块E1750,它能够实现语音和数据传输、短信等功能并且支持AT命令、内嵌TCP/IP协议以及支持PPP协议,它支持5.76Mbps的上行最高速率和7.2Mbps的下行最高速率,数据传输快。

2 软件设计

2.1 嵌入式 Web Server Boa的构建

Boa服务器是小巧高效的Web Server,是运行于Unix或Linux下,支持认证、CGI等,源码开放、性能高、功能比较全[3]。Linux环境下,将Boa搭建在ARM11平台上的步骤包括:

第一步:编译Boa Server。首先下载Boa源码包boa-0.94.13.tar.gz并解压,然后进入源码src目录执行configure命令生成编译所需要的Makefile文件;然后修改makefile,把其中的CC改为CC=arm-linux-gcc;CPP –E改为CPP=arm-linux- g++;最后执行make命令完成Boa的编译。

第二步:修改Boa.conf文件。在源码boa-0.94.13的根目录中找到Boa.conf并进行修改,步骤如表1:

表1 Boa.conf的修改

第三步:配置开发平台并建立相应的文件夹。将第一步编译生成的可执行文件Boa放进开发平台的/usr/local/bin目录中。根据第二步对Boa.conf文件的修改在开发平台中创建以下目录:CGI脚本目录/var/www/cgi-bin;html文件目录/var/www;日志文件目录/var/log/boa/error_log和/var/log/boa/ access_log。

最后将编译好的CGI文件和html文件放入以上指定目录当中,开发平台上运行Boa Server,在用户浏览器中输入相应的URL就可以显示网页。

2.2 基于Boa Server的数据采集程序设计

嵌入式Web Server Boa主要完成接受客户请求、分析请求、相应请求、向客户端返回请求结果等任务[4]。数据采集程序流程图如图2所示,客户端的Web浏览器向Boa提出的服务请求被Boa监听到,并且Boa对请求进行分析以此来提供相应的服务,主要的服务包括数据采集,用户管理和历史采集数据查询。这些功能的实现主要是调用相应的CGI程序实现,这些CGI程序又将与嵌入式数据库或者传感器驱动程序交互,利用嵌入式数据库所提供的API(调用接口函数)接口对数据进行调取和管理或者启用相应的传感器驱动程序来采集现场数据返回给CGI程序,最后Boa再对经过CGI程序处理的数据结果进行解析,将生成的HTTP响应信息返回给Web浏览器。

图2 Boa的数据采集程序流程图

2.3 CGIC库实现

由于客户端与Boa Server要进行动态网页交互,为满足此种需求我们采用CGI(Common Gateway Interface)通用网关接口来编写外部程序。CGI程序可以采用任何具有标准输入/输出功能的语言设计,在嵌入式系统中,一般采用C语言作为编程语言[5]。其中,CGIC是一个功能比较强大的支持CGI开发的标准C库,在此基础上进行C语言的CGI编程可以使编程的难度大大降低,编程的效率极大提高。在ARM-Linux平台上实现CGIC库的步骤如下:

第一步:下载CGIC库源码并修改相关脚本程序。将其解压并进入源码目录# tar xzf cgic205.tar.gz; # cd cgic205,然后修改Makefile文件,找到CC=gcc,将其改成CC=arm-linux-gcc,找到AR=ar,将其改成AR=arm-linux-ar,找到RANLIB=ranlib,将其改成RANLIB= arm-linux-ranlib。找到gcc cgictest.o -o cgictest.cgi ${LIBS},将其改成$(CC) $(CFLAGS) cgictest.o -o cgictest.cgi ${LIBS},找到gcc capture.o -o capture ${LIBS},将其改成$(CC) $(CFLAGS) capture.o -o capture ${LIBS},并保存退出。

第二步:使用make命令编译,得到libcgic.a的CGIC库,通过调试辅助程序capture和测试程序cgictest.cgi,验证生成CGIC库的正确性。

第三步:将capture和cgictest.cgi拷贝到Boa Server的/var/www/cgi-bin目录下。在客户端的浏览器地址栏输入http://192.168.1.102/cgi-bin/ cgictest.cgi,可以看到页面,表示CGIC库和测试脚本都移植成功。

2.4 3G网络传输程序设计

Linux操作系统不仅具有很好的实时性和稳定性而且还具有强大的网络功能,其内部包含了完整的TCP/IP协议和PPP协议,为模块的程序设计提供了强有力的协议支持。程序模块主要包括E1750驱动、PPP网络协议模块、采集数据接收和TCP发送模块。根据功能需求,以下部分是程序设计要实现的:(1)系统上线自动检测3G网络;(2)拨号登陆3G网络并进行PPP协商(2)实时或定时接受嵌入式Web Server解析的采集数据;(3)通过套接字(Socket)端口进行数据传输。基于模块化的程序设计思想,系统应用软件设计按照以上功能性的不同,主要包括系统初始化模块、3G登陆模块、数据采集模块、数据传输模块。

2.4.1 3G登陆模块

本文3G模块采用WCDMA制式,WCDMA的分组域支持用户终端设备UE(User Equipment)通过拨号方式与外部IP网络建立一个链路层连接。PPP(Point-to-Point Protocol,点到点协议)是建立链路层连接最常用的一种协议,连接建立之后,UE就可以直接与外部IP网络通信了[6]。Linux操作系统下集成了使终端能方便实现拨号登录的PPP协议,模块包含char和pppd两个程序,char程序首先拨号完成身份验证,然后由pppd程序与3G通信进程进行握手完成ppp连接,将3G登陆模块存放于系统公共启动脚本/etc/rc.d/rc.sysinit中,这样终端上电初始化后能自动进行PPP拨号联网[7]。

2.4.2 数据采集模块

根据数据监控中心发布的实时数据采集命令,或者采取定时采集方式,数据监控终端按照预先设定的时间间隔接受嵌入式Web Server解析过的数据信息。

2.4.3 数据传输模块

当链路层的PPP通信链路在终端上建立之后,只要通过Linux下的网络编程使用传输层协议TCP/UDP即可实现采集数据的远程无线传输。TCP是一种面向连接的可靠的数据传输协议[8]。基于对采集数据准确性和完整性的要求,数据传输程序选用TCP传输协议通过流套接字(Socket)编写较为合适。终端接入Internet后通过设定好的IP地址和端口进行TCP连接。监控中心通过TCP连接的Socket发出控制终端的远程命令。传输模块软件流程如图3所示。

3 实验及测试结果数据对比

通过DS18B20温度传感器将采集的温度数据远传至本地客户端IE浏览器的实例来验证本终端的实用性并与传统的GPRS网络设备相比较以证明其在数据传输上具有良好的实时性和快速性。

图3 3G传输模块软件流程图

DS18B20温度传感器实验具体操作如下:(1)将通过CGI编写好的温度采集网关程序wdcj.cgi进行编译并放入开发平台Boa Server文件所在的/var/www/cgi-bin目录下;(2)将用HTML语言编写的网页程序sycj.html放入开发平台/var/www/目录下;(3)在客户端IE浏览器地址栏输入Boa Server的IP地址后能够收到终端传送的网页登陆界面;(4)输入正确的账号和密码登陆以后,在打开的网页中选择实时数据查询,网关程序wdcj.cgi可作为一个shell脚本被网页HTML程序sycj.html调用执行。采集数据显示页面如图4,经过测试该终端联网迅速,能够快速的将温度数据实时传输至本地Web界面上,整个系统工作稳定正常。

图4 实时温度显示界面

4 结束语

本文结合3G无线通信技术和嵌入式Web Server技术,在以S3C6410为主控制器的嵌入式平台上完成了远程数据监控终端的软硬件设计,利用该终端,客户端只需通过普通的IE浏览器就能实现对现场设备的参数设置和数据采集,大量实验表明,该终端在联网速度、数据实时传输,易操作性等方面都优于传统的无线网络监控设备,在环境、工矿、水利等远程监控和工业数据采集等应用场合,具有一定的应用前景。

[1] Xiong Yonghua ,Jia Weijia. A Remote Monitoring and ControlSystem for Mobile Robot Using 3G Networks [J].Proceedings of 2011 IEEE International Conference on Intelligent Computing and Intelligent Systems,2011:741-745.

[2] Wang Shuoping , Liu Jun.A Framework-Based Content- Orientated Services Delivery Technology for 3G Network[J]. Information Technology Journal,2011:779- 788.

[3] 时斌,王奔,朱晓舒.基于ARM9的嵌入式Web服务器的移植和应用[J].微计算机信息,2009,25(26):109-110.

[4] 张繁.Linux C编程从初学到精通[M].北京:电子工业出版社,2011.

[5] 王宝忠,马成.基于CGI技术的嵌入式动态Web的研究与实现[J].电子设计工程,2010,20(18):161-166.

[6] 姜波.WCDMA关键技术详解[M].北京:人民邮电出版社,2008.

[7] 栾昌海,王盟.基于GPRS的嵌入式Internet设计研究[J]. 微计算机信息,2006,22(17):94-96.

[8] Richard Stevens W,Stephen A Rago.Advanced Programming in the UNIX Environment[M].北京:人民邮电出版社,2006.

The design of remote data monitoring terminal based on S3C6410 and 3G network

*WANG Hui1,2, ZHANG Guo-you1,2

(1. College of Electrical Engineering, Anhui Polytechnic University ,Wuhu Anhui 241000, China ; 2.Key Laboratory of electrical transmission and control in Anhui Province, Wuhu Anhui 241000, China)

According to the exiting problem of data transmission delay and network bandwidth narrow for the traditional the 2G/2.5G network data monitoring equipment, we design a data monitoring equipment based on embedded technology and 3G wireless communication technology. The terminal uses a high-performance ARM11 processor as the control chip and transplanted embedded Linux operating system. We mainly provide the design of system hardware and the process of the software realization. The experiment shows that the terminal can transfer remote date to the client through the 3G wireless real-time and efficiently, and is applicable to remote monitoring system and Industrial Data Acquisition System.

ARM11; 3G; embedded web Server; Boa

TP274

A

10.3969/j.issn.1674-8085.2013.06.012

1674-8085(2013)06-0056-05

2013-03-11;

2013-05-28

*王 会(1986-),男,河北邯郸人,硕士生,主要从事嵌入式系统应用研究(E-mail: hwang_s@yahoo.cn);

张国友(1965-),男,安徽滁州人,副教授,主要从事检测技术与网络控制等研究(E-mail: gyzhang@ahpu.edu.cn).

猜你喜欢
源码浏览器嵌入式
面向数据可靠传输的高译码率带反馈的LT码
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
国内一站式工程设备租赁平台众能联合完成C2、C3两轮融资
浅谈开源操作系统的历史
企业如何保护源码
微软发布新Edge浏览器预览版下载换装Chrome内核
反浏览器指纹追踪
TS系列红外传感器在嵌入式控制系统中的应用
搭建基于Qt的嵌入式开发平台
倍福 CX8091嵌入式控制器