无线传感器网络智能建筑节能系统数据传输协议设计与实现
1.2 控制子系统
控制系统主要是对智能建筑中不同物理设备进行控制。由于不同设备的控制接口不同,需要设计不同的控制节点。对有WiFi或红外接口的设备,如空调等可直接设计相应的红外或WiFi收发器对其控制;对类似灯光仅仅包含开、关两种状态的设备,设计了电源开关控制器,如图3所示。本文引用地址:https://www.eepw.com.cn/article/161132.htm
2 可靠传输的设计与实现
由图2可知,数据传输协议贯穿无线传感器网络智能建筑节能整个系统,对系统的稳定、高效运行具有重要意义。在智能建筑节能系统中,按照重要程度的不同将智能建筑节能系统中的数据主要分为三类,一类是关键数据(Critical Data),如控制命令、环境变化告警等信息,这部分信息很关键,对系统的功能实现起着决定性的作用,对传输质量要求很高;一类是重要数据(Important Data),如路由等信息,这部分信息也比较重要,但允许一定的丢包率和延时;一类是一般数据(Norreal Data),如周期性采集到的温湿度、光强等信息,这部分信息冗余度比较高。
2.1 体系结构介绍
本系统软件部分底层(包括MAC层和物理层)采用IEEE 802.15.4协议,其调制方式为OQPSK,速率为250 Kb/s;IPv6微型协议栈包括UDP,TCP,ICMPv6等基本协议,以及在节点之间建立和维护多跳路由的MSRP(Mobile Sensor Routing Protocol)路由协议;在MAC层和IPv6微型协议栈之间引入了一个适配层,这是由于IEEE 802.15.4支持的数据包长度最大为127 B,当接入对象网络协议支持的最大数据包长度超过127 B时,需要对数据包做分片处理;另外,协议栈里面包含两个独立的缓冲区,一个是发送队列,一个是接收队列,分别用于数据的发送和接收,如图4所示。
2.2 可靠传输的设计与实现
数据的发送:若有数据需要发送,要先将其放入发送队列排队轮询,然后为其装配适配头,再经由MAC层对其处理发送。在收到下一跳节点对其回传的ACK后将数据从发送队列中清除,这样就完成了一次数据包的发送。
数据的接收:当节点接收到底层传上来的数据后,根据数据包的类型进入不同的处理函数,若节点接收到数据包是普通的Data包,则将数据放入接收队列,然后交由适配层进行处理,根据目的地的不同选择本地处理或转发。
数据的重传机制:在传统的IEEE 802.15.4协议中,在发送数据包给下一跳时都需要下一跳回复ACK,当超时没有收到ACK时则进行数据重传,最大重传次数(macMaxFrameRetries)默认为3。3次重传失败后,直接丢弃数据包。
由此可见,传统的传输协议不对数据包进行分类,仅考虑单队列传输。另外,在节点对逐跳提供了最多3次的重传,无法保证关键信息包(如对空调的控制等信息)的准确传输。因此,需要对协议进行改进,对数据包进行优先级分类,利用优先级队列管理的思想,同时对关键信息包提供端到端的保证,以满足无线传感器网络建筑节能系统数据传输的应用需求。
2.2.1 优先级队列传输
根据三类不同的数据类型,将数据分为三个优先级,高优先级(High Priority,HP),中优先级(Middle Priority,MP),低优先级(Low Priority,LP)。每个节点内部有高、中、低三个优先级的FIFO(First In First Out)队列,分别表示为HP,MP,LP,并具有相同的缓存区长度,每个队列按照重要性的不同分配给不同的权值。当一个数据包到达时,首先应该通过数据包分类器进行过滤,按照种类的不同进行优先级划分,然后被添加至不同队列的队尾。优先级从列如图5所示。
对任意优先级队列,当检测到队列长度θL超出某一设定阈值θthr时,并不是立即启动置拥塞状态指示位C,而是以概率P置位(概率P的选择采用随机早期检测的方法,Random Early Detection,RED),这时说明网络即将出现拥塞或已出现轻微拥塞;当θL超过设定的阈值θthr,表明网络已经发生严重拥塞,为了尽快减缓拥塞,必须对数据包进行丢弃策略。在获得信道访问权进行队列调度时,从高优先级往低优先级的顺序依次调度,保证高优先级数据的及时性。同时为了保护高优先级信息的传输,将这些信息赋予高优先级的信道访问权,优先占用信道,使得这部分信息传输具有更少的退避时延。
评论