随着传感网的不断发展,以ZigBee协议为基础的无线传感网络(WSN,WirelessSenorNetwork)的确立,不仅使得在信息采集技术的这一领域有了进一步的发展,而且还带动了物联网的快速发展。本文立足于无线传感网络作为物联网的最底层,分析了基于ZigBee的无线传感网络,并在此基础上提出了无线传感网络接入到互联网的网关接入模式。
2.1ZigBee协议栈与无线传感网络的技术要点
图1ZigBee整体架构
IEEE802.15.4标准定义了物理层(PHY层)和媒介层(MAC层)。物理层是协议的最底层,承担着与外界直接作用的任务,它采用扩频通信调制方式,由图1可以看到这里定义了两个频率的物理层,这两个频率段分别为868/915MHz和2.4GHz。MAC层负责设备间无线数据链路的建立、维护和结束,确认模式的数据传送和接收,可选时隙,实现低延迟传输,支持各种网络拓扑结构,网络中每个设备为16位地址寻址。它可完成对无线物理信道的接入过程管理,包括以下几方面:网络协调器(coordinator)产生网络信标、网络中设备与网络信标同步、完成PAN的入网和脱离网络过程、网络安全控制、利用CSMA-CA机制进行信道接入控制、处理和维持GTS(GuaranteedTimeSlot)机制、在两个对等的MAC实体间提供可靠的链路连接。
2.2TCP/IP协议与互联网络通信方式
对于互联网而言,其传输控制与因特网互联规则也就是TCP/IP协议是Internet最基本的协议。它由网络层的IP协议和传输层的TCP协议组成,此协议采用了四层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。可以这样说,TCP负责发现传输的问题,一旦发现有问题就会要求重新传输,直到所有的数据安全正确的传输到目的地,而IP是给了因特网的每一台电脑规定了一个地址。
TCP/IP协议由链路层、网络层、传输层以及应用层这四层组成。对于此协议的熟知程度,具体的每层协议的功能在这里将不进行详细的说明。而网关作为在传输层以上工作的,为了深入的了解此文所提出来的网关接入模式,在此将对传输层以上进行一些分析说明。传输层提供应用程序之间的通信。其功能包括:格式化信息流和提供可靠传输,为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,从而提供可靠的数据传输。而传输层的协议主要是:TCP和UDP协议。在本文所提出的的网络传输由于速率因素,我们在此采用TCP传输。在TCP传输过程中,数据从应用层到传输层,数据的报头是TCP报头,然后下到网络层,数据在之前的TCP报头前在加上IP报头,IP报头中有目标IP和源IP,然后到数据链路层后又在上层的数据中加上首部和尾部,然后经过物理层传输到目的地,经过路由器分析目标IP然后查找路由表在进行转发,来到目标计算机然后从物理层开始解封装,然后一层一层向上传输。而在此文中所涉及到的传输过程,就从应用层到传输层,数据带有TCP报头就进入网关进行协议的转换,解封装后从新封装从而传到ZigBee的应用层。
3、无线传感网络接入互联网络的网关模式分析
本文所提出的无线传感网络接入Internet网的网关接入模式的基本构架如图2所示。
在此基本结构模式中,我们主要对数据从ZigBee进入网关以及数据从网关到互联网进行分析。在此,数据由ZigBee进入网关采用串行传输的通信方式。ZigBee各个节点把收集的数据送到协调器,在经由协调器交给应用层,应用层通过调用串口API发到网关。网关将Internet发送来的数据进行解封装通过串口交给协调器,协调器再将数据封装,加上ZigBee的短地址发送出去。这样就实现了从ZigBee到网关的双向数据传输。网关到互联网的传输在此文中采用了以太网口传输,客户端与服务器模式的网络通信结构,并用WindowsSocket网络编程实现,这样就完成了从网关到互联网的数据传输。因此,在这里我们通过此网关把基于ZigBee的无线传感网络与互联网连接起来,从而使得可以通过互联网时时控制物理世界,可以根据我们的需要对所有的节点进行控制及管理。
图2ZigBee无线传感器网络与Internet互联结构模型
3.1ZigBee模块与互联网关的通信模式
对于星形的ZigBee网络拓扑结构,所有的节点都跟协调器交互,因此要实现ZigBee网络与网关的通信,可以通过协调器跟网关通信。在本文中采用了协调器与网关通过串口进行连接。串口通信具有成本低、传输质量可靠、全双工等特点,满足嵌入式简化设备的需求,因此网关的ZigBee网络通信模块采用串口实现。
在协调器和网关之间我们采用异步串口通信方式,并且双方采用中断方式进行数据的发送和接收。由发送端向接收端发送请求是否可以发送数据命令,之后接收端收到请求命令后给发送端返回一个命令数据,发送端根据接收端发回的命令进行判断是否可以现在就开始传输数据。在每一次数据传输完毕之后,发送端都要进行新一轮的上述过程进行下一个数据包的传输,知道所有的数据传输完毕即可。
3.2物联网与Internet的网关接入方式
本研究报告主要采用以太网口,客户端与服务器结构的网络通信,并把网关作为服务器。采用WindowsSocket编程来实现此网络传输。在此我们使用套接字I/O模型的Select模型,这样有利于对应用程序通过异步方式同时对一个或多个套接字通信加以管理。如图3所示,描述了Select模型的工作方式。在调用recv()函数接收数据之前,先调用select()函数,如果此时没有可读数据,select()函数就先阻塞在这里。当系统有了可读数据,该函数返回。这个时候应用程序就可以调用recv()函数接收数据了。网络编程选择好后就在下面具体分析客户端与服务器的相连接。
图3Select模型
如图4所示表示了服务器与客户端的通信模型。首先分析下套接字的可读可写性。
首先要初始化套接字集合,然后将套接字分配给参与操作的套接字集合之后通过调用select函数等待函数的返回,若成功返回后则对每个套接字集合进行检查,若是宏值为ture则说明此套接字可读,最后就可以通过SocketAPI进行数据接收和发送。接下来分析下网关(服务器)上应用流程。Select函数监听套接字是否在可读集合中,若存在,则说明客户端有连接请求,调用accept()函数接受该客户端的请求,并将新建接受套接字加入服务器套接字集合然后便利服务器套接字集合分别判断每个套接字是否可读可写。若可读,则调用输入函数读入数据,若可写,则调用输出函数发送数据。对于客户端,首先要判断是否可写套接字,若是存在就调用connect()函数请求连接,之后检查每一个套接字的可读可写性。若可读,则调用输入函数读入数据,若可写,则调用输出函数发送数据。这样就在服务器客户端两端分别完成了数据的传输,用此模式的网络编程实现了网关与PC的有效数据传输。也就是实现了网关到Internet的传输。通过此网关可以实现ZigBee无线传感器网络与因特网的互联,实现物联网系统在更广泛领域里的拓展应用。
4、结束语
随着物联网络技术的发展和在更加广泛领域里的应用,ZigBee无线传感网络及其拓展接入技术变得日益更要。本文针对ZigBee无线传感网络接入互联网的模式进行了分析和研究,并就其方法进行了归纳阐述。无线传感网络技术与多传感器技术及因特网领域相结合,有着十分广泛的发展和应用前景,将给社会的生产和生活方式带来空前的改变。这种基于ZigBee的无线传感网络与互联网关接入模式,为无线传感器网络的拓展应用方式提供了一种新的选择,在理论引导和实际应用方面具有重要意义。