CN110519683A - 基于Wi-Fi P2P技术的群体位置共享方法 - Google Patents
基于Wi-Fi P2P技术的群体位置共享方法 Download PDFInfo
- Publication number
- CN110519683A CN110519683A CN201910686453.7A CN201910686453A CN110519683A CN 110519683 A CN110519683 A CN 110519683A CN 201910686453 A CN201910686453 A CN 201910686453A CN 110519683 A CN110519683 A CN 110519683A
- Authority
- CN
- China
- Prior art keywords
- group
- equipment
- information
- record
- udp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/90—Services for handling of emergency or hazardous situations, e.g. earthquake and tsunami warning systems [ETWS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/40—Connection management for selective distribution or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Emergency Management (AREA)
- Environmental & Geological Engineering (AREA)
- Public Health (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种基于Wi‑Fi P2P技术的群体位置共享方法。在运营商蜂窝网络受损或微弱的场景下,移动设备之间无法通过互联网进行通信,传统的基于移动互联网的位置共享方法失效。本发明旨在利用Wi‑Fi P2P网络技术,让局域内的智能移动设备在不依赖任何基站的情况下,通过一系列的协议流程,形成Wi‑Fi P2P信息共享组群,传输共享位置信息,并将组群中所有成员的位置予以显示。本发明以智能手机为主要运行平台,使用门槛低,部署迅速,为自然灾害后的现场以及野外探险人员提供便捷可靠的无线局域群体位置共享手段。
Description
技术领域
本发明涉及基于Wi-Fi P2P技术的一种组群位置共享模式,属于无线通信技术领域。
背景技术
Android操作系统是由谷歌公司研发并维护的开源移动操作系统,主要用于智能手机等便携设备。Android操作系统与智能手机共同发展壮大,并在与众多移动操作系统的竞争中脱颖而出,如今成为全球第一大智能手机操作系统,截至2019年5月全球运行Android系统的设备数量已超25亿。运行Android操作系统的智能终端,大部分集成了2G/3G/4G通讯模块和Wi-Fi、GPS模块等,功能丰富。Android操作系统有着良好的开发环境和丰富的API,为开发人员提供了极大便利。
现有的技术条件下,若通信基站一切良好,Android智能手机的使用者可以通过运行商网络连接到互联网,并通过微信等即时通信软件发送位置信息,实现群体的位置共享。
然而在灾害破坏了通信基站,或者野外没有运营商基站的情况下,这个小区域内的用户无法通过手机连接到互联网,也就无法共享位置信息。在这种情况下往往又存在着群体位置共享的需求:在灾害现场确定需要受困人员位置,野外驴友需要保持队形等。
尽管专业救援人员持有专业的应急通讯设备,如卫星通讯系统、分米波通讯系统等,但是这些系统使用成本高,普通群众难以普及。
发明内容
发明目的:
本发明目的在于解决蜂窝网络损坏或缺失的环境中,群体位置共享的问题。为灾害现场的群众位置快速确定,和野外场景的驴友队形保持等需求提供解决方案。
本发明利用Android手机自带的Wi-Fi Direct功能,即Wi-Fi Ad-hoc连接模式,为局域范围内的群体共享提供了一种新的选择。这种模式下,设备可以在没有热点的情况下,直接点到点连接,多设备相连可以形成一个自组织网络,所有设备构成一个WLAN P2P组群,从而有了共享位置信息的基础。同时,本发明利用Android手机自带的GPS模块,可以与通信模块是独立的,可以在没有运营商网络的时候与卫星通讯,确定自身的经纬度。
技术方案:
本发明借助Android对Wi-Fi P2P功能的支持,设计了五层的架构,如附图2所示。分别为:Android系统服务层、wifip2p连接控制层、数据传输控制层、业务逻辑层、视图层。其中:Android系统服务层为Wi-Fi P2P提供系统API。Wi-Fi P2P连接控制层通过调用系统服务管理P2P连接。数据传输控制层负责使用TCP和UDP协议,进行数据发送和接收。业务逻辑层负责自动或者/和根据用户操作进行下层的控制。视图层负责地图显示和操作界面。本发明旨在利用Wi-Fi P2P网络技术,让局域内的智能移动设备在不依赖任何基站的情况下,通过一系列的协议流程,形成Wi-Fi P2P信息共享组群,传输共享位置信息,并将组群中所有成员的位置予以显示。
一种基于Wi-Fi P2P技术的群体位置共享方法,具体包括如下步骤:
步骤1.相关定义
步骤2.Wi-Fi P2P信息共享组群的建立方案
步骤2.1系统初始化;
步骤2.2 Wi-Fi P2P连接控制,形成Wi-Fi P2P组群;
步骤2.3通过信息共享组群的网络参数维护方法维护参数,形成Wi-Fi P2P信息共享组群;
步骤3.信息共享组群的网络参数维护方法
步骤3.1 Wi-Fi P2P信息共享组群成员信息表;
步骤3.2广播汇报自身网络参数;
步骤3.3接收其它成员的广播包,维护Wi-Fi P2P信息共享组群成员信息表;
步骤4.组群成员位置共享方法
步骤4.1通过GPS或其它定位模块确定本机位置信息;
步骤4.2广播汇报本机位置;
步骤4.3接收其它群成员的位置,维护共享成员位置表;
步骤4.4成员位置可视化。
所述相关定义,包括步骤:
本发明基于Wi-Fi P2P技术的群体位置共享方法需要用到的主要英文词语,具体含义如表1所示。
为了描述基于Wi-Fi P2P技术的群体位置共享方法,本发明将对一些专有名词进行阐述和定义,具体定义如下:
定义1 Wi-Fi P2P组群:
Wi-Fi P2P是Wi-Fi联盟推测出的一项重要技术规范,商品名为Wi-Fi Direct,它支持多个Wi-Fi设备在没有AP的情况下相互连接。参与组件Wi-Fi P2P Network的设备将形成一个P2P Group,即Wi-Fi P2P组群。P2P Group中的设备有两种角色,第一种为P2PClient,第二种为P2P Group Owner。基于Wi-Fi P2P技术规范建立的Wi-Fi P2P组群,其特征为组群中的设备至少与一个同组设备间建立了直接无线连接,即存在无线链路。然而基于Wi-Fi技术规范建立的这个组群,仅提供了网络接口层和网络层的基础支持,组群中的一个成员并不知道其它设备的IP地址,也没有部署传输层协议提供高层的数据传输支持,不能直接用于组群位置信息等数据的群发,所以需要提出定义2中的Wi-Fi P2P信息共享组群。
定义2 Wi-Fi P2P信息共享组群:
Wi-Fi P2P信息共享组群是指,在Wi-Fi P2P组群的基础上,通过信息共享组群的网络参数维护方法,分布式地同步各个设备的组群设备网络信息列表,使每个设备都获取其它组群成员的网络参数,如IP地址、传输层端口号等。其特征为,组群中的设备可以有选择地向任意一台组群内其它设备发送传输层及传输层以上层次的数据。
定义3信息共享组群网络参数:
信息共享组群网络参数,包括Wi-Fi P2P信息共享组群中所有成员各自网络参数的集合和Wi-Fi P2P信息共享组群的一些属性。其中,所有成员各自网络参数包括设备的P2P Device Address、P2P Interface Address、IP Address、用于组群信息共享的传输层端口号、设备名等。其中,Wi-Fi P2P信息共享组群的一些属性包括被选为P2P Group Owner的设备信息、组群成员数等。
步骤2.Wi-Fi P2P信息共享组群的建立方案,包括步骤:
S2.1系统初始化
S2.1.1,初始化定位服务,需要设备打开定位开关,授予应用程序定位权限,然后启动Android系统提供的定位服务。应用程序需要注册广播接收器(BroadcastReceiver),接收定位服务发送的位置广播,从中读取位置信息。位置广播的发送可以设置为周期性的,也可以将移动幅度作为触发条件。
S2.1.2,初始化网络服务,设备首先需要打开Wi-Fi开关,授予应用程序与Wi-Fi和网络相关的权限。应用程序启动TCP、UDP监听线程,并绑定一个端口用于组群内的共享信息的传输。
S2.2,Wi-Fi P2P连接控制,形成Wi-Fi P2P组群
通过Android系统中用于控制WifiP2pService的工具类WifiP2pManager,配合一个BroadcastReceiver,完成Wi-Fi P2P Group的创建。流程如下(如图5所示):
S2.2.1,设备通过WifiP2pManager将应用程序注册到Android系统的Wi-Fiframework;
S 2.2.2,设备设置BroadcastReceiver的过滤规则,接收与Wi-Fi P2P相关的广播;
S2.2.3,通过WifiP2pManager控制设备扫描周边P2P节点;
S2.2.4,创建Wi-Fi P2P组群或加入Wi-Fi P2P组群,连接到一台Wi-Fi P2P设备。由此将多个Wi-Fi P2P设备连接到一个Wi-Fi P2P组群中。
S2.3,通过信息共享组群的网络参数维护方法维护参数,形成Wi-Fi P2P信息共享组群。
步骤3.同步Wi-Fi P2P信息共享组群成员信息,维护信息共享组群的网络参数,包括步骤:
S3.1,Wi-Fi P2P信息共享组群成员信息表
每台设备建立一张Wi-Fi P2P信息共享组群成员信息表,表项为组群成员(设备)的网络参数,网络参数的类型在附表2中列出。
S3.2,广播汇报自身网络参数
S3.2.1,每个加入Wi-Fi P2P组群的设备会被分配一个IP地址。设备将本机的P2PDevice Address、P2P Interface Address、IP Address、用于组群信息共享的传输层端口号、设备名等网络参数,构造UDP数据包;
S3.2.2,通过UDP广播协议将S3.2.1数据包发送给其它所有群成员。为了防止网络延迟带来的新内容的UDP包早于旧内容的UDP包到来的情况,需要在UDP包中添加时间戳。
S3.3,接收其它成员的广播包,以维护Wi-Fi P2P信息共享组群成员信息表;具体步骤如图6所示。
S3.3.1,每个成员的UDP监听线程接收UDP广播包;
S3.3.2,从UDP广播包中提取网络参数,以设备名或设备硬件标识为主键,在Wi-FiP2P信息共享组群成员信息表中查找是否有该设备的记录;
S3.3.3,若有记录,并且该记录的时间戳早于本次UDP广播包的时间戳,则更新这条记录;若有记录,但该记录的时间戳晚于本次UDP广播包的时间戳,则不做更新;若没有记录,则插入新记录。
步骤4,所述组群成员位置共享方法(如图7所示),包括步骤:
S4.1,通过GPS或其它定位模块确定本机位置信息
通过GPS或其它定位模块确定本机位置信息,是基于步骤2中初始化的位置服务、动态获取本机的位置信息。
S4.2,广播汇报本机位置
设备的位置服务会定期或者在设备位置发生变化时,向应用程序通告新的位置信息。应用程序构造UDP广播包,目的地址设为内网广播地址,数据部分为本机的设备名、硬件标识符、位置信息和时间戳。
S4.3,接收其它群成员的位置,维护共享成员位置表(流程如图8所示)
S4.3.1,为了实现群成员的位置共享,需要各个成员拥有一份成员位置表,并动态地维护表中数据确保各成员的成员位置表副本内容一致。成员位置表中的表项为以Wi-FiP2P信息共享组群设备的设备名或硬件标识为主键的成员(设备)位置记录;
S4.3.2,网络服务中的UDP监听线程接收其它成员发送的位置汇报UDP广播包,解析其中的内容;
S4.3.3,根据设备名或硬件标识为主键在成员位置表中查询有无记录。若有记录,并且该记录的时间戳早于本次UDP广播包的时间戳,则更新这条记录;若有记录,但该记录的时间戳晚于本次UDP广播包的时间戳,则不做更新;若没有记录,则插入新记录。
S4.4,成员位置可视化
根据成员位置表中的记录,提取经纬度数据,在视图层使用视图控件以图标的形式绘制所有成员的位置,实现成员位置可视化。
有益效果:
本发明以智能手机为主要运行平台,使用门槛低,部署迅速,为自然灾害后的现场以及野外探险人员提供便捷可靠的无线局域群体位置共享手段。
与传统的基于互联网的群体位置共享方法相比,本发明更适用于没有运营商网络的场景,能够让局域内的智能手机临时快速形成一个自组织网络进行位置信息的共享与显示。本发明使用智能手机的Wi-Fi P2P模块作为通信的基础,降低了使用成本,普及更为容易。本发明具有自组织的特点,无需预先架设无线通讯基础设施与核心交换设备,可以实现快速部署。本发明对于灾害应急提高受困群众的生还率、野外场景确保驴友的安全具有重要意义。
附表说明
表1本发明中的英文名词说明
表2 Wi-Fi P2P信息共享组群网络参数的说明
附图说明
图1 Wi-Fi P2P信息共享组群建立的过程
图2系统层次图
图3 Android系统上的系统实现模块图
图4为本发明方法流程图
图5步骤S2.2中,形成Wi-Fi P2P组群流程示意图
图6步骤S3.3中,维护Wi-Fi P2P信息共享组群成员信息表流程示意图
图7步骤4中,组群成员位置共享方法流程示意图
图8步骤S4.3,维护共享成员位置表流程示意图
具体实施方式
本发明的具体实施过程如图1所示,包括如下4个方面:
①相关定义
②Wi-Fi P2P信息共享组群的建立方案
③信息共享组群的网络参数维护方法
④组群成员位置共享方法
①
相关定义
为了更易理解本发明公开的基于Wi-Fi P2P的组群位置共享方法,说明书将对一些专有名词进行阐述和定义。包括Wi-Fi P2P组群、Wi-Fi P2P信息共享组群、信息共享组群网络参数等,下面详细说明。
定义1 Wi-Fi P2P组群:Wi-Fi P2P是Wi-Fi联盟推测出的一项重要技术规范,商品名为Wi-Fi Direct,它支持多个Wi-Fi设备在没有AP的情况下相互连接。参与组件Wi-FiP2P Network的设备将形成一个P2P Group,即Wi-Fi P2P组群。P2P Group中的设备有两种角色,第一种为P2P Client,第二种为P2P Group Owner。基于Wi-Fi P2P技术规范建立的Wi-Fi P2P组群,其特征为组群中的设备至少与一个同组设备间建立了直接无线连接,即存在无线链路。然而基于Wi-Fi技术规范建立的这个组群,仅提供了网络接口层和网络层的基础支持,组群中的一个成员并不知道其它设备的IP地址,也没有部署传输层协议提供高层的数据传输支持,不能直接用于组群位置信息等数据的群发,所以需要提出定义二中的Wi-Fi P2P信息共享组群。
定义2 Wi-Fi P2P信息共享组群:Wi-Fi P2P信息共享组群是指,在Wi-Fi P2P组群的基础上,通过信息共享组群的网络参数维护方法,分布式地同步各个设备的组群设备网络信息列表,使每个设备都获取其它组群成员的网络参数,如IP地址、传输层端口号等。其特征为,组群中的设备可以有选择地向任意一台组群内其它设备发送传输层及传输层以上层次的数据。
定义3信息共享组群网络参数:信息共享组群网络参数,包括Wi-Fi P2P信息共享组群中所有成员各自网络参数的集合和Wi-Fi P2P信息共享组群的一些属性。其中,所有成员各自网络参数包括设备的P2P Device Address、P2P Interface Address、IP Address、用于组群信息共享的传输层端口号、设备名等。其中,Wi-Fi P2P信息共享组群的一些属性包括被选为P2P Group Owner的设备信息、组群成员数等。
②
Wi-Fi
p2p信息共享组群的建立方案
Wi-Fi P2P信息共享组群的建立,其过程如附图1,包括的步骤有
(1)系统初始化
想要加入Wi-Fi P2P信息共享组群的设备,首先需要进行系统初始化。具体包括网络服务的初始化和定位服务的初始化。
初始化定位服务,需要设备打开定位开关,授予应用定位权限,然后启动Android系统提供的定位服务。以GPS定位服务为例,Android提供了以LocationManagerService为核心的位置管理架构提供相关的位置服务。应用需要注册广播接收器(BroadcastReceiver),接收定位服务发送的位置广播,从中读取位置信息。位置广播的发送可以设置为周期性的,也可以将移动幅度作为触发条件。
初始化网络服务,设备首先需要打开Wi-Fi开关,授予应用与Wi-Fi和网络相关的权限。应用启动TCP、UDP监听线程,并绑定一个端口用于组群内的共享信息的传输。
(2)Wi-Fi P2P连接控制,形成Wi-Fi P2P组群
Android操作系统中用于Wi-Fi P2P的服务为WifiP2pService,控制这一系统服务的类为WifiP2pManager。实现Wi-Fi P2P连接控制主要需要用到的类为WifiP2pManager和BroadcastReceiver。
WifiP2pManager可以主动执行的操作包括:
(a)将应用程序注册到Android系统的Wi-Fi framework;
(b)请求获取Wi-Fi P2P组群信息;
(c)请求获取Wi-Fi P2P连接状态信息;
(d)请求获取周边Wi-Fi P2P节点列表;
(e)启动周边Wi-Fi P2P节点的扫描发现过程;
(f)以本机为Group Owner创建Wi-Fi P2P组群;
(g)解散当前Wi-Fi P2P组群;
(h)取消正在进行的P2P连接协商过程。
BroadcastReceiver在设置好过滤器规则后,可以用于接收Android系统关于Wi-Fi P2P的系统广播,用于在下列时间发生时被通知:
(a)Wi-Fi P2P的状态发生改变;
(b)Wi-Fi P2P对等节点列表发生了变化;
(c)Wi-Fi P2P的连接状态发生了变化;
(d)本设备的设备信息发生了变化。
完成系统初始化的设备,可以开始通过BroadcastReceiver接收系统广播。本步骤Wi-Fi P2P连接控制包括创建Wi-Fi P2P组群、解散Wi-Fi P2P组群、连接到一台Wi-Fi P2P设备、断开Wi-Fi P2P连接。
(a)创建Wi-Fi P2P组群:
创建Wi-Fi P2P组群既可以是由一台设备显式通过WifiP2pManager执行创建P2PGroup操作,也可以是由一台设备通过WifiP2pManager执行连接到另一台设备得的操作隐式创建。主动执行创建组群的设备可以被其它P2P设备搜索到。
(b)解散Wi-Fi P2P组群:
Wi-Fi P2P组群的管理者Group Owner可以通过WifiP2pManager执行解散Wi-FiP2P组群的操作。
(c)连接到一台Wi-Fi P2P设备:
一台设备通过WifiP2pManager请求周边P2P节点列表,当获取到列表的时候,系统将会发通知给BroadcastReceiver。此时该设备可以选择列表中的一台设备,通过WifiP2pManager发起连接。
(d)断开Wi-Fi P2P连接:
设备可以通过WifiP2pManager断开Wi-Fi P2P连接。
多个Wi-Fi P2P设备之间执行连接操作,使一台设备至少与一台设备相连,则这些设备构成一个Wi-Fi P2P组群。对于单台设备来说,简单的流程包括:
①通过WifiP2pManager控制设备扫描周边P2P节点;
②创建Wi-Fi P2P组群或加入Wi-Fi P2P组群、连接到一台Wi-Fi P2P设备。
(3)通过信息共享组群的网络参数维护方法维护参数,以形成Wi-Fi P2P信息共享组群。
③
信息共享组群的网络参数维护方法
(1)Wi-Fi P2P信息共享组群成员信息表
Wi-Fi P2P信息共享组群的网络参数如表2所列。为了实现传输层及以上层次的数据传送,Wi-Fi P2P信息共享组群中的每个成员需要保存一份成员信息表。Wi-Fi P2P信息共享组群成员信息表中的表项为组群成员(设备)的网络参数。由于Wi-Fi P2P信息共享组群是一个去中心化的系统,需要一定的机制实现各个设备保存的成员信息表一致。
(2)广播汇报自身网络参数
设备在完成Wi-Fi P2P组群的创建后,每一个加入组群的设备会被分配一个IPAddress。本机在加入组群后,能够获取本机的P2P Device Address、P2P InterfaceAddress、IP Address、用于组群信息共享的传输层端口号、设备名等。为了让组群的其它成员知晓本机的网络参数,本机需要发送UDP广播包。将目的地址设为内网广播地址,数据部分为自身网络参数。由于自身的网络参数可能变化,需要在变化的时候重新发送UDP广播包。用于接收系统广播的BroadcastReceiver会在本设备的设备信息发生了变化或者Wi-FiP2P连接状态发生变化的时候得到通知,在此时机发送UDP广播。为了防止网络延迟带来的新内容的UDP包早于旧内容的UDP包到来的情况,需要在UDP包中添加时间戳。
(3)接收其它成员的广播包,维护Wi-Fi P2P信息共享组群成员信息表
在Wi-Fi p2p信息共享组群的建立方案中,第一步进行了网络服务的初始化,创建了UDP监听线程,监听端口为方案固定。设备在加入Wi-Fi P2P信息共享组群后,就会收到其它设备发送的汇报自身网络参数的UDP广播包。
从UDP广播包中提取网络参数,以设备名或设备硬件标识为主键,在Wi-Fi P2P信息共享组群成员信息表中查找是否有该设备的记录。若有记录,并且该记录的时间戳早于本次UDP广播包的时间戳,则更新这条记录;若有记录,但该记录的时间戳晚于本次UDP广播包的时间戳,则不做更新;若没有记录,则插入新记录。
④
组群成员位置共享方法
在完成Wi-Fi P2P信息共享组群的建立后,组群成员共享位置的步骤为:
(1)通过GPS或其它定位模块确定本机位置信息
在Wi-Fi p2p信息共享组群的建立方案的第一步中,已经完成了定位服务的初始化,可以动态地获取本机的位置信息。
(2)广播汇报本机位置
设备的位置服务会定期或者在设备位置发生变化时,向应用通告新的位置信息。应用构造UDP广播包,目的地址设为内网广播地址,数据部分为本机的设备名、硬件标识符、位置信息和时间戳。
(3)接收其它群成员的位置,维护成员位置表
为了实现群成员的位置共享,需要各个成员拥有一份成员位置表,并动态地维护表中数据确保各成员的成员位置表副本内容一致。成员位置表中的表项为以Wi-Fi P2P信息共享组群设备的设备名或硬件标识为主键的成员(设备)位置记录。
网络服务中的UDP监听线程接收其它成员发送的位置汇报UDP广播包,解析其中的内容,根据设备名或硬件标识为主键在成员位置表中查询有无记录。若有记录,并且该记录的时间戳早于本次UDP广播包的时间戳,则更新这条记录;若有记录,但该记录的时间戳晚于本次UDP广播包的时间戳,则不做更新;若没有记录,则插入新记录。
(4)成员位置可视化
根据成员位置表中的记录,提取经纬度数据,在视图层使用视图控件以图标的形式绘制所有成员的位置,实现成员位置可视化。
创新点
创新之一:在Wi-Fi P2P技术的基础上,定义了Wi-Fi P2P信息共享组群的相关概念,通过信息共享组群的网络参数维护方法,组群中任意两台设备可以传送网络高层数据。
Wi-Fi P2P技术规范为本发明提供了设备之间建立点对点无线连接,以及创建、加入Wi-Fi P2P组群的方法。本发明在原生Wi-Fi P2P组群的基础上,通过信息共享组群的网络参数维护方法,形成Wi-Fi P2P信息共享组群,实现了任意两台设备网络高层数据的传送。
创新之二:基于智能手机普遍支持的Wi-Fi P2P协议,实现在无基站、热点场景下的组群位置共享,降低了应急通讯设备的使用门槛,对灾害应急和野外等场景通过位置共享协助团队作业或者救援工作具有重要意义。
目前智能手机应用软件的组群位置共享功能都是基于互联网的,在无基站、热点的条件下无法工作。本发明基于Wi-Fi P2P技术,弥补了这些场景下组群定位的空白。由于智能手机的普遍性,本发明容易推广和部署。普通群众也可以使用。在灾害场景下,普通群众可以借助本发明广播自己的位置,为救援争取宝贵的时间。在野外场景,驴友也可以借助本发明实现团队成员的位置管理。
说明书附表
表1
表2。
Claims (5)
1.一种基于Wi-Fi P2P技术的群体位置共享方法,其特征在于,借助Android对Wi-FiP2P功能的支持,设计了五层的架构,分别为:Android系统服务层、wifip2p连接控制层、数据传输控制层、业务逻辑层、视图层,其中:
Android系统服务层为Wi-Fi P2P提供系统API;
Wi-Fi P2P连接控制层通过调用系统服务管理P2P连接;
数据传输控制层负责使用TCP和/或UDP协议,进行数据发送和接收;
业务逻辑层负责自动或者/和根据用户操作进行下层的控制;
视图层负责地图显示和操作界面;
利用Wi-Fi P2P网络技术,让局域内的智能移动设备在不依赖任何基站的情况下,通过一系列的协议流程,形成Wi-Fi P2P信息共享组群,传输共享位置信息,并将组群中所有成员的位置予以显示;
具体包括如下步骤:
初始化本机系统,准备网络服务、定位服务,监听位置坐标变化;
Wi-Fi P2P模块建立设备之间的连接,形成Wi-Fi P2P组群;
通过维护信息共享组群网络参数,形成Wi-Fi P2P信息共享组群;
UDP发送广播汇报自身位置,并接收其它设备的汇报,维护成员位置表,在地图上显示组群设备成员的位置,构成组群成员位置共享。
2.如权利要求1所述的基于Wi-Fi P2P技术的群体位置共享方法,其特征在于,初始化定位服务:
需要设备打开定位开关,授予应用程序定位权限,然后启动Android系统提供的定位服务;
应用程序需要注册广播接收器(BroadcastReceiver),接收定位服务发送的位置广播,从中读取位置信息;
初始化网络服务:
设备首先需要打开Wi-Fi开关,授予应用程序与Wi-Fi和网络相关的权限;应用程序启动TCP、UDP监听线程,并绑定一个端口用于组群内的共享信息的传输。
3.如权利要求1所述的基于Wi-Fi P2P技术的群体位置共享方法,其特征在于,所述形成Wi-Fi P2P组群:
通过Android系统中用于控制WifiP2pService的工具类WifiP2pManager,配合一个BroadcastReceiver,完成Wi-Fi P2P Group的创建,流程如下:
S2.2.1,设备通过WifiP2pManager将应用程序注册到Android系统的Wi-Fiframework;
S2.2.2,设备设置BroadcastReceiver的过滤规则,接收与Wi-Fi P2P相关的广播;
S2.2.3,通过WifiP2pManager控制设备扫描周边P2P节点;
S2.2.4,创建Wi-Fi P2P组群或加入Wi-Fi P2P组群,连接到一台Wi-Fi P2P设备。由此将多个Wi-Fi P2P设备连接到一个Wi-Fi P2P组群中。
S2.3,通过信息共享组群的网络参数维护方法维护参数,形成Wi-Fi P2P信息共享组群。
4.如权利要求1所述的基于Wi-Fi P2P技术的群体位置共享方法,其特征在于,所述维护信息共享组群的网络参数,包括步骤:
S3.1,Wi-Fi P2P信息共享组群成员信息表
每台设备建立一张Wi-Fi P2P信息共享组群成员信息表,表项为组群成员(设备)的网络参数,网络参数的类型在附表2中列出。
S3.2,广播汇报自身网络参数
S3.2.1,每个加入Wi-Fi P2P组群的设备会被分配一个IP地址。设备将本机的P2PDevice Address、P2P Interface Address、IP Address、用于组群信息共享的传输层端口号、设备名等网络参数,构造UDP数据包;
S3.2.2,通过UDP广播协议将S3.2.1数据包发送给其它所有群成员。为了防止网络延迟带来的新内容的UDP包早于旧内容的UDP包到来的情况,需要在UDP包中添加时间戳。
S3.3,接收其它成员的广播包,以维护Wi-Fi P2P信息共享组群成员信息表;
具体步骤,
S3.3.1,每个成员的UDP监听线程接收UDP广播包;
S3.3.2,从UDP广播包中提取网络参数,以设备名或设备硬件标识为主键,在Wi-Fi P2P信息共享组群成员信息表中查找是否有该设备的记录;
S3.3.3,若有记录,并且该记录的时间戳早于本次UDP广播包的时间戳,则更新这条记录;若有记录,但该记录的时间戳晚于本次UDP广播包的时间戳,则不做更新;若没有记录,则插入新记录。
5.如权利要求1所述的基于Wi-Fi P2P技术的群体位置共享方法,其特征在于,所述组群成员位置共享,包括步骤:
S4.1,通过GPS或其它定位模块确定本机位置信息
通过GPS或其它定位模块确定本机位置信息,是基于初始化的位置服务、动态获取本机的位置信息。
S4.2,广播汇报本机位置
设备的位置服务会定期或者在设备位置发生变化时,向应用程序通告新的位置信息。应用程序构造UDP广播包,目的地址设为内网广播地址,数据部分为本机的设备名、硬件标识符、位置信息和时间戳。
S4.3,接收其它群成员的位置,维护共享成员位置表(流程如图8所示)
S4.3.1,为了实现群成员的位置共享,需要各个成员拥有一份成员位置表,并动态地维护表中数据确保各成员的成员位置表副本内容一致。成员位置表中的表项为以Wi-Fi P2P信息共享组群设备的设备名或硬件标识为主键的成员(设备)位置记录;
S4.3.2,网络服务中的UDP监听线程接收其它成员发送的位置汇报UDP广播包,解析其中的内容;
S4.3.3,根据设备名或硬件标识为主键在成员位置表中查询有无记录。若有记录,并且该记录的时间戳早于本次UDP广播包的时间戳,则更新这条记录;若有记录,但该记录的时间戳晚于本次UDP广播包的时间戳,则不做更新;若没有记录,则插入新记录。
S4.4,成员位置可视化
根据成员位置表中的记录,提取经纬度数据,在视图层使用视图控件以图标的形式绘制所有成员的位置,实现成员位置可视化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910686453.7A CN110519683B (zh) | 2019-07-29 | 2019-07-29 | 基于Wi-Fi P2P技术的群体位置共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910686453.7A CN110519683B (zh) | 2019-07-29 | 2019-07-29 | 基于Wi-Fi P2P技术的群体位置共享方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110519683A true CN110519683A (zh) | 2019-11-29 |
CN110519683B CN110519683B (zh) | 2020-12-08 |
Family
ID=68623745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910686453.7A Active CN110519683B (zh) | 2019-07-29 | 2019-07-29 | 基于Wi-Fi P2P技术的群体位置共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110519683B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478908A (zh) * | 2020-04-09 | 2020-07-31 | 杭州溪塔科技有限公司 | 一种p2p网络中用户建立通讯的方法、装置及电子设备 |
CN111885701A (zh) * | 2020-06-19 | 2020-11-03 | 北京嘀嘀无限科技发展有限公司 | 一种定位方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110202270A1 (en) * | 2010-02-03 | 2011-08-18 | Sharma Sridar G | Delivery of advertisments over broadcasts to receivers with upstream connection and the associated compensation models |
CN104333888A (zh) * | 2014-10-27 | 2015-02-04 | 中央民族大学 | 一种基于Wi-Fi直连的自组织即时通信方法 |
CN104469678A (zh) * | 2014-11-12 | 2015-03-25 | 广东科学技术职业学院 | 一种基于蓝牙功能的位置共享方法及系统 |
CN104618854A (zh) * | 2014-05-20 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 共享位置信息的方法、终端及服务器 |
CN106254348A (zh) * | 2016-08-08 | 2016-12-21 | 中国地质大学武汉 | 一种基于Android的无线局域网通信方法 |
EP3200550A1 (en) * | 2016-01-29 | 2017-08-02 | Alcatel Lucent | Method for sharing resources between mobile devices thanks to a location tracking server |
CN107635187A (zh) * | 2016-07-15 | 2018-01-26 | 大唐终端技术有限公司 | 一种wifi连接方法和终端 |
CN108021347A (zh) * | 2017-12-29 | 2018-05-11 | 航天科工智慧产业发展有限公司 | 一种Android终端屏幕共享的方法 |
CN108028874A (zh) * | 2015-09-21 | 2018-05-11 | 华为技术有限公司 | 用于形成群组并在群组中共享数据的系统、装置和方法 |
CN109889473A (zh) * | 2014-08-08 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 实现信息推送的方法及第三方客户端 |
-
2019
- 2019-07-29 CN CN201910686453.7A patent/CN110519683B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110202270A1 (en) * | 2010-02-03 | 2011-08-18 | Sharma Sridar G | Delivery of advertisments over broadcasts to receivers with upstream connection and the associated compensation models |
CN104618854A (zh) * | 2014-05-20 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 共享位置信息的方法、终端及服务器 |
CN109889473A (zh) * | 2014-08-08 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 实现信息推送的方法及第三方客户端 |
CN104333888A (zh) * | 2014-10-27 | 2015-02-04 | 中央民族大学 | 一种基于Wi-Fi直连的自组织即时通信方法 |
CN104469678A (zh) * | 2014-11-12 | 2015-03-25 | 广东科学技术职业学院 | 一种基于蓝牙功能的位置共享方法及系统 |
CN108028874A (zh) * | 2015-09-21 | 2018-05-11 | 华为技术有限公司 | 用于形成群组并在群组中共享数据的系统、装置和方法 |
EP3200550A1 (en) * | 2016-01-29 | 2017-08-02 | Alcatel Lucent | Method for sharing resources between mobile devices thanks to a location tracking server |
CN107635187A (zh) * | 2016-07-15 | 2018-01-26 | 大唐终端技术有限公司 | 一种wifi连接方法和终端 |
CN106254348A (zh) * | 2016-08-08 | 2016-12-21 | 中国地质大学武汉 | 一种基于Android的无线局域网通信方法 |
CN108021347A (zh) * | 2017-12-29 | 2018-05-11 | 航天科工智慧产业发展有限公司 | 一种Android终端屏幕共享的方法 |
Non-Patent Citations (4)
Title |
---|
KENZI WATANABE等: "Development of Geographical Location Estimation System for WiFi Users in Campus", 《2012 SIXTH INTERNATIONAL CONFERENCE ON COMPLEX, INTELLIGENT, AND SOFTWARE INTENSIVE SYSTEMS》 * |
XIAOXIAO LIU等: "The Human Positioning System Based on the WiFi Direct and Precision Time Protocol", 《2011 INTERNATIONAL CONFERENCE ON TRANSPORTATION, MECHANICAL, AND ELECTRICAL ENGINEERING (TMEE)》 * |
史红金: "基于WiFi_Direct数据传输软件设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
王冰冰: "一种基于WiFi_Direct技术的位置信息共享方法", 《测绘通报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478908A (zh) * | 2020-04-09 | 2020-07-31 | 杭州溪塔科技有限公司 | 一种p2p网络中用户建立通讯的方法、装置及电子设备 |
CN111478908B (zh) * | 2020-04-09 | 2022-05-03 | 杭州溪塔科技有限公司 | 一种p2p网络中用户建立通讯的方法、装置及电子设备 |
CN111885701A (zh) * | 2020-06-19 | 2020-11-03 | 北京嘀嘀无限科技发展有限公司 | 一种定位方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110519683B (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106254348B (zh) | 一种基于Android的无线局域网通信方法 | |
CN104115512B (zh) | 用于合作伙伴网络共享架构的系统和方法 | |
CN102546801B (zh) | 一种基于环境设备列表的移动终端匹配方法和系统 | |
CN109478179A (zh) | IoT设备连接、发现和联网 | |
CN103703856B (zh) | 通过无线局域网将无线服务提供给远程单元的集合的方法和装置 | |
CN105142219B (zh) | 移动通信系统、核心网络节点、控制站、基站和通信方法 | |
CN107852430A (zh) | 物联网的广域服务发现 | |
CN103782649A (zh) | 通过对接系统和通用网络设备驱动器的无线lan连接切换 | |
CN102972091B (zh) | 与其它设备通信的方法和通信设备 | |
CN106797409A (zh) | 用于在物联网(iot)中的设备位置注册的服务器 | |
CN107113563A (zh) | 用于限制直接发现的方法 | |
CN106471468A (zh) | 在场境中更新无线设备固件 | |
CN106170969A (zh) | 上下文管理 | |
CN102158812B (zh) | AC-AP架构无线Mesh网组播通信方法 | |
CN102342153A (zh) | 用于使用备选连接接口自动构成局部网络的方法和装置 | |
CN114301784A (zh) | 网络靶场训练环境构建方法和装置、电子设备及存储介质 | |
Inoue et al. | NerveNet: A regional platform network for context-aware services with sensors and actuators | |
CN103731842B (zh) | 一种无线中继组网系统及方法 | |
CN110519683A (zh) | 基于Wi-Fi P2P技术的群体位置共享方法 | |
CN102334312A (zh) | 用于形成、维护和/或使用交叠网络的方法和装置 | |
CN103931268A (zh) | 接入移动通信资源 | |
CN105898841A (zh) | 智能终端和终端分享wlan资源的方法 | |
EP3493611B1 (en) | Method and system for organising mesh network | |
CN1968261B (zh) | 一种在无线局域网中共享资源的方法 | |
CN106416146A (zh) | 通信装置、通信方法和通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |