基于ZigBee的大坝监测系统接收终端研究
4.1 嵌入式Linux操作系统
嵌入式Linux(Embedded Linux)是指对Linux经过裁剪小型化后,可固化在存储器或单片机中,应用于特定嵌入式场合的专用Linux操作系统。嵌入式Linux的开发和研究已经成为目前操作系统领域的一个热点。与其他嵌入式操作系统相比,Linux的特点如表1所示。
4.2 设备驱动程序开发
在Linux操作系统下有两类主要的设备文件类型,一类是字符设备,另一类是块设备。字符设备和块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般就紧接着发生了,块设备则是利用一块系统内存作缓冲区,当用户进程对设备请求能满足用户的要求,就返回请求的数据,如果不能,就调用请求函数来进行实际的I/O操作。块设备是主要针对磁盘等慢速设备设计的,以免耗费过多的CPU时间来等待。
本系统主要是对ZigBee模块的串口驱动,属于字符设备驱动程序。主要包括open,close,read,write,ioctl等函数,把它们统一定义在结构体file operations中。
4.3 应用程序设计
接收终端的应用程序开发根据系统功能的需求采用模块化的设计方案,具体有如下几个主要功能模块:数据收发模块、数据存储模块、数据查询模块、系统界面模块。
手持接收终端软件采用多线程实现模块化,主要包括主程序、数据收发线程、数据显示线程。系统上电后,主程序首先执行,完成系统硬件初始化,配置ZigBee模块参数,然后创建收发线程、显示线程两个线程,如图4所示。线程任务都结束后,如无系统命令,则ZigBee模块进入节电模式,主程序退出。收发线程先要调用CreateFile函数打开串口,设置串口参数,通过ZigBee模块发送控制指令与采集前端建立无线通信,然后调用writeFile函数接收并存储数据,数据读写完毕后关闭串口退出线程。显示线程负责将接收到的数据经过处理器二次处理后,通过人机交互界面显示到LCD上。
5 结论
基于ZigBee的大坝监测接收终端,利用低功耗的ZigBee技术将前端采集模块获得的大坝结构应力应变、裂缝、渗流渗压等重要状态参数,接收并存储。分析人员可及时由接收终端获取大坝的参数信息,为大坝的安全评判提供了一种方便可靠的方法。
该技术比传统方法维护简单,监测灵活,具有很强的实践价值。接收终端基于ARM9硬件平台,嵌入式Linux操作系统软件平台和ZigBee无线通信技术,通过无线方式发送接收各种参数,并对数据进行分析、存储、查询等操作。工作人员通过人机交互界面可以直观获取当前大坝状态参数信息,并通过历史数据的分析对比,得出大坝状态参数的变化趋势,从而满足对大坝进行长期实时监测的要求。
- 基于Zigbee技术家用无线网络的构架(12-14)
- 基于精简协议栈的ZigBee网络节点研究(07-17)
- ZigBee无线传感器网络的研究与实验(02-08)
- 解析ZigBee堆栈架构(03-26)
- 组建SMAC协议构架的ZigBee星形网络(06-11)
- ZigBee基本技术问答(12-07)