王正万,李远英
(贵州电子信息职业技术学院 贵州 凯里 556000)
基于ZigBee技术的嵌入式Web数据采集系统的研究与应用
王正万,李远英
(贵州电子信息职业技术学院 贵州 凯里 556000)
本文针对有线数据采集方式成本高、不易扩展、移动性差等缺陷,设计并实现了一个基于ZigBee技术的低速率、近距离、低复杂度、低成本、低功耗的无线数据采集系统。本文研究的内容主要是文研究的基于ZigBee无线单片机CC2530传感器模块组成的无线传感网络数据采集系统。由若干个ZigBee无线传感器数据采集节点采集的数据经嵌入式Web服务器进入Internet网,嵌入式Web服务器采用ARM9结构的32位嵌入式处理器S3C2440和Linux操作系统,它主要实现Internet接入,采集数据的处理与存储等。
无线传感网络;IEEE802.15.4;ZigBee;传感器
当前对于大多数数据采集系统而言,主要应用研究对象都高速率和长距离数据采集系统上,低速数据采集系统的研究相对较少,但低速数据采集系统在工农业生产、信息家电、医疗系统中都有很广的应用。嵌入式Web服务器是当今嵌入式系统的研究和应用热点,再加上现在Internet和宽带的普及,技术有很大的可行性。在ZigBee无线传感器网络基础上构建嵌入式Web数据采集系统,可以利用嵌入式系统成本低、维护方便、可靠性高的特点,从而实现无人值守,系统长期运行的应用要求。这样不仅提高了工作效率,而且大大降低了设备成本,同时简化了软件系统的设计和维护,使用户随时随地不需要安装任何软件都可通过Internet浏览器查看现场采集数据,如果接入GPRS,还可实现系统与手机通信。
备等多个领域得到全面的应用。本文对几种短距离无线通信技术进行了比较,见表1。ZigBee其特点包括成本低、功耗低、通信延时时间很短、网络容量大、数据传输安全性高、网络可靠性高、网络自组织性强等。
在ZigBee网络中,ZigBee以一个个独立的ZigBee节点为依托,每个ZigBee节点分为半功能设备(RFD)和全功能设备(FFD)。图1是IEEE802.15.4给出的ZigBee网络中各种设备的类型以及它们在网络中所处的地位。
依据ZigBee网络中设备功能的区别,一般分为ZigBee协调器、路由器和网络通信数据终端设备。ZigBee网络拓扑结构可以分为星形网络、网状网络和簇状网络3种拓扑结构,如图2所示[1]。
ZigBee技术的应用范围是非常广泛,发展前途十分看好。在未来一段时间里面,该技术将在汽车自动化、工业控制、楼宇自动化、工业无线定位、消费电子、家庭网络、医用设
系统是基于ZigBee无线单片机CC2530传感器模块组成的无线传感网络多点数据采集系统,主要由若干个ZigBee技术的无线传感器数据采集节点和嵌入式Web服务器组成,系统结构如图3所示。系统设计采用ARM结构的32位嵌入式处理器S3C2440和Linux系统设计的嵌入式服务器,整个系统完成了基于ZigBee协议的无线传感器网络的数据采集系统总体硬件软件架构的搭建,并以温湿度数据采集为例,实现了数据采集的基本功能及Internet远程访问[2]。
表1 短距离无线通信技术特点Tab.1 The Short distance wireless communication technology
图1 IEEE802.15.4网络组件和拓扑关系Fig.1 The IEEE802.15.4 network components and network topology
系统设计结构简述如下:
1)系统最底层的无线传感器数据采集节点负责对温湿度数据的实时采集,通过ZigBee无线网络传给ZigBee协调器或路由器。ZigBee协调器或路由器收到数据后,转发给嵌入式Web服务器。
图2 ZigBee网络拓扑结构Fig.2 The ZigBee network topology structure
图3 系统结构设计Fig.3 The design of system structure
2)嵌入式Web服务器是的主要功能是ZigBee无线传感器网络和Internet之间的网关模块,实现了系统采集数据资源共享。
3)因特网上的电脑,可随时通过互联网访问嵌入式Web服务器,实时远程监控系统采集数据,进行数据处理和远程控制。
系统主要实现以下功能:
1)ZigBee无线传感器数据采集节点的设计满足系统数据采集的要求。
2)基于ARM S3C2440+Linux嵌入式Web服务器实现嵌入式Webserver,并支持CGI动态网页。
3)嵌入式Web服务器能够接收ZigBee无线传感器数据采集节点采集的温湿度数据。
4)系统可通过USB接口外接U盘扩充系统存储容量。
5)用户可以通过Intenet浏览器远程访问该嵌入式Web服务器查看系统采集数据。
数据采集系统Web服务器核心控制单元采用ARM S3C2440,通过CC2530与采集节点进行数据通信,可通过互联网进行数据传输。数据采集节点的功能主要是将捕捉的现场信号经转换器ADC采样、量化、编码后,变成数字信号传给微处理器,并无线发送数据,嵌入式Web服务器负责收发数据、采集数据处理等,系统设计方案见图4所示[3]。
图4 系统设计方案Fig.4 The design scheme of the system
无线网关射频芯片选用CC2530(2.4 GHz,支持250Kb/s数据传输率),微处理器采用S3C2440嵌入式工业级芯片。ARM嵌入式网关板是采用三星公司 S3C2440作为核心处理器,可以在系统中对无线传感器的相关设备信息进行显示及分析,也可以对对被控单元进行相关的控制。
4.1IAR开发环境
IAR嵌入式集成开发环境,它支持所有的ARM处理器,其中包括编辑器、项目管理器、汇编器、C/C++编译器、连接器、调试器等。IAR内置的有代码优化器针对不同的芯片,因此可以生成高效简洁、可靠高的程序代码。
4.2Linux内核移植
Linux内核移植一般可以分为板级移植和片级移植,板级移植指的是Linux已经支持相应的处理器,只需对硬件进行少量修改就可以了,片级移植指的是如果Linux中没有相应的处理器支持,则需要进行相应处理器的内核移植[4]。本文采用的Linux中已经包含S3C2440X ARM920T处理器的移植包,通过u-boot将该文件下载到目标板并执行,Linux内核移植开发流程如图5所示。
1)编译内核
图5 内核移植Fig.5 The kernel transplantation
之后会在 “/home/cvtech/04 linux/linux-2.6.24.2/arch/arm/ boot/”内生成内核镜像文件zImage
2)通过zImage生成uImage
4.3Linux下Web服务的移植与建立
Httpd,Boa、Thttpd是 Linux下主要的嵌入式 Web服务器。Httpd不支持CGI和认证,是三个中功能最弱的,最简单的一个嵌入式Web服务器。而Boa和Thttpd都支持CGI和认证等,功能比较强大。如果Web服务器只需要一些简单静态网页,就可使用Httpd Web服务器来实现。如果需要与用户进行如数据、实时状态等的数据交互,就必须选用Thttpd 或Boa来才能实现Web服务[6]。
系统选择的是Boa Web作为系统的嵌入式服务器,Boa Web服务器精简、运行效率高,兼容Unix或Linux操作系统,源代码开放、性能好。Thttpd或Boa两者相比,Thttpd在运行所需资源要高于boa,支持CGI。通用网关接口CGI(Common Gate Interface)的主要作用是在Web环境下,把从用户端传来的数据转给Web服务器,然后由Web服务器去指定相应的任务程序来完成数据的处理,并把结果以网页的形式返回用户端[7]。
会在 boa-0.94.13/src目录下面生成Makefile文件,修改Makefile:
$vi Makefile
CC=opt/cvtech/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-gcc
CPP=/opt/cvtech/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-g++-E
$visrc/boa.c $vi src/compat.h #define TIMEZONE_OFFSET(foo)foo->tm_gmtoff
4.4Linux下嵌入式数据库(SQLite)
数据库的主要作用是能够实现数据信息存储和检索等功能。嵌入式数据库具备传统数据库的基本特征,它和传统数据库也有明显的区别:传统的数据库使用引擎方式驱动,而嵌入式数据库则通过程序方式直接驱动。而且嵌入式数据库容量一般都很小,编译后也不过几十KB,从而使嵌入式数据库可以很容易的移植到嵌入式设备上[8]。目前,兼容Linux的数据库很多,SQLite是比较典型的一个,系统基于应用特点选择SQLite作为嵌入式数据库,编译SQLite如图6所示。
图6 编译SQLiteFig.6 The Compile SQLite
4.5嵌入式网关Web数据采集实现
首先嵌入式网关发起一次自组网网络,并持续检测是否有节点加入或离开本网络,端节点接通电源,自动加入网络,端节点加入网络后,发送传感器信号以及相关传感器数据。然后ZigBee网关将无线网络中采集到信号通过串口1发送给嵌入式平台(s3c2440),把得到数据存入SQLite数据库。最后通过Intetnet访问SQLite数据库,如图7所示。
本文研究的是基于ZigBee协议的低速网络数据采集无
图7 系统访问Fig.7 The System access
线传感网络嵌入式Web数据采集系统的研究与实现,以
ZigBee无线网络为基础,通过ZigBee终端传感采集节点对现
场数据的采集,设计出基于ZigBee协议的无线传感器网络嵌
入式Web数据采集系统。文在借鉴了现阶段国内外Zigbee
数据采集系统的研究成果之上,进行了一定程度的改进和创
新,构建了嵌入式Linux Web服务器,结合嵌入式系统可靠
性高、软硬件成本低、维护工作量小的特点,系统可以网络远
程访问和数据维护,降低了通信成本,增强了传感器网络的
灵活性,应用前景非常广泛。
[1]ZigBee Allicance.ZigBee Docunment 05347r13[EB/OL]. (2009-12)http://www.zigbee.org
[2]Doolittle L,Nelson J.Boa Web server[EB/OL].(2003-02)http://www.boa.org.
[3]张文博.基于ZigBee网络的安全监控系统关键技术研究与实现[D].郑州:解放军信息工程大学,2010.
[4]谭乃厚.基于ZigBee与嵌入式Web的粮库温湿度监测系统的研究[D].武汉:武汉理工大学,2009.
[5]周辉,陈湘萍.基于ZigBee的无线路灯网络[J].现代机械,2015(6):68-71.
[6]Jaws J.Web Server Comparisons[EB/OL].(1998-07)http:// www.acme.com.
[7]Doolittle L,Nelson J.Boa Web server[EB/OL].(2003-02)http://www.boa.org.
[8]王家兵.基于EM250的Zigbee无线传感器网络解决方案[J].今日电子,2008(1):88-90.
[9]杨璐.ZigBee路由协议算法的研究[J].电子科技,2014(3):12-14.
欢迎订阅2016年度《电子设计工程》(半月刊)
国内邮发代号:52-142国际发行代号:M2996订价:15.00元/期 360.00元/年
Research and application of embedded Web data acquisition system based on ZigBee technology
WANG Zheng-wan,LI Yuan-ying
(GuiZhou Vocational Technology College of Electronics&Information,Kaili 556000,China)
This paper aiming at the defects of wired data acquisition of high cost,not easy to expand,poor mobility,the design and implementation of a low rate,short distance wireless data acquisition system,low complexity,low cost,low power consumption based on ZigBee technology.The main content of this thesis is the wireless sensor network data acquisition system of ZigBee wireless microcontroller CC2530 sensor module based on paper.Is composed of a plurality of ZigBee wireless sensor data acquisition node data collected by the embedded Webserver into the Internet network,the embedded Web server uses 32 bit S3C2440 embedded processor and Linuxoperating system of ARM9 structure,which is mainly to achieve Internet access,data acquisition processing and storage.
wireless sensor network;IEEE802.15.4;ZigBee;sensor
TN925+.3
A
1674-6236(2016)03-0144-04
2015-03-30稿件编号:201503449
王正万(1978—),男,贵州遵义人,硕士,副教授。研究方向:嵌入式应用应用技术。