一种面向大规模无线传感器网络的分布式交互方法

文档序号:7768664阅读:316来源:国知局
专利名称:一种面向大规模无线传感器网络的分布式交互方法
技术领域
本发明涉及一种无线传感器网络的调试与测试方法,尤其指大规模部署的无线传 感器网络的调试与测试。本发明属于无线传感器网络,无线通信领域。
背景技术
无线传感器网络就是由部署在监测区域内大量的微型传感器节点通过无线电通 信形成的一个多跳的自组织网络系统,其目的是协作地感知、采集和处理网络覆盖区域里 被检测对象的信息,并发送给观察者。目前,传感器网络作为当前信息科技领域的研究热 点,及物联网关键技术之一,已成各国综合国力较量的重要因素。由于无线传感器网络在物理世界信息采集、环境检测和定位等领域具有良好应用 前景,针对它的开发和研究也越来越热,例如各种针对传感器的路由,定位,以及协同计算 的方法层出不穷。然而,与传统的网络系统相比,传感器网络的单个传感器节点处理能力有 限,并且无人机界面,网络所包含的节点数量巨大,应用环境复杂多变。无线传感器网络的 上述特征为无线传感器网络相关的应用测试与调试设置了障碍,与此同时,也增加了无线 传感器网络相关应用测试与调试的重要性。当前,无线传感器网络的研究人员一般采用软件模拟和小规模节点测试的方法了 解节点内部运行情况。然而,由于无线传感器网络采用无线通信,存在无线信道冲突,干扰, 连接不稳等问题,而节点本身的资源有限,程序处理需要考虑资源限制。这些问题都不是软 件模拟所能解决。对于小规模节点测试,若只布置一跳范围,则节点布置有限,并不能真正 体现应用的真实情况;若布置多跳,则研究人员很难知道一跳以外节点的运行情况。作为无线传感器网络测试与调试关键技术之一的交互技术,由于无线传感器网络 与传统网络的差异,具有自身独特的设计要求。尤其是如何对大规模部署无线传感器网络 中的节点进行有效便捷的交互,并了解其当前运行的状态,以保证其在实际工作中正确运 行,已经成为亟待解决的问题。经检索发现,目前可实现与无线传感网络交互控制的方法主要有。哈佛大学MoteLab系统。MoteLab系统支持多用户通过浏览器与传感器网络进行 交互。用户在web页面注册用户信息,创建与修改测试任务和安装测试日程。系统在用户 指定的测试日程运行无线传感器网络程序,并记录无线传感器网络发送过来的串口信息, 以数据列表的形式供用户查询。但是,由于MoteLab系统无法实时显示传感器网络的信息, 也不能与无线传感器网络进行实时交互,因此缺少时效性;同时该系统不适用于大规模部 署的传感器网络,限制了其应用范围。该系统的交互方法因而具有一定的局限性。申请号为200610144351.5,申请日为2006年12月04日的国内发明专利公开了 一种实现无线传感器网络可视化的方法。该方法通过串口收集无线传感器网络中的通信信 息,并用ActiveX控制显示出来。该方法设计较为简单,虽然能在一定程度上帮助研究人员 了解小规模无线传感器网络运行情况,但由于缺乏对无线传感器网络的交互控制能力,而 且数据显示功能较为简单,仅能提供简单的测试与调试功能,无法帮助研究人员判断数据类型及错误信息等,尤其不适用于大规模无线传感器网络的交互。目前存在的无线传感器网络交互工具或方法如(JTAG仿真器)只能对单个传感器 节点进行交互,同样不适用于大规模的无线传感器网络。

发明内容
本发明所要解决的技术问题的是如何在大规模部署的无线传感器网络中实现不 同品牌不同规格不同操作系统的节点之间的实时有效交互。本发明拟通过以下技术方案解决上述技术问题。本发明设计并实现一种面向大规 模无线传感器网络的分布式交互方法,通过分布式的网络结构,可以有效实现在大规模无 线传感器网络中进行交互,可以实现同时对无线传感器网络中的一个或多个节点输入数据 或控制命令,并接收该网络中一个或多个节点数据,为无线传感器网络的设计部署及测试 调试提供帮助。本发明采用分布式网络结构,实现无线传感器网络的大规模扩展。由于常用的操 作系统限制了直接连接节点数量的上限,因此本发明采用miniPC进行分布式网络部署,通 过miniPC直接连接传感器节点,收集与其连接的大量节点的通信信息与状态信息,经过初 步处理后转发给上一级服务器端接收处理模块。miniPC为一个与多个传感器节点直接连 接的网关,收集与其连接的大量节点的通信信息与状态信息,经过初步处理后转发给上一 级服务器端接收处理模块,随着节点数量的不断增加,可以通过增加更多miniPC的方式对 网络进行大规模扩展。每台miniPC可以以相同的方式连接到中心服务器的接收处理模块。 由于每一个miniPC间的程序都互不干扰,并基于TCP/IP与中心服务器通信。miniPC的增 加或减少不影响交互功能的正常实现。为保障通信数据的准确性,降低为实现交互功能而对实际工作网络造成的影响, 传感器网络节点与miniPC之间建议使用串口作为通信通道实现无线传感器网络交互的功 能。传感器节点统一标准的缺乏造成了当前传感器节点硬件配置各不相同的局面。众 所周知,对于不同节点的有不同的交互处理方式和串口信息收集方法。例如Crossbow公司 的Mica节点会有两个串口端口,分别用于信息发送与程序更新;而TelosB节点只有一个串 口端口,串口的信息收集与程序更新都是通过该端口进行操作。在大规模无线传感器网络 中,出现大量不同版本,不同操作系统节点的几率非常高。本发明具有节点检测功能,在节 点与miniPC连接的瞬间,miniPC自动检测程序启动,检测该接入节点属于什么类型运行什 么操作系统,并为其挑选相应的交互算法,从而实现系统的自适应功能,使交互具有更好的 适用性。在节点接入miniPC后,即可实现对节点进行信息收集和控制管理。在编译程序 前,使用者只需要指定交互的模块,如ADC,UART,编译器就会将交互模块的程序与应用程序 结合并编译成可执行文件。加载该可执行文件的节点即可与miniPC进行交互。研究人员 可以综合考虑交互的便利和节点性能的效率,选择所需要的模块。以往节点与miniPC或者类似设备间的交互方式基于RPCaemote Procedure Call I^otocol)协议。RPC虽然可以跨平台运行,但是这种在传统网络中适用的基于接口定义语 言的PRC协议会给能量有限的节点带来很大的能量负担。因此本专利直接利用串口的原始数据进行解析,减少节点能量负担,延长节点电能适用寿命。在miniPC收集到大量无线传感器网络运行数据后,服务器端会针对大规模无线 传感器网络的特点,进行海量数据处理,例如显示大规模无线传感器网络的详细节点通信 拓扑结构、进行符合大规模特征的交互数据显示。网络通信拓扑结构无论在传统无线网络中,还是新兴的无线传感器网络中都是研 发人员或使用者重点关注的网络运行信息。节点通信拓扑结构是观察无线传感器网络连接 情况的最直观方法之一。通过节点经串口发送出来的通信数据,可以知道,该数据是由哪个节点发出,它的 目标节点是几号,该数据是发送还是接收的以及数据ID号。本专利采用双触发的方式来绘 制节点通信的拓扑结构,即分成发送节点触发与接收节点触发。当发送节点将通信数据经 串口送出后,交互平台立刻被触发并记录下该数据的ID号,并根据通信数据的发送节点ID 及目标节点ID绘制出一条具有方向性的拓扑图。当该数据被其它节点接收到后,交互平台 再次被触发,并根据本数据的ID,将之前已绘制的节点通信拓扑线置于高亮,表明该数据已 被收到。从而显示出具有方向性且能够获悉信息收发结果的通信拓扑结构图。由于大规模传感器网络中包含的节点数量巨大,因此从网络中反馈的信息量也非 常庞大,需要通过筛选分类进行呈现。数据分类显示可以方便使用者进行数据筛选。在数 据显示时,除了完整地显示出节点通信的数据,本发明还可以显示该数据的在通信时的信 号强度,出错信息(如信道忙,无法发送)等信息。通过发送的数据ID和接收到的数据ID, 本发明还可以检测到该数据的接受状态。为了方便比较对照大量数据,本发明采用对用户友好的多窗口显示方式,便于使 用者按照一般习惯进行数据观察。通过上述技术方案实现的面向大规模无线传感器网络的分布式交互方法,可以实 现以下有益效果。(1)本交互方法具有强大扩展能力,采用分布式结构突破了操作系统对节点数量 上限的限制。(2)本交互方法具有普遍兼容性,适用于采用不同类型不同操作系统的大规模无 线传感器网络的交互。(3)本交互方法具有自适应能力,在不需要研究人员重新修改应用程序的情况下, 实现PC与节点间的交互,可以解决大范围大量节点同时接入的设置问题。(4)本交互方法可以采集处理大规模无线传感器网络中的大量数据,例如以详细 的、包含大量信息的通信拓扑图的形式呈现。本交互方法考虑到大规模无线传感器网络的特点,提出分类式多样化的数据显示 与比较方法,可以方便使用者处理海量通信数据。


图1、总体硬件架构图。图2、交互流程图。图3、用户控制层示意图。图4、交互模块示意图。
图5、用户控制流程图。
具体实施例方式以下结合附图对本发明作进一步的说明。如图1所示,实现本发明所述交互方法的软硬件平台应包括节点终端网络层 (Mote Mesh)、数据处理层(Data Processed)、用户控制层(User Control)三大基本部分。节点终端网络层(Mote Mesh)是由大规模部署的无线传感器网络节点与miniPC 组成的。传感器网络是一个对等网络,网内的节点是通过分布式来部署,各节点彼此通过多 跳算法来通信。节点可以随时加入或离开网络,任何节点的故障不会影响交互系统的运行。 节点运行的程序包含用户应用程序和节点交互模块程序,节点交互模块程序是用于获取节 点内部变量和通信数据等信息,并提供内部程序调用接口的程序,它具有较好的移植性,可 以运行在不同品牌的节点和操作系统上。miniPC可以看作一个网关,它一边通过USB或51Pins等连接方式以星型结构跟传 感器节点相连,一边通过以太网或无线局域网连接数据处理层。miniPC通过节点接口模块 可以获取节点内部变量及通信数据等信息,并将这信息通过网络传输到数据处理层,供用 户控制层查看与调用。数据处理层(Data Processed)包括数据库服务器、交互程序服务器和实时通信 服务器三大部分。实时通信服务器与miniPC通过以太网或无线局域网相连接,采用TCP/ IP进行通信。由于节点数量较大,传感器网络每分钟产生的数据量往往超过数十兆,乃至 上百兆。为提高交互系统的实时性,减少系统响应时间,追求更好的用户体验,实时通信服 务器可由多台服务器组成一个网络负载平衡(NLB)群集,并实时侦听来自miniPC的端口数 据。实时通信服务器收到节点信息后,根据交互程序服务器的指令,会把数据直接转发给交 互程序服务器或数据库服务器。数据库服务器主要负责将节点信息存储在数据库集群中, 以便研究人员做数据挖掘,数据库仓库等数据处理。此外,数据库服务器还可以根据用户指 定规划对数据进行筛选,融合和智能分析,如根据节点通信数据中的源节点和目标节点分 析出传感器网络中的节点多跳轨迹。交互程序服务器作为数据层与用户控制层通信的唯一 接口,一方面需要验证用户的操作权限有效性,另一方面需要将感兴趣的实时数据或历史 数据通过TCP/IP发送给远程用户。用户控制层(User Control)具有人机交互功能,逻辑上可以划分为服务层与显示 层。服务层负责与交互程序服务器通信,对实时或历史数据进行收集,分析,处理,并响应显 示层发出的控制命令,同时通过命令方式控制采样模块实现采集、停止、上传节点程序等功 能。显示层显示数据分析结果,能够实现节点连接路径图绘制,显示网络运行状态图,历史 数据查看,节点动态配置,以及发送控制命令和上传节点程序等操作。提供输出文件,方便 用户进行离线调试和分析。下面结合图2,说明为实现面向大规模无线传感器网络的分布式交互方法所采用 的具体流程如下。步骤201,将传感器网络中的节点以星形结构连接到miniPC上,确保每台miniPC 在无线局域网的通信范围之内,或者通过有线形式接入以太网。打开用户控制客户端,搜索 当前局域网中的miniPC并与其进行相连。
步骤202,监听新连接的节点。无线传感器网络是一个动态性很强的网络。网络随 时有新的节点加入或离开。及时处理节点加入或离开事件是保证数据完整性和系统稳定性 的关键技术之一。步骤202采用中断的方式处理节点的加入与退出问题。当节点连接或退 出miniPC时,miniPC就会触发中断并进入相应的中断服务程序。步骤203,轮流查循节点连接端口并生成一个交互系统启动时的节点列表。列表是 以数组的形式保存在内存中。步骤204,作为步骤202的中断服务程序,是在交互系统启动时创建并永驻内存的 程序。当节点连接进来的时候,本步骤为节点创造一块内存空间和一个线程。内存空间主 要用于记录节点的生产商信息和产品ID等信息。同时,当节点断开连接时,中断服务程序 就会杀死为本节点创建的线程和销毁其内存。步骤205,主要实时维护一份完整的当前节点列表和收集全部节点信息。根据步 骤203生成的初始化节点列表和步骤204发过来的节点加入或退出信息,步骤205可以依 次往初始化节点列表里添加或删除节点信息,从而实时维护一份的当前节点列表。另外,本 步骤还查询节点信息并记录在步骤204所分配的内存空间里。步骤206,通过步骤205获取节点生产商信息和产品ID等信息来判断是否支持该 节点的交互功能。所有能被支持的节点都以特定格式保存在节点通信程序XML文件里,通 过查询XML文件是否包含该生产商信息和产品ID的信息,就可以知道是否支持该节点的交 互功能。步骤207,节点通信程序可看作节点接口的上层驱动,交互程序通过管道方式动作 节点通信程序,可以通过节点通信程序发送信息到节点中,也可以接受来自节点的信息。节 点通信程序独立于节点交互程序的通信协议,它只提供简单的通信访问媒介,可以用任意 的语言实现。添加节点的通信程序只需要编译好该程序,并将该程序位置及名称按照步骤 206能够识别的格式登记在节点通信程序XML文件中。步骤208,选择需要交互的模块,通过选定的交互模块(如UART,ADC等),交互系统 能够收集通过该节点模块发出或收到的信息,也可以向该模块注入数据,使节点能收到和 发送指定格式的数据。步骤209,用户不需要修改应用程序,交互系统能将选定的节点交互模块与用户应 用程序编译成16进制文件,并烧写入节点中。烧写完的节点直接可以跟交互系统进行交互。步骤210,具有交互模块的节点会以图形化的形式显示出来。用户可以形象地观察 当前节点分布情况,运行状态等信息。用户也可以通过鼠标轻易地对节点进行监视,控制等 操作。步骤211,设置节点显示信息,包括设置节点不同状态时的颜色,不同类型通信数 据的显示方式。步骤212,节点位置的调整可以直接人工输入坐标来设置,也可以通过鼠标拉动来 调整,还可以设置交互模块,让节点根据定位算法计算出的坐标自动调整自己的位置。步骤213,通过设置节点位置背景图有利于用户更直观了解无线传感器网络通信 拓扑图。步骤214,通过节点通信程序收集从节点传输过来的交互模块信息,以多窗口的形式显示出来。用户可以向节点交互模块注入数据,方便用户进行程序调试。如在火灾的监 控网络中,向某节点注入高温数据,可以仿真出发生火灾的情况,方便用户检验算法的有效 性。用户控制层是基于.NET Frameworks所开发的前端控制软件,提供了友好的人机 交互界面,同时采用服务器/客户端模式,使平台构成一个分布式系统,方便研究人员测试 使用。如图3所示,用户控制层主要分为二大部分对传感器网络节点的控制、传感器通信 和内部数据的实时采集及显示。它提供了。1)对连入交互系统的传感器节点进行自动识别,以树形列表的形式对节点进行管 理,监控节点的运行状态。2)以二维平面图的方式显示传感器实验的环境,通过坐标调整节点具体位置,同 时可以调整节点的显示大小。3)提供多用户接入,对系统的用户进行权限管理和认证。丰富的状态提示信息,动 态邮件提醒,使研究人员对系统的运行状态直观地了解和及时地掌握。4)丰富的传感器交互数据实时采集和显示,可以对某个或者多个传感器节点进行 交互数据的实时采集,并将用户晦涩难懂的十六进制数据直观得显示出来,如来自通信交 互模块的数据可以解释出时间,包序列,源ID,目的ID,数据包类型,是否发送成功以及所 负载的用户数据等等。5)以列表的形式对节点的数据包进行显示,并用不同颜色区分数据包的类型。如 果是通信数据,通过对数据包的分析,绘制出数据在传感器节点之间的通信路径,以实时观 察传感器网络的通信拓扑结构。如图4所示,节点交互模块是基于操作系统的网络接口程序,主要用于与miniPC 进行交互。用户使用本发明时,只要将应用程序与具有接口模块的操作系统联接编译,就可 以生成具有可交互功能的执行程序,而无需要修改自身程序。如图5所示,节点交互模块包括数据接口与命令接口。节点往外围接口发送数据 后,也将数据以特定格式往miniPC转发,miniPC通过侦听接口,就可获取节点通信数据。命 令接口用于采集模块与节点进行交互,如设置节点无线发射能量、获取节点信息等。节点接 口模块设计只占用少量CPU周期执行指令,不影响主程序运行。
权利要求
1.一种面向大规模无线传感器网络的分布式交互方法,其特征是该方法采用高度可 扩展分布式网络结构的方式,可同时为大规模、无规律部署的无线传感器网络提供让用户 访问及控制网络节点的自定义接口,通过该接口,用户可以直接观察节点的实时内部数据、 通信信息,也可以在节点运行时改变其内部数据,或使其执行所特定的命令。
2.根据权利要求1所述的面向大规模无线传感器网络的分布式交互方法,其特征是 采用miniPC网关进行分布式网络部署,实现高度可扩展的分布式网络结构。
3.根据权利要求2所述的面向大规模无线传感器网络的分布式交互方法,其特征是 miniPC为一个与多个传感器节点直接连接的网关,收集与其连接的大量节点的通信信息与 状态信息,经过初步处理后转发给上一级服务器端接收处理模块,随着节点数量的不断增 加,可以通过增加更多miniPC的方式对网络进行大规模扩展。
4.根据权利要求1所述的面向大规模无线传感器网络的分布式交互方法,其特征是 可同时为大规模、无规律部署的无线传感器网络提供让用户访问及控制网络节点的自定义 接口,所述的同时指在同一时刻中,支持对一个或多个节点的数据监测与控制;所述的无规 律部署指本方法不要求传感器网络中的节点按特定拓扑结构部署。
5.根据权利要求4所述的面向大规模无线传感器网络的分布式交互方法,其特征是 所述的节点不限定特定节点,即针对现有的节点,提供了多种软、硬件接口,并采用了节点 识别方法,检测该接入节点属于什么类型运行什么操作系统,为不同类型节点自动选择匹 配的节点交互算法,从而不限定所需交互节点的类型。
6.根据权利要求5所述的面向大规模无线传感器网络的分布式交互方法,其特征是 所述的交互算法不用PRC协议,而直接采用原始十六进制数据进行通信,交互算法不需要 用户程序做任何改变;所述的交互算法基本不影响用户程序的执行逻辑。
7.根据权利要求1所述的面向大规模无线传感器网络的分布式交互方法,其特征是 所述的交互接口不是固定不变的,它允许用户根据应用情景选择特定的交互接口,用户只 需要在编译用户代码前,指定所需要交互的模块,就可编译出具有交互接口的用户程序。
8.根据权利要求1所述的面向大规模无线传感器网络的分布式交互方法,其特征在 于,所述的用户可以直接观察节点的内部数据、通信信息包括显示节点的内部电压信息、 节点用户程序中数据结构的值、节点与节点通信的数据及状况。
9.根据权利要求8所述的面向大规模无线传感器网络的分布式交互方法,其特征在 于,所述的显示节点与节点通信的数据及状况,是通过解析节点经串口发送出来的通信数 据,获得该数据是由哪个节点发出,它的目标节点是几号,该数据是发送还是接收的以及数 据ID号等信息后,完整显示节点通信数据,并包括且不限于,解析出节点通信协议栈中各 层数据,数据的在通信时的信号强度,出错信息。
10.根据权利要求1所述的面向大规模无线传感器网络的分布式交互方法,其特征在 于,所述节点运行时改变其内部数据,及使其执行所特定的命令的方法,是通过节点中运行 的交互程序来完成的,该交互程序是基于事件触发来启动的,在没有控制操作情况下,除了 占用节点小部分的代码空间以外,不占用节点处理器的时钟周期。
全文摘要
本发明公布了一种面向大规模无线传感器网络的分布式交互方法,该方法采用高度可扩展分布式网络结构的方式,可同时为大规模、无规律部署的无线传感器网络提供让用户访问及控制网络节点的自定义接口,可以在同一时刻中,支持对一个或多个节点的数据监测与控制,并且不要求传感器网络中的节点按特定拓扑结构部署。采用节点识别方式对接入节点进行自动识别,并为其选择合适的交互算法,通过该接口,用户可以直接观察节点的实时内部数据、通信信息,包括节点的内部电压信息、节点用户程序中数据结构的值、节点与节点通信的数据及状况;也可以在节点运行时改变其内部数据,或使其执行所特定的命令。
文档编号H04W24/08GK102111796SQ20101058720
公开日2011年6月29日 申请日期2010年12月14日 优先权日2010年12月14日
发明者倪明选, 刘云淮, 沈钟, 高民, 黄才炎 申请人:广州市香港科大霍英东研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1