为了最大限度的提高无线传感器网络资源的利用率,突破传统轮询系统研究不能应用于真实无线传感器网络的限制,将轮询控制的门限服务方式接入无线传感器网络。本文简要介绍了无线传感器网络的结构,分析了轮询系统中的门限服务方式。以cc2530节点作为硬件平台,利用分簇的方式形成了适合门限服务控制的网络,基于ZStack进行了软件的设计,在无线传感器网络中实现了门限服务控制。最后统计计算了门限服务系统的平均时延、平均排队队长两个指标,以此来评估系统的正确性,结果表明,系统能够正确运行,性能指标和理论值一致。 In order to maximize the utilization of wireless sensor network resources, the threshold service mode of polling control is connected to the wireless sensor network. This paper briefly introduces the structure of the wireless sensor network and analyzes the threshold service mode in the polling system. The cc2530 node is used as the hardware platform to form a network suitable for threshold service control by clustering. The software design is based on ZStack, and the threshold service control is implemented in the wireless sensor network. Finally, the average delay and average queue length of the threshold service system are calculated to evaluate the correctness of the system. The results show that the system can operate correctly and the performance index is consistent with the theoretical value.
董发志,杨俊东,熊成彪,张颖婕
云南大学信息学院,云南 昆明
收稿日期:2018年10月30日;录用日期:2018年11月12日;发布日期:2018年11月19日
为了最大限度的提高无线传感器网络资源的利用率,突破传统轮询系统研究不能应用于真实无线传感器网络的限制,将轮询控制的门限服务方式接入无线传感器网络。本文简要介绍了无线传感器网络的结构,分析了轮询系统中的门限服务方式。以cc2530节点作为硬件平台,利用分簇的方式形成了适合门限服务控制的网络,基于ZStack进行了软件的设计,在无线传感器网络中实现了门限服务控制。最后统计计算了门限服务系统的平均时延、平均排队队长两个指标,以此来评估系统的正确性,结果表明,系统能够正确运行,性能指标和理论值一致。
关键词 :无线传感器网络,门限服务,ZStack,cc2530
Copyright © 2018 by authors and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
轮询控制因其公平性、灵活性被广泛应用于工业制造、计算机通信等各个方面。无线传感器网络引入轮询控制机制,将传统的多跳通信变为单跳,可以有效的降低因碰撞产生的能量损耗。文献 [
无线传感器网络的结构如图1所示。主要包括传感器节点、汇聚节点、两种类型的节点。传感器节点负责数据的采集,汇聚节点负责数据的收集和转发。将传感器节点部署在一个区中,各个传感器节点就会自组织形成一个小区域的网络 [
轮询系统如图2所示,按照其服务方式不同,可以分为完全服务、门限服务、限定服务 [
图1. 无线传感器网络结构
图2. 轮询系统
轮询系统采用马尔科夫链和概率母函数的方法构建数学模型,以此来分析其性能。门限服务的平均时延如下 [
E ( W G ) = 1 2 { R ″ ( 1 ) γ + 1 1 − N ρ [ ( N − 1 ) γ + ( N − 1 ) ρ + 2 N γ ρ + N λ B ″ ( 1 ) + ( 1 + ρ − N ρ ) A ″ ( 1 ) λ 2 ] } (1)
平均排队队长计算如下。
g i ( i ) = N γ λ 1 − N ρ (2)
上式中, λ 表示信息分组的到达率; β 表示服务信息分组的服务率; γ 表示两个站点之间的转换时间: A ″ ( 1 ) = λ 2 , B ″ ( 1 ) = β ( β − 1 ) , R ″ ( 1 ) = γ ( γ − 1 ) 。
本文传感器节点选择德州仪器制造的CC2530,其芯片为TI公司的CC2530。CC2530基于51内核,是一个兼容IEEE 802.15.4的真正的片上系统。相比于CC2430,其闪存达到了256K,可以满足大应用的需求,拥有强大的地址识别和数据包处理能力 [
CC2530最小系统如图3所示,主要包括电池、复位电路、收发前端、晶振电路、DC/DC稳压器、CC2530芯片6个部分。CC2530具有一个IEEE802.15.4兼容无线收发器 [
图3. CC2530最小系统
ZigBee协议(Zstack)的架构如图4所示,包括应用层,应用支持子层、网络层、媒体访问控制层、物理层。ZigBee网络中,按照功能划分为三种设备类型:协调器、路由器、终端设备 [
基于Zstack在应用层分别对汇聚节点、传感器节点进行了程序设计。实验采用6个cc2530节点,一个汇聚节点作为轮询系统的服务器,剩余五个作为传感器节点负责数据的采集,编号为A、B、C、D、E,门限服务中参数的设计为: β = 2 , γ = 1 。设计的流程如图5所示。按下汇聚节点的按键后,整个系统开始工作。具体实现如下:
1) 传感器节点初始化完成,等待接收汇聚节点发来的命令帧,同时开始采集数据,采集的数据为温度,加入代码控制,使得温度数据的到达过程近似服从泊松分布.并将采集到数据存入信息缓冲区中。
2) 汇聚节点初始化完成后发布轮询列表并按列表发送命令帧,向节点A发送一个命令帧,并产生一个合适的等待时间,若在等待时间内未收到节点A的数据,则触发跳转程序,按照列表顺序发送命令帧,转到下一个站点进行服务。若在等待时间内收到节点A的数据,则触发一个中断信号,重置等待时间,等待下一个数据的到来,如此反复,直到出现等待时间耗尽,则说明当前服务的节点已经将发送缓冲区中的信息全部发送完,此时触发跳转程序,按照列表顺序服务下一个节点。
3) 传感器节点侦听到命令帧后将信息缓冲区中的数据复制到发送缓冲区,并发送出去,直到发送缓冲区中没有数据。同时按泊松到达概率采集数据。
烧写好程序之后,按下汇聚节点的按键,系统开始工作,通过串口助手观察汇聚节点的输出,可以看到A ® B ® C ® D ® E的顺序打印出数据。
本文实验分析的方法是利用python程序记录汇聚节点串口的输出,将其存储为文本文件。再进行相
图4. ZigBee协议(Zstack)的架构
图5. 系统工作流程
应的处理之后,可以得到相关数据。主要评估的参数轮询系统的平均时延、平均排队队长。
轮询系统的平均时延的实验值可以如下计算:
轮 询 平 均 时 延 实 验 值 = 服 务 完 所 有 节 点 中 信 息 分 组 所 需 的 时 间 各 节 点 信 息 分 组 的 总 数
轮询的平均排队队长的实验值由下式计算:
平 均 排 队 队 长 实 验 值 = 各 节 点 信 息 分 组 的 总 数 节 点 数 × 循 环 次 数
实验中选取各个到达率的前1000个信息分组来计算相关指标,计算轮询的时延需要知道汇聚节点服务完1000个信息分组的所需的时间长度。这个时间利用串口的时间戳来记录。计算平均排队队长所需参数各节点信息的总数为1000,节点数为5,循环次数则需要利用程序记录下服务完1000个信息分组所需的循环次数。通过理论公式计算的理论值和实验值对比如表1所示。
到达率 | 平均时延 | 平均排队队长 | ||
---|---|---|---|---|
理论值 | 实验值 | 理论值 | 实验值 | |
0.01 | 2.9444 | 3.1148 | 0.0544 | 0.0540 |
0.02 | 3.5000 | 3.6224 | 0.1200 | 0.1274 |
0.03 | 4.2143 | 4.2670 | 0.2014 | 0.2180 |
0.04 | 5.1667 | 5.1511 | 0.3067 | 0.3502 |
0.05 | 6.5000 | 6.4377 | 0.4500 | 0.4940 |
0.06 | 8.5000 | 8.4129 | 0.6600 | 0.7276 |
0.07 | 11.8333 | 11.8978 | 1.0033 | 1.1342 |
0.08 | 18.5000 | 18.2874 | 1.6800 | 1.8658 |
表1. 轮询系统平均时延、平均排队队长理论值和实验值
从表中可以看出,实验值与理论存在一定误差,但是都在理论值附近波动。要降低误差可以通过增加节点数和信息分组的数量来实现,但是所需的实验数据的收集,需要花费更长的时间。
传统无线传感器网络轮询控制的接入协议的研究,大多数是理论分析和软件仿真。本文利用cc2530节点搭建了真实的无线传感器网络,结合Zstack协议栈进行了门限服务控制系统的设计,将门限服务方式应用无线传感器网络。通过实验分析,门限服务控制系统能够在真实的无线传感器网络中正确运行,性能指标和理论值一致。轮询的控制方式将无线传感器网络中多跳变为单跳,有效避免了冲突带来的能量损耗,提高了通信的质量。本系统奠定了轮询系统在硬件上实现的基础,在此基础上,可以扩展为完全服务和限定服务方式,加上两级优先级的轮询模型之后,将进一步提高通信服务质量。
董发志,杨俊东,熊成彪,张颖婕. 无线传感器网络中门限服务控制系统的设计实现Design and Implementation of Threshold Service Control System in Wireless Sensor Networks[J]. 计算机科学与应用, 2018, 08(11): 1706-1712. https://doi.org/10.12677/CSA.2018.811188
https://doi.org/10.1109/TST.2014.6919828