发明名称 一种无线传感器网络数据采集方法
摘要 本发明公开了一种无线传感器网络数据采集方法,该方法包括如下步骤:首先对加入网络的节点进行初始化;初始化完成后节点建立自己的接收唤醒时间调度表;同时初始化完成后节点建立自己的一跳范围内的邻居列表,节点通过邻居列表查询邻居节点的接收唤醒时间和接收信道;最后初始化完成后使得整个网络中两跳范围内的节点各自具有专属的接收信道,并确定网络的汇聚节点;节点根据数据接收机制接收数据包;节点根据数据发送机制发送数据包;在没有数据包接收和发送时,节点根据自己的接收唤醒时间调度表进行周期性的睡眠、唤醒;网络进行数据采集时,根据网络采用的路由协议,网络中所有的数据包都流向汇聚节点。
申请公布号 CN102740363B 申请公布日期 2015.01.28
申请号 CN201210205791.2 申请日期 2012.06.20
申请人 东南大学 发明人 刘昊;汤峰;蒋富龙;吴建辉
分类号 H04W28/08(2009.01)I;H04W28/16(2009.01)I;H04W52/02(2009.01)I 主分类号 H04W28/08(2009.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 柏尚春
主权项 一种无线传感器网络数据采集方法,其特征在于,该方法包括如下步骤:首先对加入网络的节点进行初始化;初始化完成后节点建立自己的接收唤醒时间调度表;同时初始化完成后节点建立自己的一跳范围内的邻居列表,节点通过邻居列表查询邻居节点的接收唤醒时间和接收信道;最后初始化完成后使得整个网络中两跳范围内的节点各自具有专属的接收信道,并确定网络的汇聚节点;节点根据数据接收机制接收数据包;节点根据数据发送机制发送数据包;在没有数据包接收和发送时,节点根据自己的接收唤醒时间调度表进行周期性的睡眠、唤醒;网络进行数据采集时,根据网络采用的路由协议,网络中所有的数据包都流向汇聚节点;所述数据接收机制,包括以下步骤:步骤11:节点根据初始化建立的接收唤醒时间调度表到达唤醒时间时,查询当前节点状态,如果当前节点处于睡眠状态,则唤醒节点并进入步骤12;若当前节点处于唤醒状态但无数据包需要发送,则直接进入步骤12;如果当前节点处于唤醒状态且有数据包正在发送,则放弃本次接收唤醒机会,等待下次接收唤醒时间调度;步骤12:节点切换至初始化时确立的专属信道,根据自己的接收唤醒时间调度将自己当前的伪随机预测唤醒参数更新到信标帧中,同时根据碰撞检测机制更新信标帧中的碰撞退避值大小;信标帧中相关值更新后,接收节点不作任何侦听和检测立刻广播自己的信标帧,进入步骤13;步骤13:信标帧或者硬件确认帧发送完成后,节点开启碰撞检测机制,根据碰撞检测机制的判定,在信标发送完成后的一段时间内,如果节点接收到数据包,则节点发送硬件确认帧,之后重新进入步骤13;如果节点没有收到数据包并检测到碰撞,则重新进入步骤12;如果节点没有收到数据包并且没有检测到碰撞,则立刻进入睡眠状态等待下次唤醒调度;所述数据接收机制的步骤12中的碰撞检测机制,包括以下步骤:步骤121:接收节点根据当前n的值计算退避值cw,接收节点计算退避值的方法为:cw=2<sup>n</sup>×31其中,n为碰撞检测的次数,n最大不超过3,即cw退避值最大为256毫秒;进入步骤122;步骤122:接收节点根据步骤121得到的退避值cw并更新到信标帧中,信标帧广播发送后,接收节点持续作退避值cw时长的信道状态检测;如果在信道状态检测过程中的收到数据包,则放弃信道状态检测,完成本次接收;如果完成了退避值cw时长的信道状态检测后没有检测到信道忙碌,则节点转入睡眠状态,等待下次接收唤醒调度;如果完成了退避值cw时长的信道状态检测后检测到信道忙碌,则判断当前碰撞检测的次数n值,如果n&lt;3,则将n加1,重新步骤121;如果n不小于3,则放弃本次唤醒接收,节点转入睡眠状态;所述数据发送机制,包括以下步骤:步骤21:当发送节点自身产生数据或者需要转发数据时,根据路由层提供的路由信息,节点查询邻居列表中所有符合条件的节点中最早唤醒的节点作为目的节点并设立发送定时器到目的节点的唤醒时间;当发送定时器到达发送时间时,查询当前节点状态,如果当前节点处于数据接收状态,则放弃本次发送计划,等待数据接收完成后再进入步骤21;否则唤醒节点并切换至目的节点所在信道侦听信标帧;在一段侦听时间内,如果发送节点收到目的节点信标帧,则进入步骤22;否则重新计入步骤21;步骤22:发送节点在目的节点所在信道收到目的节点信标帧后,根据信标帧中的信息更新邻居列表中该目的节点的预测唤醒参数,然后根据转发节点个数的竞争退避算法计算退避发送前的发送的偏补偿时间,等待完发送补偿时间后,发送节点根据接收到的信标帧中的退避值进行退避发送;退避完成后在发送数据包前发送节点需要检测信道状态,如果信道忙碌则继续作随机退避;否则发送数据包,进入步骤23;步骤23:发送完数据包后等待接收节点回复硬件确认帧,如果在等待时间内收到硬件确认帧,则完成本次发送,开启连续发送定时器,进入步骤24;如果在等待时间内收到接收节点信标帧,则进入步骤22;如果在等待时间内既没有收到硬件确认帧也没有收到信标帧,则进入步骤21;步骤24:在连续发送定时器超时前如果发送节点继续有数据包需要发送,则根据最近收到的节点信标帧的信息,进入步骤22;否则节点转入睡眠状态,完成本次发送;所述数据发送机制步骤22中基于转发节点个数的竞争退避算法描述如下:根据路由层提供的路由信息,发送节点查询邻居列表中所有符合条件的邻居节点数,并记录节点尝试发送当前数据包的次数;当尝试发送当前数据包不成功时,当前尝试发送数据包的次数加1,当符合条件的目的节点数大于1且尝试发送当前数据包次数小于等于当前尝试发送数据包的次数时,发送节点在退避发送前等待的补偿时间为最新收到的信标帧中的退避值;当符合条件的目的节点数为1或者尝试发送当前数据包次数大于当前尝试发送数据包的次数时,发送节点在退避发送前等待的补偿时间为0。
地址 214135 江苏省无锡市新区菱湖大道99号