无线传感器网状网络系统构建方法论文
无线传感器网状网络系统构建方法论文
引言
无线传感器网络作为一种测控网络,投资成本低、体积小、性价比高,以监测物理世界为主要目标,专注于从外界获取有效信息[1]。但是感知节点有限的硬件资源使得能量、计算、存储及通信能力也大大受限[2-3]。而网络拓扑的多变性和网络环境状况以及外在环境又要求无线传感器网络具有自组织的能力,能够自动组网运行、自行配置维护以及适时转发监测数据[4]。因此为了实现数据的融合和通信的可靠传输,整个无线传感器网络的建立和维护至关重要。在网络拓扑结构中,网状拓扑结构可靠性高,故障修复能力强,结构可灵活多变,特别适用于随机布置,需要随机构建无线网络的场合。但是相对其他网络拓扑结构,网状网络系统的建立和管理更为复杂[5],路由算法也更为复杂。现针对传感器网络周期工作采集环境数据信息的特点,提出一种无线传感器网状网络的建立和管理的方案。各节点依据随机形成的拓扑结构和通信环境来构建网络,最终在通信连通域(指一片区域内节点的集合,且其中任意两个节点能够直接或多跳的方式进行通信)内形成一个整体的网络系统。其中将网络的部分维护工作和应用功能相结合,从而达到减少网络管理上和路由更新的开销,简化网络维护工作的目的。
1问题分析
1.1上电过程中问题
1)当一个节点上电开始工作时,先确定是否为第一个上电节点或者周围可通信范围内有无其他已上电的感知节点,若无则此节点应该自己确定一系列网络参数,建立一个网络系统。否则说明已经存在其他网络,则此节点应该申请加入现有网络。
2)当有网络时可能存在多个网络的情况(如图1所示),此时节点不仅需要申请加入优先级高的网络,同时还需要告知优先级低的网络的节点更改网络参数,加入到高优先级的网络,合并成一个整体无线网络系统。
3)若多个节点同时上电且没有可用网络,则这些节点完成网络初始化配置后也应该处于同一网络中,而不是各自建立不同网络。
1.2周期工作过程中的问题
1)新一轮周期开始时,很可能存在新的节点加入或者某些节点故障而丢失(如图2所示),此时通信环境已经发生变化,对某些通信链路已经造成影响,因此路由表需要做出相应调整。
2)系统工作中受外界环境影响,节点间可能受障碍物遮挡,原本连通的链路失效了,此时路由表也应该相应进行维护,发现新的可行路由(如图3所示)。
3)多个无线网络在一开始可能处于不同的通信连通域,但环境改变后处于同一通信域里面了,也应该合并成一个大的网络,从而能够收集汇聚更大的地理区域的环境信息。
2上电启动过程
1)节点上电后,首先完成硬件的初始化,包括配置各个接口,以及给GPS模块发送初始控制命令等。
2)硬件初始化完成后,从flash芯片里读取启动方式(CPU的非易失性存储flash保存上次工作时的状态信息),确定此次上电是全新上电模式还是继续工作模式。全新上电是指节点开始进行新的感知测量任务。继续工作模式是指节点已经有某个感知任务,由于故障等原因需要重新上电,此时节点需要继续之前的工作任务。全新上电的节点需要对当前网络环境进行扫描,获取最新网络信息,做出相应的反应。继续工作模式的节点则需要恢复故障前的工作状态,并尝试与其他节点恢复通信。全新上电模式启动过程可分为以下几步:
a.获取GPS定位信息。无线传感器网络具有周期采集信息,在完成此次应用任务后通过休眠的方式来节省能量的.特点。当一个节点上电时,其他节点可能处于休眠状态,为了能与其它节点同步通信,先需要在周期上保持同步,可以从GPS模块的输出信息中提取当前时间。
b.休眠。获取GPS时间后节点进入休眠态,直至与其他节点同时唤醒,以此保持周期上的同步。
c.扫描网络。节点唤醒后由离线状态(未加入任何网络)进入扫描状态(扫描周围网络),若节点在达到超时时间Ttime-out时还没有检测到可用的网络,则进入建立网络状态,自己创建一个新的网络。其中Ttime-out是关于节点地址n的单调递增的函数,多节点同时上电时地址最低的节点最先进入建立网络状态。当一个节点建立网络后,就可被其他节点扫描并申请加入网络。从而防止多个节点建立多个网络。
d.若扫描到可用的网络(可能存在多个可用网络),则选定优先级高的为目标网络(规则可拟定),同时给处于低优先级网络的节点发送信息通知改变他们的网络配置,用以将多个网络合并成一个大的网络。
e.然后此节点转入寻求入网状态,申请加入网络,若加入成功,则获取网络信息并存入flash存储起来,然后开始周期工作。
f.若加入网络失败(如地址冲突),则节点自己单独周期工作,避免影响已经工作的网络系统。
g.若没有扫描到可用的网络,则节点根据自己的地址信息确定网络信道、网络ID等参数,建立一个新的网络,开始周期工作,并且管理此网络,接收其他节点的申请。
继续工作模式启动过程可分为以下几步:
a.从flash芯片读取之前的工作状态和网络信息,包括网络信道、网络ID、节点数据存储情况、路由表信息等。根据这些信息恢复寄存器信息,将节点配置成断电前的工作状态。
b.获取GPS信息,获得当前时间,并休眠至下一个唤醒时间点,保持工作周期的同步。c.尝试与其他节点建立通信。在整体网络不出现故障的情况下,此故障节点可完全恢复所有功能,继续周期地工作。
3周期工作过程
合理的周期工作过程不仅可以保证应用任务的良好完成,同时也能保证系统的稳定运行,周期工作过程可分为以下几个步骤:
1)唤醒。节点唤醒后先等待一段时间,用来完全恢复各个模块功能,同时也给新上电的节点扫描网络信息。
2)应用任务。接下来可以根据不同的应用,执行用户所需的任务。例如采集外部温湿度环境,由GPS模块获取位置信息,无线通信进行数据的融合等。
3)网络维护。在无线网络运行中,受环境、节点位置等因素影响,通信链路可能中断,也可能出现新的链路,因此需要不停地检查网络,根据最新的网络状态更新路由路径、节点数量等等网络信息。网络维护是保证整个网络实时更新、检查排除网络错误、更新路由表的关键步骤。网络维护的方法分为以下几步:
a.各个节点按地址先后顺序,扫描所有信道,确定当前周围网络情况。当一个节点扫描时,其他节点可根据接收到的扫描信息帧来确定哪些节点可与自己直接通信(即不需多跳来交互数据),为更新路由做准备。
b.若发现新的网络则先判断哪个网络优先级更高,然后通知低级别网络中的所有节点更改网络配置,合并入优先级高的网络形成一个大的网络。
c.根据之前记载下来的直接通信信息,更新自己的链路情况,并广播自己链路信息。d.根据所有节点的链路情况可计算出最新的路由表,例如根据迪杰斯特拉提出的最短路径算法计算最短路径路由协议。
4)休眠。节点周期性的休眠可以大大降低功耗,若有不定时长的或实时性要求不高的用户任务也可在这段时间执行,执行完后再休眠。
4结论
笔者使用TI公司的CC2530无线收发芯片为核心搭建硬件平台,以zigbee无线通讯方式,编程实现了上述上电启动过程和周期工作过程,实验表明上述方法能使多节点在随机拓扑结构和随机上电顺序的情况下,最终加入同一网络。运行中出现链路问题时路由表和其它网络信息也能及时得到维护。节点故障修复后也能通过保存的网络信息恢复至之前工作状态。整个无线系统具有良好的稳定性。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除