纪鑫来,张永
(大连东软信息学院,辽宁大连,116000)
如今无线通信技术在智能系统中大多被定义为数据传输途径,仅限于数据传输,进行深层次开发利用的设计并不多。数据在交互处理中会沿着无线通信技术中的网络拓扑结构进行信号传播,所以信号传播的强度值(RSSI)是衡量一个网络情况的重要指标,是一个网络拓扑结构的反馈。对于信号的传播方式,可以分为大致三种:广播模式(Wi-Fi)、点对点(蓝牙)和自组网,同时现今无线通信技术多种多样,具体表1所示。
表1 几种无线通信技术的比较
针对室内入侵检测,本次设计选用了Zigbee无线通信技术进行技术开发,利用Zigbee自组网构建检测网络,通过对RSSI的强度采集来判断室内情况。Zigbee无线通信技术是应用点对点的自组网来发送数据,在一个Zigbee网络中存在三种设备状态:Zigbee终端节点,Zigbee协调器以及路由设备。该设计包括6个硬件模块,4个终端节点,1个路由节点以及1个网关Sink节点, 4个终端节点分布在不同的位置,向网络中的同一协调器Sink进行数据发送,为了平行检测,在场景中间了路由节点对下层所有的Zigbee终端节点情况进行汇总,然后单一向网关Sink上回传。
室内场景上电后,网关ZIgbee设备对公网中所有的AP节点进行网络参数指令的下达进行扫描,再匹配成功后对场景形成网络覆盖,同时开始检测各个终端节点的RSSI信号强度值,并数值直接向网关Sink回传。所有的数据都在Zigbee路由模块上进行处理整合,路由节点收到数据包后对帧进行解析,设计中应用CC2530微处理器来控制所有数据流以及外围硬件。路由节点的处理器在接收到不同AP节点的RSSI信号强度后,对数据与AP分类整合,然后推送到内置的发送端,向Sink端进行回传,路由节点在在这里没有数据分析的功能,上层网关Sink节点在接收到整个数据包后,然后对照其恒定信号强度RSSI值,分析信号的波动情况。
信号的波动情况在本次设计中即是室内入侵情况的反馈。我们通过多次实验测试出,当空旷的场景中,成功组网后信号RSSI的接收强度波动范围,而一旦场景中有干扰(入侵)时,信号强度会产生大幅度的波动,由此根据反复的Userstudy来判断阈值外的信号噪声即为场景网络中,检测到入侵情况。本次应用网络结构搭配信息强度RSSI以及接入点AP的列表构建了数据坐标系,通过信号数据可视化对室内入侵情况进行分析,是一种对无线通信技术另一个角度的开发。系统整体构成如图1所示。
图1 系统整体设计方案
本次系统的数据流通,我们选用的Zigbee低功耗拓扑结构的无线传感网来完成,Zigbee通过自组网进行终端向协调器的发送,Zigbee的自组网有三种拓扑结构,网状结构,星星以及树型结构。本文选用了网状结构来搭建网络,因为在电路设计中,四个终端节点搭载不同传感器向唯一协调器进行发送,不需要复杂的多跳。同时系统的距离有一定的限制,对数据承载力要求不高,网状拓扑结构便于平行检测整个室内情况,图2显示了Zigbee网络情况。
图2 Zigbee拓扑结构
Zigbee组网完成后,对于所有数据的处理是通过微处理CC2530完成的。Zigbee外围电路中,必须设计出系统时序才能保证系统有效的工作,即为系统的时钟或者晶体振荡器。系统上电后,各个模块按照时序进行有序的工作,或者进行循环检测RSSI的强度值。本次数据的无线传输以及协调器触发都需要一定的平衡,各个AP节点的数据传输率以及频率的同步即是通过匹配时钟晶体的震荡速率来完成的。同时在保持所有功能模块都有有效的工作时序的同时,晶体振荡器还有一种作用是外出触发电平的“变换开关”,一旦产生入侵检测的触发,则响应一次外部中断事件。图3显示了入侵检测情况。
图3 入侵检测流程图
同时系统中我们需要监测实时入侵RSSI值的波动,因此CC2530模块需要不停的检测是否有数据流入,但是如果一直处于工作模式,整个系统会产生很高的功耗,因为系统设计了中断触发的模式来检测是否有高低电平的变化。本设计中,每次RSSI的大幅度的噪声波动,代表了场景中有入侵情况,因此通过对RSSI阈值的判断来设计中断触发事件。设计中比较了单纯的标识位中断触发方式与定时触发方式,最终选择了定时器触发的方式。这里设置了不同的Task模块,配合时钟周期进行了两种方式编写,一种是扫描Zigbee网络中所有数据据按照分钟的方式进行周期性发送,每1分钟出发一次发送中断进行一次回传,对于入侵触发事件,超出阈值直接触发跳变延,通过改变一次高低电平来实时刷新一下RSSI值,回传上层进行处理。
下层的数据流方面,系统分为两个部分:AP接入点的列表流及RSSI强度数据流。RSSI的读取通过对CC2530的引脚编程来操作外围电路,从而实现对场景中入侵情况检测,在模块响应后,Zigbee网关Sink连续读取路由节点回传的数据,并将读取的电信号进行A/D转换,这里我们设计了一个数组,然后对所有RSSI数据全部读取后,在进行统一的数据操作。本次系统设计,所有RSSI数据的读取,是通过路由节点进行汇总后,然后在网关节点进行处理的,在系统上电后,主程序进行响应等待模式,这里我们通过设置协调器的定时器来完成数据的一次响应读取,然后协调器进行等待模块,等待RSSI是否有数据回传(数据的转换在传感器引脚A / D转换时完成),当检测到有数据回传后,我们通过对数据帧的解析然后匹配AP来完成对整个网络波动情况的读取,这里面我们设置数据头,标志位来完成对数据的分类(AP),当完成对一次数据的分析后,网关Sink继续进入等待模块,或者说中断响应模式。
在进行自动连接ZIgbee模块服务时,首先进行优先级的设置,对于上下联通的网关模块,设置为高优先级的选项,并应用UDP通信模式进行数据接收,同时在系统进行数据同步,把当前下层网络的所有RSSI数据进行刷新。通过大量的Zigbee的接入点AP的列表信息,可以视为构建了一个室内相对二维度的坐标系,同时RSSI强度是不同AP接入点与Zigbee终端设备一种连接相位的体现,通过不同的RSSI针对不同的接入点可以构建出一个数据坐标信息,回传给Sink进行分析。
本次系统Zigbee网络执行过程,初次配置后,四个终端向协调器发送数据,中转传输到路由节点,进行向网关发送的准备。对于AP的扫描,系统启动后,协调器向下层所有区域广播网络参数,查看是否网络中回馈节点请求,网络中的5个Zigbee的AP节点,再收到协调器网络指令后,根据自身PID等参数的配置,向协调器回传请求响应,协调器接收到请求后,匹配节点的参数查看是否可以通过加入请求,同时回传响应给终端AP,一旦匹配成功后,即可加入到该Zigbee自组网络中,并会按照不同的节点功能来开启工作,其中四个AP节点为终端节点,不停的发送RSSI信号强度值给路由节点进行数据汇总。具体软件流程图如图4所示。
Zigbee网络开发了专属的IAR平台来配置以及编写Zigbee程序,该IDE是一款层层嵌套的平台,通常情况下所有的数据帧的编写以及具体应用的开发,都是在应用层进行配置的,对于组网,我们需要在网络层协议栈进行编写,通过组网来分配信道以及PID实现对RSSI的读取。对于RSSI的强度的读取,需要设置一定的参数才能进行有效的实验。
图4 数据网络流程流程图
对于实验,分为了两个部分:误差校准实验以及设计验证。Zigbee网络中RSSI信号强度存在大量的干扰因素,而不确定的干扰因素,会形成一定的误差。因此在验证整个系统可行性前,我们需要对系统的误差进行一定的实验分析。表2所示我们通过五组Userstudy的实验结果。
表2
本次实验我们对时间域进行采集,分为了五组实验室,然后对RSSI信号强的上限以及下限进行采集,然后进行标准化分析。同时我们设计了第六组实验,为入侵检测实验,通过对信道进行一定的阻隔来测试,并通过Matlab对测试的数据可视化的RSSI波动图的输出。图5表明了实验过程RSSI的波动情况。在500~600段可以看出,通过阻隔对照试验,RSSI产生了明显的噪声变化,会有一段波形超出了标准波动的范围,可以判断为产生了室内入侵。
图5 实验结果图
本次室内入侵检测系统,是通过Zigbee下层所有数据回传后,对列表中所有AP接入点进行分析,自组网络中取出RSSI然后根据强度信息构建一个检测范围,相对范围即代表了在室内安全情况下RSSI的采集范围,系统把RSSI记录下来存放在数据矩阵中,同时通过大量的Zigbee的AP信息构建出不同的区域的安全覆盖网,一旦产生大量噪声波动,系统比较初识的相对信息,判断产生室内入侵。这种判断是一种相对的,而不是绝对的,由于ZIgbee用户会在整个网络中移动,同时场景环境的不确定因素,系统会存在一定的误差。但是同一区域内的相对安全情况可以清晰的显示出来,并且保证了数据的实时性。因此系统的初步设计以及测试完成了,但诚然存在很多问题,例如精度、实验的深入开发与对照组,以及系统缺点研究都是可以深入进行的工作。希望未来工作中,深层次开发整个系统。