基于无线传感网络的多点温度测控系统研究
2011-01-29聂明新
邹 宇,聂明新,王 承
ZOU Yu, NIE Ming-xin, WANG Cheng
(武汉理工大学 信息工程学院,武汉 430070)
0 引言
基于无线传感网络的测温系统能部署于无人维护、条件恶劣的环境中,具有很强的适应性。无线传感器网络(WSN)是信息科学领域中一个全新的发展方向,同时也是新兴学科与传统学科进行领域间交叉的结果。它是信息感知技术和采集技术的一场革命,是21世纪最重要的技术之一。现在使用的远程控制和调节设备往往存在信号干扰大或建设难度大的问题。并且温度控制器多局限于下位机的操作,在不适合人去的地方,有很强的局限性,更不便于统筹管理和数据分析。而我们的系统具有良好的电脑操作界面,全局的温度显示,能够帮助管理人员了解更多的信息,实时的温度数据更能为工业的生产提供依据,弥补了下位机人机对话的不足以及操作的局限性。与此同时,该系统能将各个分立测温点的数据通过无线数据传输汇总于一台PC机,然后由上位机软件进行分析处理,方便用户控制且架设简单。在数据的传输中我们使用无线传感网络传输替代有线传输方便架设同时增大了系统的应用范围。特别是在一些普通无线网络干扰大、有线传输网络架设难的领域无线传感网络的应用将给生厂生活带来极大地便利。采用上位机软件进行数据处理,为用户提供可视化的简易操作界面,用户只需要动动鼠标就能了解、处理温度数据,同时软件提供实时显示温度数据和显示历史温度数据的功能方便用户根据温度数据进行分析。无线传感器网络的研究对如日中天的物联网有较深的研究意义。对于物联网中涉及组网、自组网、网络的稳定高效都有很好的帮助。
1 无线传感网络的多点温度测控系统的组成
整个系统由传感节点、终端节点及上位机组成。无线传感器网络是由许许多多功能相同或不同的无线传感器节点组成,每一个传感器节点由数据采集模块(传感器、A/D转换器)、数据处理和控制模块(微处理器、存储器)、通信模块(无线收发器)和供电模块(电池、DC/AC能量转换器)等组成。下面详细分析系统的硬件和软件组成。系统整体的结构框图如图1所示。
图1 无线传感网络的多点温度测控系统框图
1.1 硬件组成分析
本系统由测温模块、调温模块、单片机模块、无线收发模块、上位机控制模块组成。利用温度传感器进行温度采集,由单片机获取温度数据,然后由无线发射模块发送数据发送请求。无线接收模块收到数据发送请求后发出应答信号,然后无线发射模块发送数据无线接收模块接收数据,完成数据远程传输。若在数据传输过程中有其它的发送模块发送数据发送请求,接收模块不对其应答。但单片机记录下发送请求的测温点,当数据传输结束,无线接收模块对该测温点应答后开始数据传输。
数据传输完成后由单片机对收到的数据进行解码,确定是由哪个测温点发出的,再将测温点信息通过串口发送给PC机由上位机软件进行数据处理。上位机软件实时显示温度并记录温度数据。当温度超过用户所设上下限温度时,上位机软件自动通过串口发送指令给单片机,在测温点与数据汇集点间进行数据传输,终端根据接收到的指令控制调温模块实现温度调节。每一个节点都具有无线收发功能,起传递信息的作用。接收终端将数据传输给电脑。
图2 系统的软件流程图
1.2 软件组成分析
温度数据采集模块采集数据后,由数据编码模块将数据变为包括测温点代号及温度数据信息的格式,数据发送模块发送数据。数据接收模块收到数据后由数据解码模块解码数据,由串口通信模块将数据发给电脑,上位机软件对数据进行处理。当采集到的信息温度不在设定范围内时,上位机发出温度调控指令给CC2430后再经过一次数据传输,由调温函数控制模块控制调温设备实现温度调节,操作过程可通过智能完成,也可由手工完成。
2 系统终端的节点设计
2.1 节点的ZigBee 协议
ZigBee是以每个独立的工作节点为依托,通过无线通信组成星状、片状或网状网络。每个ZigBee网络节点不仅本身可以作为监控对象,还可以自动中转别的网络节点传过来的数据资料。除此之外,每一个ZigBee网络节点(FFD)还可在自己信号覆盖的范围内,和多个不承担网络信息中转任务的孤立的子节点(RFD)无线连接。ZigBee拥有很多自身的技术优势,其中突出的优势为低成本和低功耗,在组网和路由性方面,因为ZigBee底层采用了直扩技术,如果采用非信标模式,网络可以扩展得很大,因为不需同步而且节点加入网络和重新加入网络的过程很快,一般可以做到1秒以内,甚至更快,达到了路由的高效性。
图3 主从节点的流程图
2.2 节点网络拓扑结构
本系统采用星型网络拓扑结构、TDMA通信机制。在星型网络拓扑结构的网络中有一个称为网络协调器的中央控制器和若干个从备。协调器负责网络的建立和维护,它必须是FFD节点,而且一般有稳的电能供给,不需考虑耗能问题。从设备是FFD节点,系统中采用电池供电RFD节点,它只能直接与网络协调器进行数据通信,而与其他从设之间通信必须通过网络协调器转发。在一个网络中哪个设备作为网络协调器一般说是由上层规定,不在ZigBee协议规定的范围内。系统采用简单的方法是让最初启动的FFD成为网络协调器。在这种情况下,当一个FFD节点上电开始工作,它就会检测周围环境,选择合适的信道,把自己设为协调器,并选择一个网络标识符,然后建立起自己的网络。网络标识符用来唯一的确定本网络,以和其他网络相区分,网络内的从设备也是根据这个网络标识符来确定自己和网络协调器从属关系。网络建立后,协调器就可允许其他设备与自己相连,加入到该网络。
2.3 节点的软件流图
传感节点与终端节点采用星型的网络拓扑结构进行组网连接,组网成功连接后,由终端节点按照时分多址机制轮询每个传感节点完成温度数据的传输。网络组建后终端节点定时轮流询问各个传感节点是否有数据要发送,传感节点收到询问后发送应答信号,终端节点和传感节点建立通信,开始数据传输。本系统中由传感节点将采集得到的数据发送给终端节点。系统中存在着多个从机,从机对相应的传感节点,主机需要通过编码号来识别从机。系统开始工作时,终端节点即主机不断地循环访问从机N,只有当从机接收到的编码号与主机发送的编码号一致时才通过DIR输出高电平,表示从机接收到正确的命令。向从机N发送采温命令,从机N处于等待状态,直至主机将信息取走才进行下一次的数据采集。
3 串口通信上位机软件设计
3.1 串口通信上位机软件部分流程图
图4 上位机软件流程图
系统中的上位机软件的编写采用的是VC++。串口通信上位机软件编程通过串口通信编程CserialPort类完成,和常规的MSComm控件相比,这个类打包时,不需要加入其他的文件,而且函数都是开放透明的,允许我们进行改造。具体的流程图如图4所示。
3.2 串口通信上位机软件主要函数
3.2.1 串口初始化函数InitPort
这个函数是用来初始化串口的,即设置串口的通信参数:需要打开的串口号、波特率、奇偶校验方式、数据位,这里还可以用来进行事件的设定。
3.2.2 启动串口通信监测线程函数StartMonitoring
串口初始化成功后,就可以调用BOOL StartMonitoring来启动串口监测线程,各种串口状态和事件就可以被监测到。
3.2.3 暂停或停止监测线程函数StopMonitoring
该函数暂停或停止串口监测,调用该函数后,串口资源仍然被占用。
3.2.4 通过串口发送字符,写串口函数WriteToPort
该函数完成写串口功能,即向串口发送字符。
3.2.5 为打开串口添加响应函数OnButtonOpen
为打开串口添加单击响应函数OnButtonOpen,完成对串口的初始化和关闭操作,串口的参数设置:波特率19200,8个数据位,1个停止位,无奇偶校验位。
4 实验测试结果及分析
CC2430无线模块工作的频率较高,为保证模块的稳定性,CC2430核心部分采用PCB制板。开启节点电源,打开上位机软件可以看到监测节点实时的温度数据,通过对温控数据的设置,可以保证终端的温度在设置的范围之内,实验过程中实现了保证系统控制温度下线在15度、上线温度为20度。其中数据的更新可以采取手动更新,也可以采取智能控制。图5是上位机工作时的界面图。图5的节点温度超过了上下限,智能控制已自动启动。实验结果表明,在开阔地,主从节点通信的最远距离可以达到150米。要想实现更远程通信可以通过GPRS(通用分组无线业务)模块来完成。
图5 上位机软件运行界面
5 结论
本测控系统采取了ZigBee协议,提高了节点的容量,增加了系统的可靠性和安全性。系统通过无线的方式实现多点的温度监测和控制,通信质量稳定。对系统稍作改善,就能够广泛应用于一些相对恶劣的环境的工业测控系统中。对系统进一步的深入研究也可以实现以太网数据的共享,对于研究如日中天的物联网有很大现实意义。
[1]吕治安.ZigBee网络原理与应用开发[M].北京:北京航空航天大学出版社,2008.
[2]龚建伟,熊光明,等.Visual C++/Turbo C串口通信编程实践[M].北京:电子工业出版社,2004.
[3]雷纯,何小阳,苏生辉.基于Zig Bee的多点温度采集系统设计与实现[J].通信与信息处理,2010,29(2).
[4]李辉.等.基于ZigBee无线热能检测系统设计[J].测控技术,2010,1(312).