APP下载

基于ZgBee和GPRS的嵌入式桥梁健康监测系统

2012-08-27张开洪张文会

关键词:嵌入式子系统无线

张开洪,李 聪,张文会

(重庆交通大学信息科学与工程学院,重庆400074)

近年来,桥梁因结构老化和损伤而出现垮塌的事件屡见不鲜,桥梁结构健康监测受到全世界的广泛关注。现有桥梁健康监测系统存在供电难、维护难、成本高、稳定性差等问题,难以在中小型桥梁中普及应用,有必要对现有系统进行优化改进。

国内外在结构环境结构监测方向提出一些优秀的成果。Zhuang,等[1]提出了基于 ARM9和 ZigBee的桥梁应力监测系统;纪航宇,等[2]提出了利用802.15.4协议组网,并在基站端采用GPRS同上位机通信的梁结构监测系统;严丽平,等[3]提出的一种基于ZigBee与GPRS的嵌入式水质监测系统中,介绍了一种3层体系的水质监测系统,将ZigBee技术,GPRS技术与嵌入式技术结合来实现环境远程监测;T.Harms,等[4]提出基于 GPRS 无线传输的远程桥梁监测系统。但由于桥梁结构健康监测是个长期性工程,如何处理传感器采集所得庞大的数据量以降低网络传输压力、减少数据冗余,以及如何降低整个系统的功耗,这些问题还需要深入研究。

笔者针对桥梁健康监测系统的现场数据采集和传输部分,提出基于嵌入式技术、ZigBee无线网络技术和GPRS无线传输技术相结合的全新的桥梁数据采集系统。利用嵌入式结合GPRS网络实现控制数据采集、数据融合、数据处理、误差分析、数据存储和数据传输的功能,解决了工控机耗电量大、维护困难的缺点;利用ZigBee无线传感网络和传感器节点电源自控制技术进行数据采集、数据传输和电源管理,解决了布线困难、布线成本高的缺陷,提高了数据的可靠性。本系统通过嵌入式系统休眠、ZigBee模块休眠、传感器节点电源管理等措施,大大降低了整个数据采集系统的功耗。

1 总体设计方案与实现原理

为了对桥梁进行完整地、系统地评估与分析,桥梁健康监测系统应具备可靠、稳定的分析与评估子系统即远程数据管理与分析中心、数据预处理的现场采集子系统、环境变量采集的传感器子系统(图1)。

图1 系统总体方案Fig.1 Overview of system architecture

1.1 远程数据管理与分析中心

远程数据管理分析中心由数据后期分析再现子系统、专家评估及仿真应用子系统组成,包括数据处理程序、参数仿真程序、数据报表程序等。主要功能是对数据分析,从中再现问题发生的时间情况以及生成报表等,比如裂缝发生的位置、形状、时间以及其发展过程。该子系统是基于PC服务器的上位子系统,软硬件都是成熟产品,本系统中采用重庆交通大学自主研发的桥梁健康监测服务器系统。

1.2 嵌入式环境数据现场采集子系统

现场数据采集系统是该系统的核心,主要完成动态电源管理功能,网络数据接收功能,多源异构传感器数据预处理、数据库建立及存储,通过GPRS上传数据至服务器。考虑到系统的嵌入式特点,采用通用性强、易裁减、易开发的嵌入式Linux作为操作系统。

1.3 ZigBee无线传感器网络

传感器子系统主要负责采集不同的桥梁结构、环境等数据,并以无线的方式传回现场数据采集子系统。建立在IEEE 802.15.4(LR_WPAN,低速率无线个人区域网)上的ZigBee技术是由ZigBee联盟推出的近距离、低复杂度、低功耗、低成本的新型无线通信技术。将不同类型的传感器与ZigBee模块组合成无线传感器节点,如温度测量节点、湿度测量节点、挠度测量节点、应变测量节点等。由ZigBee无线传感器组建的网络汇集所有测量节点的数据给现场采集子系统,再通过GPRS上传至服务器。

2 嵌入式环境数据现场采集系统

为了能达到集中分析预处理多源异构传感器数据的目的,该子系统中采用目前流行的嵌入式Linux操作系统,实现了系统的低成本、易开发的特性。

2.1 硬件设计

选用了Samsung公司基于ARM920T内核的S3C2440A作为系统处理器控制核心;存储采用Samsung公 司 的 K9F1208,容 量 为 64M;内 存 为SST39F1601,大小为64M。硬件设计采用核心板加母板的方式,核心板包含ARM最小系统,母板主要有电源部分、ZigBee基站部分、GPRS模块部分和接口部分等4大部分,具体硬件结构如图2。

图2 现场数据采集子系统硬件结构Fig.2 Overview of hardware architecture of on-site data acquisition system

S3C2440A处理器内部自带的名为“Steppingstone”的4K SRAM缓冲器,用以支持NAND FLASH启动[5]。系统上电后,NAND FLASH的前4K代码将被拷贝到处理器内部4K RAM中执行,实际上前4K代码即为类似于PC机BIOS引导程序,用以引导操作系统启动。在前4K的程序中,U-boot将完成中断向量表初始化、关闭看门狗、设置堆栈地址、代码拷贝等一系列工作,当将自身拷贝到SDRAM后,即跳转到内存中运行,进而引导Linux操作系统启动。Linux系统启动后将通过初始化脚本来自动运行数据采集程序。系统中舍弃掉专为方便开发的NOR FLASH是为了减小板载设备功耗,采用 NAND FALSH+SDRAM的模式,只要对NAND分区合理,完全能够满足系统稳定性与可靠性的要求。ZigBee基站设计是将带有完全功能的ZigBee FFD模块通过SPI总线接入系统母板,可进行高效稳定的传输数据。GPRS模块与系统则采用RS232接口连接。

2.2 软件设计

本系统关于桥梁数据的用户层分析是在远程服务器端进行,所以此处仅介绍在现场采集部分的软件设计。嵌入式Linux软件平台是典型的分层体系,通常是由以下4层构成:Bootloader、Linux内核、文件系统、用户应用程序(图3)。笔者选用开源的Uboot作为引导程序,Linux 内核版本为 Linux 2.6.38.8,文件系统采用cramfs与yaffs结合的模式,用只读的cramfs作为根文件系统挂载,增加系统的稳定性,而yaffs的易可读写则非常适合应用程序的存放。

图3 系统软件分层模型Fig.3 Layered model of system software

2.2.1 嵌入式数据库SQLite3的移植与开发

SQLite是一款轻量级的开源嵌入式数据库,使用方便,性能出众,广泛应用于消费电子、医疗、工业控制、军事等各领域。SQLite3是其最新版本(目前稳定版为3.7.11),SQLite3提供的C接口可方便地为开发服务:如sqlite_open打开SQLite3数据库,sqlite_close关闭 SQLite3数据库,sqlite_exec执行SQL语句等。

Sqlite3的移植过程如下:

1)配置编译并安装 sqlite。进入 sqlite-3.7.11根目录下运行命令“./configure-host=arm-linux-prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t-disable-tcl”生成Makefile文件。运行命令“make”对 sqlite-3.7.11源代码进行编译。运行命令“make install”安装 sqlite-3.7.11。

2)Sqlite函数库及相关头文件移植。复制/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/目录下的libsqlite3.so.0到要制作的目标文件系统的 lib目录中。复制/usr/local/arm/4.3.2/armnone-linux-gnueabi/libc/armv4t/include/目录下的sqlite3.h到交叉编译器的默认头文件目录/usr/local/arm/4.3.2/arm-none-linux-gnueabi/include 目录下。

嵌入式桥梁健康监测的数据概念模型设计如图4。

图4 概念模型Fig.4 Database conceptual model

创建数据库与数据表:

1)创建数据库。在应用程序目录运行命令“sqlite3 bridge_monitoringdata.db”,创建名为 bridge_monitoringdata.db的数据库文件并进入sqlite的操作终端。

2)在终端下输入以下命令依次创建数据表:sqlite>create table bridge_monitoring_table(bridge_name,bridge_id,bridge_info);sqlite>create table temperature_info_table(sensor_id,sensor_value,date_time);sqlite>create table humidity_info_table(sensor_id,sensor_value,date_time);sqlite>create table strain_info_table(sensor_id,sensor_value,date_time);sqlite>create table vibration_info_table(sensor_id,sensor_value,date_time);

创建完成的数据库逻辑模型见表1。

表1 数据库逻辑模型Table 1 Logical model of database

2.2.2 现场数据预处理过程设计

远程桥梁健康监测的最终评估是在远程服务器端进行,而庞大的监测数据量中数据冗余度很高,从而引起ZigBee网络节点间频繁的信道抢占,导致网络延时增大甚至网络瘫痪[6]。为了解决这个问题,采用增加现场数据预处理的方法,即在传感器数据存储转发之前对其进行数据融合处理。数据预处理流程图如图5。

图5 数据预处理流程Fig.5 Data pre-processing progress

2.2.3 GPRS 数据发送程序开发

GPRS数据发送程序主要完成在系统启动时自动拨号上网,并通过检测数据通信流来唤醒休眠系统的机制来大幅降低系统功耗并能确保系统不断线的实时数据传输。系统上电后程序默认进入休眠状态,当检测到通信请求后,判断请求来自上层服务器还是下层数据采集系统,并按时不同请求完成不同任务,即转发或预处理存储。设定一定时间间隔无通信响应则使系统进入休眠状态。

1)移植PPP协议

PPP协议工作与Linux系统之上,它支持开机自动拨号,支持常时在线、自动挂断定时模式。PPP协议属于请求-应答方式,用户端向ISP服务端发出请求,ISP服务端作出应答。整个协商完成后便可通过GPRS模块进行Internet IP数据格式传输。

根据板级配置修改ppp-on,ppp-off及ppp-on-dialer等3个配置脚本。在ppp-on中删除账号与密码,并修改电话号码为相应的GPRS模块支持的号码,如*99***1#,删除ppp-on-dialer中的账号与密码。并在内核配置时增加对PPP与TCP协议的支持。

2)配置GPRS模块

正确配置波特率,设置数据包格式与默认网关,拨号连接服务器。然后即可进行数据通信,整个流程如图6。

图6 数据预处理流程Fig.6 GPRS dial-up connection progress

3 无线传感器网络组建

无线传感器网络处于整个监测系统的最底层,传感器节点根据桥梁结构要求分布在桥梁内外不同监测点,将精密传感器与ZigBee无线传输模块结合组成无线传感节点。每个传感器节点包括3个组成部分:精密传感器、内置ZigBee协议栈的无线单片机模块(RF-2430)、电源部分(电池组)。

3.1 ZigBee模块选型

目前ZigBee模块已经比较成熟,本系统选用无线龙ZigBee无线传感器网络专业开发模块RF-2430,它采用德州仪器 ZigBee SOC射频芯片CC2430-F128作为单片机控制核心,完全满足IEEE802.15.4标准和ZigBee技术标准,选用成熟的ZigBee模块可提高系统稳定性同时节省开发时间。网关及分类采集节点硬件结构图如图7。

图7 传感器节点结构Fig.7 Sensor node structure

3.2 ZigBee网络组建

传感监测节点分布于桥梁不同监测区域,针对特定的结构可采用不同的组网方式,常用为树状拓扑结构,如图8。

图8 ZigBee网络拓扑结构Fig.8 ZigBee network topology

组建一个新的ZigBee网络首先由应用层发出网络组建请求,由网络层向MAC层发出信道能量检测、信道扫描等请求并接收返回数据包。检查有无其他网络最终选择一个空闲信道,选择PANID,建立网络,准许接入点加入网络并分配地址,成功返回[7]。流程如图9。

图9 建立网络流程Fig.9 Network establishing process

4 实验结果分析

4.1 实验结果

为了验证所设计的监测系统,在实验室构建了一套实验系统,受条件限制,实验时仅加入3种传感器节点,风速、温度、湿度各一个。实验中采用的ARM系统开发板自带了很多可扩展或直接可用的接口,这里并未使用。无线传感器节点按照设计频率将采集所得数据经ZigBee协调器接收至现场数据处理中心,再由GRPS模块传送到服务器,图10~图12为存储在服务器中2012-03-01—06的监测结果。

图10 湿度监测数据Fig.10 Humidity monitoring data

图11 应变监测数据Fig.11 Strain monitoring data

图12 温度监测数据Fig.12 Temperature monitoring data

4.2 结果分析

从实验结果可以看出,对于每一监测时间点,数据与实际所反应的环境情况完全吻合。实验过程验证了系统的实时性,稳定性,可靠性,为验证数据预处理的结果可靠性,可在节点端用软件编程方式返回奇异数据,实验证明在现场预处理过程中会将奇异值剔除并备注。

5 结语

桥梁健康监测具有实时性、长期性、条件恶劣等要求,笔者针对桥梁健康监测的这些特点,将嵌入式技术与ZigBee无线局域网技术、GPRS技术结合起来提出了新型的嵌入桥梁健康监测数据采集系统。该系统具有数据采集稳定、低成本、低功耗、安装方便、易于维护等优点,能对桥梁环境健康进行实时、在线、长期自动监测。实验完成了对该系统的功能可靠与稳定性的初步验证,但是目前该系统还未进行实地领域测试,系统的实地性能还有待进一步考证。

[1] Zhuang Xiaoqi,Zhang Lijun,Fang Min,et al.An Embedded System of Bridge Stress Monitoring Based on ARM9 and Zigbee[C]//2010 International Conference on Electrical and Control Engineering.Wuhan:ICECE,2010:5007-5010.

[2] 纪航宇,刘晓平.无线传感器网络在梁结构监测系统中的应用[J].仪表技术,2007(12):62-64.

Ji Hangyu,Liu Xiaoping.Application of wireless sensor network for beam structure monitoring system[J].Instrument Technology,2007(12):62-64.

[3] 严丽平,宋凯.基于ZigBee与GPRS的嵌入式水质监测系统设计[J].计算机工程与设计,2011,32(5):1638-1640.

Yan Liping,Song Kai.Design of embedded water quality monitoring system based on ZigBee and GPRS[J].Computer Engineering and Design,2011,32(5):1638-1640.

[4] Harms T,Bastianini F,Sedigh S.An Embedded Wireless System for Remote Monitoring of Bridges[C]//Sensors and Smart Structures Technologies for Civil,Mechanical,and Aerospace Systems 2008.San Diego,California,USA:Society of Photo-Optical Instrumentation Engineers,2008.

[5] SAMSUNG Semiconductor Inc..S3C2440A 32-Bit CMOS Microcontroller User’s Manual:Revision 1[G].Yongin-City,Gyeonggi-Do,Korea:SAMSUNG Semiconductor Inc.,2004.

[6] 王平,程明传,翁宗煌.数据融合处理算法在ZigBee中的应用[J].计算机应用,2009,29(7):1897-1900.

Wang Ping,Cheng Mingchuan,Weng Zonghuang.Application of data confusion algorithm in ZigBee protocol[J].Journal of Computer Applications,2009,29(7):1897-1900.

[7] 乔大雷,夏士雄.基于ARM9的嵌入式ZigBee网关设计与实现[J].微计算机信息,2007,23(12):156-158.

Qiao Dalei,Xia Shixiong.The design and realization of embedded ZigBee Gateway based on ARM9[J].Control& Automation,2007,23(12):156-158.

猜你喜欢

嵌入式子系统无线
不对中转子系统耦合动力学特性研究
《无线互联科技》征稿词(2021)
GSM-R基站子系统同步方案研究
无线追踪3
基于ARM的无线WiFi插排的设计
驼峰测长设备在线监测子系统的设计与应用
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
ADF7021-N在无线寻呼发射系统中的应用
Altera加入嵌入式视觉联盟