杨森,李月娥
(1.山西大学商务学院,山西 太原 030031;2.山西大学 物理电子工程学院,山西 太原 030006)
无线传感器网络(Wireless Sensor Network,WSN)是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中被感知对象的信息,并发送给观察者[1]。WSN是由具有感知、计算及通信能力的一群微小节点组成,这些节点部署在要监视的区域中,采集指定的环境参数,如光照、温度、湿度等,通过协作、自组织方式构成网络,并将数据发送到汇聚节点供用户分析[2]。
国内外不少企业和学者开始研究各种不同类型的无线传感器网关。文献[3]提出了基于LPC2478的无线传感器网关设计。文献[4]提出了基于蓝牙 4.0 与 3G的无线传感器网关,使用基于ARM Cortex-A8的S5PV210作为主处理器,使CC2540蓝牙模块与无线传感器节点相连接,控制3G模块进行远程通信。文献[5]提出了基于STM32的嵌入式智能家居无线网关设计。
为了解决无线传感网络与Internet网络协议不兼容问题,基于ZigBee与WIFI技术[6-11],设计了一款无线传感器网关,有效地解决了异构无线网络信息控制的问题;同时通过Web管理、手机管理,使智能系统远程管理更加便捷、多样化。
网关以MSP微处理器为控制核心对终端设备进行信息采集、交互控制,将网关应用于智能家居系统中,智能化、自组网[12]、交互强、功耗低,能有效提高家居设备通信能力,提升家庭生活智能化水平。结合家居的智能化实际需求,确定网关实现如下基本功能。
(1)对智能系统进行集中综合控制,实现家庭终端设备的信息采集、数据处理、交互控制等。
(2)具备网络接入能力,能够实时获取家庭终端设备的属性、状态等数据,远程控制终端设备、监测设备状态和家居环境等。
本网关主要由MSP430微处理器主控模块、ZigBee模块、WIFI模块、多路复用模块、扩展模块、电源模块等构成,硬件结构和电路仿真如图1、2所示。
(1)MSP430微处理器主控模块:接收ZigBee模块传输过来的各种家居设备信息,向家居设备、服务器发送数据,实现数据接收、信息处理、交互控制、无线协议转换等功能。
(2)ZigBee模块:通过ZigBee模块与家居设备进行自组网,采集家居设备各类数据,转发给MSP430微处理器。
(3)WIFI模块:负责将无线信号转换成TTL信号供MSP430微处理器使用,与路由器进行寻址信息交换。
(4)多路复用模块:对MSP430微处理器的UART串口进行扩展,实现MSP430微处理器与ZigBee模块、WIFI模块、扩展模块的多串口通信。
Fig.1 Block diagram of Gateway hardware structure图1 网关硬件结构框图
硬件设计中MSP430微处理器通过多路选择器CD4052芯片进行串口复用,采用外部中断的方式进行多路选择[15],实现与WIFI、ZigBee、外围扩展设备的相互通信,实现家庭内部不同家居设备的互联互通及信息采集;微处理器将采集到的信息通过WIFI模块连接无线路由器传输给应用服务器,使用户可以交互控制家庭中的各种智能家电设备,提供智能化服务。
Fig.2 Gateway hardware emulation diagram图2 网关硬件仿真图
Fig.3 MSP430 Main control Module图3 MSP430主控模块
微处理器模块是无线网关的核心部分,主要实现家居设备数据接收、信息处理、交互控制、无线协议转换等功能[16]。一是控制、接收、处理从ZigBee模块传输过来的各种智能终端信息;二是控制WIFI模块与Internet网络的相互通信。为了确保系统的可靠、稳定性,选用数据处理能力强大的德州仪器MSP430F149微处理器为主控模块,如图3所示。MSP430F149微处理器为16位超低功耗微控制器,具有60 kB闪存,2 KB RAM,12位ADC,2个USART等接口资源,可以满足网关的设计需求。
1)二十世纪六十年代末,S.P.Corder(1981:10-11)最早在英语教学和应用语言学领域中提出错误在语言学习当中的重要性,与此同时,他还认为认识到学习者的错误有重要的意义:一是错误可以让老师知道学生取得的进步与教学的距离,以及要实现这些教学目标还需要的努力;二是错误能够使得学生了解他们的不足之处和犯错误的原因,从而调整自己的学习策略;三是错误可以被当作是学习者为了提高学习的一种工具。错误分析的理论基础是中介语理论,这个理论在语音、词汇、语法、语义、语用等方面有独特的分析理论,人们既重视语际干扰导致错误地产生,又注意到语内干扰这一重要的因素(刘志伟)。
设计中采用串口复用方式实现多路通信选择。MSP430微处理器通过端口A和B进行多路选择,如图2网关硬件仿真所示。当A和B都为低电平时,WIFI模块选通;当A为高电平,B为低电平时,扩展模块选通;当A为低电平,B为高电平时,ZigBee模块选通。MSP430主控模块串口复用方式如表1所示。
表1 MSP430微处理器串口复用
Fig.4 ZigBee Module 图4 ZigBee模块
为了满足智能家居系统中的Zigbee不同节点之间、Zigbee节点和网关之间的相互通信,选用短距离无线传感器网络与控制协议ZigBee协议[10]。Zigbee节点与Zigbee协调器都采用TI公司推出的兼容ZigBee2007协议的SoC芯片CC2530,如图4所示。该芯片可以用于2.4 GHz、IEEE 802.15.4、ZigBee 和RF4CE,能够建立强大的网络节点;同时具有高抗干扰能力和低误码率,传输速率高达250 kbps,可靠传输距离可达100 m,支持自动组网;可以满足无线网关中ZigBee模块的要求。
结合家庭客厅、卧室、厨房等不同应用场景的家居设备,根据ZigBee通信协议,自定义网络层和应用层的ZigBee数据帧结构,通过网关ZigBee模块实现与ZigBee家居设备的通信。
(1)网络层数据帧结构设计
无线网关对ZigBee家居设备的控制,主要是通过发送数据帧的方式来实现的[10]。根据智能家居的应用场景、设备及其状态和模式,结合ZigBee通信协议,自定义ZigBee数据帧结构,包括包头、源端口号、目的端口号、远程地址、数据、包尾,如表2所示。
表2 网络层数据帧结构
其中包头标识一个数据帧的开始,源端口号为网关的ZigBee地址,目的端口号为ZigBee家居设备地址,远程地址为应用场景地址(如客厅、卧室、厨房等),数据为网关与ZigBee家居设备之间传输的控制指令,包尾标识一个数据帧的结束。
如下为客厅电扇数据帧。
FE 05 91 90 03 00 50 FF;∥03 00代表客厅FE 05 91 90 03 00 51 FF;∥50代表电扇开;51代表电扇关在电扇打开后,再发送电扇档位控制数据帧:FE 05 91 90 03 00 52 FF;∥52代表电扇低档;FE 05 91 90 03 00 53 FF;∥53代表电扇高档。
ZigBee将以上家电设备数据发送给MSP430主控模块,MSP430主控模块将这些信息打包,通过UART串口发给WIFI模块,进而发送到服务器进行交互控制,实现对电扇的开关、档位等远程控制。
(2)应用层数据帧结构设计
服务器对ZigBee家居设备的控制,是通过给网关发送数据帧,网关对数据帧进行解析后实现的。根据家庭客厅、卧室、厨房等不同应用场景的家居设备及其状态和模式,结合TCP/IP通信协议,自定义应用层的数据帧结构,包括应用场景、家居设备状态、家居设备模式,如表3所示。
表3 应用层数据帧结构
Fig.5 WIFI module图5 WIFI模块
(1)Y代表应用场景,如可用k*表示客厅场景、w*表示卧室场景、c*表示厨房场景等;
(2)X代表应用场景中的设备号,如灯(d)、风扇(f)、电视(ds)、窗帘(c);M用来表示设备的状态,1代表开,0代表关。如:f-statue1*代表风扇处于打开状态;f-statue0*代表风扇处于关闭状态;
(3)N用来表示设备的模式,如风扇有高(f-model 1*)、中(f-model 2*)、低(f-model 3*)三个档位。
WIFI模块采用集成ESP8266MOD射频芯片,如图5所示。该模块支持802.11B/G/N,载波频率为2.4 GHz,通信距离可达100 m,支持多种串行通信协议的USART,支持IPV4、TCP/UDP/HTTP/FTP网络协议。通过WIFI模块,可轻松实现设备联网,智能监控设备。MSP430微处理器通过USART接口与WIFI模块连接,微处理器处理信息后将信息传送出去,通过WIFI模块与互联网相连,进而实现远程监控及远程控制功能。WIFI模块的硬件电路设计如图6所示。
Fig.6 Circuit design of WIFI module图6 WIFI模块电路设计
Fig.7 System flowchart图7 系统流程图
当用户进入家居环境时,如需打开或控制灯、电视、空调等设备的开关及状态,通过手机、平板端的服务器发送控制请求指令;请求指令通过WIFI模块发送到MSP430微处理器;微处理器解析http协议的响应头得到数据并进行转换,将其封装成相应的ZigBee数据帧,转发给ZigBee模块;ZigBee模块发送控制指令到相应家居设备,实现对家居设备的交互控制。系统流程如图7所示。
设计的无线传感网关硬件实物如图8所示,主要由四部分构成:基于MSP430微处理器,具备多节点组网功能的ZigBee模块,支持TCP/IP协议可与路由器信息交换功能的WIFI模块、UART串口扩展多路复用模块。为了测试网关的整体性能,搭建了三个ZigBee终端节点进行自组网,通过发送测试数据包,检验网关传输数据的误包率、丢包率、时延、功耗等性能[17]。
通过连续循环向ZigBee节点发送100个数据包,统计接收、丢失数据包的数量;同时改变传输数据的距离,测试网关接收、发送数据的性能,测试结果如表4所示。
可以看出,网关基本实现了预期的设计目标,测试效果良好。尽管随着数据传输距离的增大,网关发送数据包的丢失率和误包率出现增大,但是完全可以满足实际应用场景需求。
表4 丢包率和误包率统计结果
为了测试网关的数据处理能力,采用不同的串口波特率,发送不同的数据包进行测试[18]。实验中,对于网关平均延时的计算,主要采用提取5次测试数据取平均值的计算办法,其中以网关每次接收200个数据包采样一次延时,结果如表5所示。
表5 网关时延
可以看出,综合包长度和波特率进行整体测试,网关时延都较小,平均值约为 7.97 ms,远远低于标准上限 100 ms,说明网关处理数据的能力非常及时。
测试时依次给ZigBee、WIFI模块提供了3 V的供电电压,测量网关处于休眠状态和正常发送数据下的网关功耗情况,测量结果如表6所示。可以看出,处于休眠状态的网关功耗最低;正常状态下,WIFI模块功耗较大。
表6 网关功耗
无线传感网关为智能家居终端设备实现互联提供了支持,承担未来智能家庭的需求[19]。文中设计了一种融合ZigBee与WIFI技术的无线传感器网关,具备收发WIFI和ZigBee信号的功能,实现了数据接收、信息处理、交互控制、无线协议转换等;同时实现了局域网+外网双重网络工作方式,在没有外网的情况下,局域网仍可继续正常工作。今后将加强网关外围设备的研究,增加语音控制模块实现对设备的语音控制等功能,应用于智能家居领域。