摘 要构建无线传感器网络系统的各种协议和支撑技术,通过对数据采集网络的应用场景进行分析,将Win CE与ZigBee技术相结合,设计一种典型的多层次网络模型,实现CC2430片内集成定位引擎应用,短距离多网络节点间无线通信,以微处理器与WinCE操作系统为中心建立网关人机交互平台,通过宽带及公共电话网接入公共网络,使用串口实现无线通信终端采集部分与网关平台的数据传输,实现环境监测、数据发送及信息综合的集中管理。
【关键词】无线传感网 Win CE ZigBee 人机交互
1 引言
无线传器网应用分布式信息处理、传感器、现代网络、嵌入式计算及无线通信等技术,通过各类微型传感器协同完成对监测对象或各种环境的数据采集、位置感知和实时监控,这些信息以自组织多跳的无线网络方式传送到用户终端,从而实现人类社会、计算世界以及物理世界的三元世界信息融合。
2 无线传感网总体设计
无线传感网以多跳路由的方式过中间节点将数据传送至汇聚节点,数据通过网络层完成转发。因此,提出层次型网络结构,系统包含二部分:
无线传感局域网节点;应用 ZigBee 技术,每个嵌入 ZigBee 模块的传感器作为一个ZigBee 节点,由 ZigBee 节点组成整个无线传感局域网。
嵌入式网关;实现串口数据接收、数据报文解析处理、显示和上位机操作界面的多线程程序,及对信息数据处理的功能;同时,还要实内部网络现和外部 Internet之间协议的转换、地址转换和路由等功能,通过一组人机交互的界面和相应的应用程序以达到方便用户使用和管理的效果要支持UDP协议并能提供远程控制服务,从而允许客户远程访问它。
3 无线传感器网络节点设计
传感网节点是系统重要组成部分,其作用等效于生物的触角,由传感器完成探测点环境的数据采集。
3.1 无线传感网测距的原理
在无线传感局域网中,网络节点监测消息的重要信息为事件发生的位置信息或获取信息的节点位置。在互相可视的两个节点间,利用自由空间传播模型来预测接收讯号的强度值,当天线发射机与接收机天线之间有一定距离时,由弗里斯方程式决定它所接收的自由空间功率,常采用美国电气和电子工程师协会提供的简化估算公式:
RSSI = A-10nlg(d)
式中,RSSI单位为dbm; A是信号传输单位距离时的接收信号强度;传播因子为n,无线信号传播环境决定其取值;收发单元间的距离是d,单位m。
3.2 节点射频芯片选型
节点射频电路实现无线传感局域网的接受、发送功能和数据处理,节点电路采用美国德州仪器公司推出射频收发芯片CC2430,应用其内置的RSSI指示器寄存器,应用其公式计算RF管脚相关的功率P,即可得出两节点间的距离。
3.3 节点硬件设计
采用结构化方法设计标量数据网节点,将其分为微处理器模块、传感/控制模块和射频通信模块等子电路模块,分别设计制作印刷电路板,其系统结构分析如下。由512 KB 串行FLASH 存储器AT45DB041、ISP接口、RS-232 接口、能量供应模块、C8051f320单片机以及一个标准传感/控制接口组成微处理器模块。应用CC2430和印刷电路板引线组成天线射频通信模块,它通过微处理器与串行外设接口连接完成设置并实现数据收发任务。通用接口连接到微处理器模块组成传感/控制模块,仅根据控制需求设计传感/控制模块和各种传感器研制出具有不同功能的节点。按需求设计出如下传感器节点模块:温湿度传感器SHT11节点模块、光强传感器TSL2550D节点模块、烟雾探测传感器节点模块、红外光敏传感器报警节点为模块及紧急按钮报警节点模块等。
3.4 节点软件应用层分析
节点软件应用层框架由设备层、对象应用支持和制造商所定义的应用对象。节点软件协议结构由大量的层状元件,包含网络层、PHY层及IEEE802.15.4 MAC层,每层提供它们相应的服务和能力。节点软件应用层除了实现网络层提供合适的服务接口及一些必要的函数外,还有就是让应用者可在这层定义自己的应用对象。使用者的節点软件应用程序实际上就是对ZigBee 协议栈交替的对外围部件和处理器进行操作。为了能实现此目标,应用层在ZigBee 协议栈的基础上实现了业务操作系统调用用户程序所用的函数接口。
3.5 节点软件设计
节点软件实现主要是对系统的一系列初始化通过调用一些基本的接口函数完成,并实现相应的协议层服务。协议层既要实现802.15.4 的MAC和PHY层协议,又要提供ZigBee 网络层协议,并为应用层提供服务。应用层则完成函数接口调用协议层所提供的服务,实现对整个网络的管理。这里每个节点都安装有TinyOS操作系统,为用户提供一个良好的接口。将烧写好固件程序的节点插上传感板,并在空间位置布置完成后,打开节点模块的电源开关,从而将烧写好程序的基站节点接入嵌入式网关。同时,设置工作模式,选择对应的传感板型号、数据库参数、网关等。参数设置正确之后,应用基于最小功耗的原则开发无线传感网的路由选择算法,因为每个节点的组网链路都是根据功耗状态不同动态变化的,所以各节点采集该点空间位置的模拟信息经过处理后发送到基站供终端平台查看。
4 嵌入式网关
嵌入式网关是整个系统的核心部分,在系统中发挥着至关重要的作用。硬件采用基于Intel PXA270处理器的EEliod Evluation开发板,并采用专业化的处理器复位芯片和内核电源芯片来保证系统运行稳定。
4.1 网关系统平台设计
Win CE嵌入式软件基于硬件电路和操作系统进行开发,由于嵌入式系统裁剪灵活,对应的硬件也是根据使用者需求的不同进行选择,在硬件设计完成之后确定硬件平台对应的板级支持包,再通过Platform Builder软件进行操作系统编译,根据实际需求添加系统配置文件及相关组件,将编译好的镜像文件烧写到PXA270处理器上,从而搭建完成嵌入式系统的硬件、软件平台,之后就根据系统功能的需求为平台开发应用程序,系统开发的最后一步即是将设计好的应用软件下载到嵌入式平台上,完成软件的发布,最终实现系统的整个设计。
4.2 网关软件设计及实现
无线传感网网关监控软件用于监控、连接管理、存儲各测温节点及其测得的选定区域内环境参数,并把环境参数存储到数据库,用列表的方式及趋势曲线显示出来,方便使用者进行管理、查询、数据读取及软件控制。
4.2.1 人机界面设计
人机界面开发环境应用Visual Studio2010软件,在软件开发环境中使用单文档的形式实现人机界面应用程序开发,创建一个基于CForm View的单文档应用程序,并添加几个窗体和与之对应的新视类,通过在CMain Frame类中添加控制代码和菜单控制完成两个动态窗体的切换。
4.2.2 主界面设计
主界面是开机后第一个出现的界面,使用CEMBHID View类来实现主界面上的各个成员函数和数据成员,在动态创建主界面上的各种功能按钮中使用CEMBHID View::OnCreate( )函数来完成。
4.2.3 参数设置模块设计
应用基于CDialog类的CParameter类来实现参数界面中所用到的数据成员和消息响应函数,使用者通过对参数设置项进行设置,等待窗口消息并调用响应的窗口过程函数来完成相应的处理。应用TAB控件来实现分页设计,其中用到从CTabCtorl类继承来的CTabSheet类来包括分页操作所用到的成员函数和数据成员,并用于Tab Control的控件类,在类中有一个成员变量用来记录各子对话框的指针CDialog * m_ pPages[ MAX.PAGE], MAXPAGE是该类所能加载标签的最大值。在 CTab Sheet类的AddPage方法,用于记录所使用对话框资源的ID号和子对话框的指针。在AddPage加进若干子对话框后, 其生成标签和子对话框使用CTabSheet的Show方法来实现。页面就用一个类来封装成员函数和数据成员,应用程序退出时将使用者数据存储天磁盘上,在程序重新启动时重新读取使用者数据,这种保存和恢复的过程就是串行化。使用微软基础类库中特殊CSerialize类支持对象的串行化,并利用CArchive 类对象作为执行存储介质和串行化对象两者的媒介,执行串行化的对象读写操作应用CArchive 类对象来进行。参数设置界面中使用的全局变量包括CDesignParams类和CGlobalV类,应用其中的重载成员函数CGlobalV: : Serialize、CDesig nParams:: Serialize进行实际的串行化操作。通过以上串行化技术就可以实现参数设置中用户设置的参数保存,在程序退出时存储这些参数设置,程序启动后自动读入。
5 结论
基于微软Win CE 和德州仪器ZigBee技术提供的软硬件开发环境,应用无线单片机CC2430设计出无线通信模块的硬件电路,并选用TI德州仪器ZigBee2006协议栈和TinyOS操作系统作为软件开发基础。设计出一套完整和实用化的无线监控方案,实现环境数据的远程定位、信息监测和实时采集。经调试验证,网关平台通过串口能正确地接收和发送数据,能实现多个无线节点的定位监控和数据传输,并能在网关平台的上位机正确显示传感器节点数据。
参考文献
[1]黄根勇.基于嵌入式与ZigBee技术无线传感网设计[D].内蒙古大学,2011,05(15).
[2]瞿雷,刘盛德,胡成斌.ZigBee技术及应用[M].北京:北京航空航天大学版社,2008.
作者简介
黄根勇(1982-),男,在读博士,讲师。主要研究方向为嵌入式系统。
作者单位
江西制造职业技术学院 江西省南昌市 330095