基于智能手机的传感网节点主动式定位方法与流程

文档序号:11961696阅读:399来源:国知局
基于智能手机的传感网节点主动式定位方法与流程

本发明涉及无线传感网技术领域,尤其涉及一种基于智能手机的传感网节点主动式定位方法。



背景技术:

位置信息是传感网应用最为必要的基础数据之一,也是表征感知数据的一个必要属性。节点位置信息是传感网进行一切监测任务的前提,假设没有节点位置信息的支撑,通过传感器采集得到的数据对于用户来说也是毫无意义的。此外,传感网的网络配置、路由效率的提高等相关任务均需要节点位置信息的支持。

目前,无论是在科学研究还是工业生产方面,传感器的节点定位技术都得到了高度重视。在国际范围内,节点定位方法分为两大类:第一,在每一个传感器节点上面安装一个GPS模块,该模块可以准确地确定所在节点的具体坐标信息,但是其因为成本较高,数据包体积较大以及功耗较大,在实际应用中往往没有太大的优势;第二,是通过基于测距(Range-Based)或者基于非测距(Range-Free)等算法来估算传感器节点的位置信息。基于测距的估算算法不需要在每个传感器节点安装GPS模块,但是需要一些特定的硬件设施去测量传感器之间的距离或者角度,往往会给锚节点以及目标节点带来明显的计算负荷。基于非测距的估算算法主要依赖于网络的连通性来判断传感器节点的位置信息,因此,该算法的准确度不是令人很满意,反而会加重整个传感器网络的信息交换压力。人们研究多种算法来估算节点位置信息主要是为了降低安装GPS模块的成本以及降低节点的功耗,但是这些算法的低准确度和高度的复杂度又让它们在实际应用中难以重用。



技术实现要素:

本发明旨在提供一种基于智能手机的传感网节点主动式定位方法,很好的解决上述问题,针对其技术可行性、控制算法、交互通信等进行了研究和设计;该方法在传感器节点定位的成本、功耗、以及定位准确度等方面取得最佳的效果。

本发明的技术方案是一种基于智能手机的传感网节点主动式定位方法,包括步骤:

A.为智能手机外接无线通信模块,组成手持定位器模块,所述无线通信模块负责与智能手机和传感器节点间进行数据通信;

B.将手持定位器模块靠近传感器节点;

C.通过手持定位器模块采集位置信息;

D.确定传感器节点中的目标节点;

E.手持定位器模块向目标节点传输位置信息,目标节点存储位置信息;

F.目标节点向手持定位器模块传输节点信息,手持定位器模块存储节点信息,完成定位。

进一步的,所述步骤A中,智能手机通过OTG连接无线通信模块并进行相互通信。

进一步的,所述步骤C中,若手持定位器模块位于室外,利用GPS或者基站返回的定位数据,完成位置信息的采集,若手持定位器模块位于室内,通过与wifi连接、蓝牙、移动通信基站中的一种或多种方式,获取位置信息。

进一步的,所述步骤D中,通过无线通信模块的广播特性,手持定位器模块向周围多个传感器节点发送定位请求消息,传感器节点接收定位请求消息后向手持定位器模块发送反馈消息,手持定位器模块根据接收到的所述反馈消息的信号强度数值来确定目标节点。

进一步的,所述步骤E中位置信息包括经度、纬度和高度三个数据信息,每个数据信息由一组FF和EE封装,而且分别被分为整数部分和小数部分,所述经度和纬度信息分别采用1个字节来存储数据的整数部分,3个字节用来存储数据的小数部分,而对于高度则采用2个字节来存储数据的整数部分。

进一步的,所述步骤F中,节点信息包含目标节点ID信息、定位类型、节点位置信息及定位时间戳。

进一步的,所述步骤E中,目标节点将接收到的位置信息存储到本地数据库中。

进一步的,所述步骤F中,手持定位器模块将接收到的节点信息存储到智能手机的数据库中。

本发明的有益效果是:本发明基于智能手机的主动式定位方法采用智能手机外接无线通信模块的方式,通过智能手机自带的定位装置对传感器节点进行辅助定位,比起传统的节点定位方法的优势在于它不依赖任何额外的硬件设施,也不需要设计复杂的信息交换,更为突出的是其不需要在传感器节点安装带有GPS模块的硬件设备。因此,基于移动终端的主动式定位方法能够有效地节约传感器宝贵的能耗和带宽,从而可以延长无线传感器节点的生命周期。

附图说明

图1为本发明整体系统架构图;

图2为PMLoc方法任务执行顺序及交互过程示意图;

图3为图2中各命令的解释描述;

图4为本发明位置信息数据格式示意图;

图5为本发明ID信息格式示意图;

图6为本发明传感器节点信号强度与距离实验结果图;

图7为本发明目标节点信息格式示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。

如图1所示,为本发明整体系统架构图,本发明提供了一种基于智能手机的传感网节点主动式定位方法,包括步骤:

A.为智能手机外接无线通信模块,组成手持定位器模块,所述无线通信模块负责与智能手机和传感器节点间进行数据通信;智能手机通过OTG连接无线通信模块并进行相互通信,智能手机、无线通信模块、传感器节点间运行相同的无线通信标准,即智能手机和传感器节点间按照一定协议进行双向数据通信;

B.将手持定位器模块靠近传感器节点;手持定位器模块与传感器节点距离越近,定位越准确;

C.通过手持定位器模块采集位置信息;若手持定位器模块位于室外,利用GPS或者基站返回的定位数据,完成位置信息的采集,若手持定位器模块位于室内,通过与wifi连接、蓝牙、移动通信基站中的一种或多种方式,获取位置信息;

D.确定传感器节点中的目标节点;通过无线通信模块的广播特性,手持定位器模块向周围多个传感器节点发送定位请求消息,传感器节点接收定位请求消息后向手持定位器模块发送反馈消息,手持定位器模块根据接收到的所述反馈消息的信号强度数值来确定目标节点;

E.手持定位器模块向目标节点传输位置信息,目标节点存储位置信息;位置信息包括经度、纬度和高度三个数据信息,每个数据信息由一组FF和EE封装,而且分别被分为整数部分和小数部分,所述经度和纬度信息分别采用1个字节来存储数据的整数部分,3个字节用来存储数据的小数部分,而对于高度则采用2个字节来存储数据的整数部分;目标节点将接收到的位置信息存储到本地数据库中;

F.目标节点向手持定位器模块传输节点信息,手持定位器模块存储节点信息,完成定位;节点信息包含目标节点ID信息、定位类型、节点位置信息及定位时间戳,手持定位器模块将接收到的节点信息存储到智能手机的数据库中。

具体的,基于智能手机的传感网节点主动式定位方法记为PMLoc:Proactive Mobile Locator for wireless sensor nodes,PMLoc主要由两大模块组成,即手持定位器模块Locator和目标节点Target,手持定位器模块可以提供精确的位置信息同时能够控制PMLoc定位的整个过程,目标节点即需要被定位的传感器节点。图1描述了PMLoc的系统架构。在手持定位器定位模块端,一部智能手机通过OTG数据线连接无线通信模块,系统主要控制逻辑单元部署在智能手机中,而无线通信模块主要负责与目标节点进行数据通信。当系统操作员对一个目标节点进行定位时,只需要完成两个连续的操作步骤:首先,将手持定位器模块尽可能地靠近目标节点,然后在智能手机上通过定位向导开启一个定位任务。在整个定位任务完成后,智能手机会在显示屏中给出定位结果的提示信息。整个定位过程通常可以在一秒钟内完成。

图2、3为PMLoc方法任务执行顺序及交互过程示意图及其各命令的解释与描述,描述了PMLoc方法中,智能手机与目标节点间的任务执行顺序以及无线消息的交互过程。智能手机一旦接收到来自操作者的定位任务请求,将会立刻进入“开始定位”准备就绪状态,随后将通过自身内置的GPS模块采集位置信息。当位置信息成功获取,“传送位置”事件将会引发无线通信模块和目标节点之间的一系列数据交换。首先,无线通信模块通过广播的方式向周围的传感器节点发送一个定位请求消息,该消息称为Query,即“询问”周围哪些节点需要提供位置信息。目标节点当接收到Query后,会立即也通过广播的方式发送一个响应消息,称为QueryAck,其目的是让定位无线模块知道该目标节点已经准备就绪。如果无线通信模块确定存在目标节点,则会与该目标节点建立无线链路并将发送一个位置消息,即Location,该消息中包含了手持定位器模块所采样的位置信息,目标节点接收到Location后会立即提取位置信息并存储到本地闪存中并还会返回一则消息至无线通信模块,即LocationAck,这就意味着对这一目标节点的定位成功。最后,无线通信模块还需要通过串行接口向智能手机发送确认消息,让定位操作员在手机显示屏上看到一次定位任务圆满完成的提示。

其中具体的:1.位置数据的获取、传输与存储格式

PMLoc方法允许用户提前配置并确定位置信息的来源。在室外PMLoc主要依赖于全球定位系统或者基站返回的定位数据,而在室内,通过与Wifi连接获取自身位置信息。PMLoc的定位器由手持设备即智能手机和无线通信模块组成,这两个组成部分通过串行端口连接并进行相互通信。采用OTG接口可以解决智能手机与无线通信模块之间的通信问题。在定位器方面,为了实现两个模块之间的正常通信,智能手机和无线通信模块通过OTG连接线相连,分别作为主设备和从设备,与此同时,智能手机可以为无线通信模块充电。

为了实现数据格式的统一,在原始字节的层面编程OTG连接,在相同的波特率下,PMLoc一般采用9600Bd,智能手机和无线通信模块分别采用不同的方式填充和提取字节,本发明位置信息数据格式示意图如图4。事实上,由智能手机发送至无线通信模块的数据包含三个信息,即经度,纬度和高度,每个信息不仅由一组FF和EE所封装,而且分别被分为整数部分和小数部分,目的在于简化数据提取并提高数据提取的可靠性。针对经度和纬度,采用1个字节来存储数据的整数部分,3个字节用来存储数据的小数部分,而对于高度则采用2个字节来存储数据的整数部分。当目标节点完成一次定位,它将会将自身的ID通过无线通信模块反馈至智能手机,所以无线通信模块发送至智能手机的数据仅仅包含目标节点的ID信息,本发明ID信息格式示意图如图5所示。

2.目标节点的自动识别

在实际的定位中,由于无线通信网络的广播特性,监测目标节点的时候,手持定位器模块在发送一个Query消息后,将会接收到周围通信范围内多个传感器节点返回的QueryAck消息,这些传感器节点都是等待定位的节点。这种情况下,进行一对一节点定位时,尽管定位操作员知道真正的目标节点在哪里,但是定位器不知道要为哪个节点传输位置信息,不能确定一个准确点的定位目标节点。因此,在没有定位操作员的辅助操作情况下,PMLoc必须高效且准确地选择一个目标节点。

为了解决这一问题,PMLoc定位方法采用传感器节点发送至定位器的接收信号强度即Received Signal Strength Indicator,RSSI数值来确定一个真正的目标节点。接收信号强度指示器通常被用来评价无线网络应用中的链接质量。通常情况下,信号发送端离信号接收端的距离越近,接收端的信号强度值越高。手持定位器模块根据接收到周围多个待定位节点返回的信号RSSI值来确定真正的目标节点。实验可以说明借助接收信号强度指示器来确定目标节点的可行性,在实现中,分别在森林中和开阔的草地上以不同的距离测试目标节点信号的RSSI值,且对每个距离进行20次测量,本发明传感器节点信号强度与距离实验结果图如图6所示,从图中可以明显看出,随着传感器节点与定位器的距离增加,其RSSI值随之递减,手持定位器模块认为RSSI值的节点是目标节点,进而与其进行消息交互来完成一次定位操作。

3.数据信息存储

在目标节点将接收到的位置信息记录在本地数据库后,还会向手持定位器模块反馈一则LocationAck消息,目的在于提示手持定位器模块本次定位任务已完成。当智能手机接收到来自目标节点的定位成功反馈消息后,需要记录目标节点的相关信息,包括节点的ID编号,定位的类型,节点位置信息及定位的时间戳。这些数据都被存储于智能手机的本地数据库中,本发明目标节点信息格式示意图如图7所示。在定位器端,智能手机负责对所有定位任务所存储的数据进行管理。安卓操作系统的智能手机一般都使用SQLite数据库作为手机日常数据存储的数据库。因此,SQLite数据库通常被用来存储定位任务的相关信息,且数据库中的数据记录与定位任务一一对应,即每次定位都会在智能手机本地数据库中产生一条数据记录。安卓开发工具中SQLiteDatabase类包含很多有关执行数据库的操作码,然而,在PMLoc定位系统中,仅需要两种类型的操作,即Creat和Update。定位操作员若对同一个传感器节点进行两次定位,且该传感器的位置没有改变,那么智能手机将会检查本地数据库,并通过分析比较两次定位的时间戳,更新位置信息。

本发明提出了一种基于智能手机的传感网节点主动式定位方法,针对其技术可行性、控制算法、交互通信等进行了研究和设计;本发明方法在传感器节点定位成本,功耗,以及定位准确度等方面取得最佳的效果。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1