发明内容
本申请提供一种多个设备之间的位置信息管理和共享方法及相关设备中,解决了现有技术中,位置信息共享需要依赖移动网络或依赖专用设备的问题。
根据本申请的第一方面,本申请提供了一种多个设备之间的位置信息管理方法,包括:
管理者设备检测设备自身具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式,所述传输方式包括Wi-Fi和蓝牙;
管理者设备通过当前开启的传输方式广播组队消息,所述组队消息包括管理者设备的身份标识和管理者设备建立的用户组的组名称;
管理者设备获取成员设备根据所述组队消息返回的请求加入用户组的请求消息,所述请求消息包括预先设置的验证信息;
管理者设备在判断到所述验证信息正确后,通过GPS获取管理者设备当前的位置信息,并将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息。
根据本申请的第二方面,本申请提供了一种多个设备之间的位置信息共享方法,包括:
成员设备检测设备自身具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式,所述传输方式包括Wi-Fi和蓝牙;
成员设备获取管理者设备广播的组队消息,并根据所述组队消息向管理者设备返回请求加入用户组的请求消息,所述组队消息包括管理者设备的身份标识和管理者设备建立的用户组的组名称,所述请求消息包括预先设置的验证信息;
成员设备获取管理者设备发送的表示成员设备成功加入用户组的消息和管理者设备的设备信息,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息。
根据本申请的第三方面,本申请还提供了一种电子设备,作为管理者设备,包括:
传输方式选择模块,用于检测管理者设备具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式,所述传输方式包括Wi-Fi和蓝牙;
组队消息广播模块,用于通过当前开启的传输方式广播组队消息,所述组队消息包括管理者设备的身份标识和管理者设备建立的用户组的组名称;
请求消息获取模块,用于获取成员设备根据所述组队消息返回的请求加入用户组的请求消息,所述请求消息包括预先设置的验证信息;
GPS模块,用于获取管理者设备当前的位置信息;
验证模块,用于判断所述验证信息是否正确,并在判断到所述验证信息正确后,将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息;
人机交互模块,用于提供人机交互界面;
存储模块,用于存储数据。
根据本申请的第四方面,本申请提供了一种电子设备,作为成员设备,包括:
传输方式选择模块,用于检测成员设备具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式,所述传输方式包括Wi-Fi和蓝牙;
组队消息处理模块,用于获取管理者设备广播的组队消息,并根据所述组队消息向管理者设备返回请求加入用户组的请求消息,所述组队消息包括管理者设备的身份标识和管理者设备建立的用户组的组名称,所述请求消息包括预先设置的验证信息;
信息获取模块,用于获取管理者设备发送的表示成员设备成功加入用户组的消息和管理者设备的设备信息,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息。
本申请提供的多个设备之间的位置信息管理和共享方法及相关设备中,管理者设备和成员设备分别检测设备自身具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式,该传输方式包括Wi-Fi和蓝牙,从而避免多个设备之间在位置信息管理和共享时依赖于移动网络或专用设备。成员设备获取管理者设备广播的组队消息后,向管理者设备返回携带有验证信息的请求消息,管理者设备在判断到验证信息正确后,通过GPS获取管理者设备当前的位置信息,并将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息,从而实现将管理者的位置信息共享给成员设备的目的。
具体实施方式
下面通过具体实施方式结合附图对本申请作进一步详细说明。
请参考图1,本实施例提供了一种多个设备之间的位置信息管理方法,包括:
步骤101:管理者设备检测设备自身具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式。管理者设备的传输方式包括Wi-Fi和蓝牙(bluetooth,BT)。
步骤102:管理者设备通过当前开启的传输方式广播组队消息。组队消息包括管理者设备的身份标识和管理者设备建立的用户组的组名称,以便于成员设备在多个组的管理者设备同时广播组队消息时进行区分。管理者设备的身份标识可以是用户的用户名称。
步骤103:管理者设备获取成员设备根据组队消息返回的请求加入用户组的请求消息,请求消息包括预先设置的验证信息。
步骤104:管理者设备判断请求消息中的验证信息是否正确,如果正确,则转到步骤105,如果不正确则结束流程。
步骤105:管理者设备在判断到验证信息正确后,通过GPS获取管理者设备当前的位置信息。
步骤106:管理者设备将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息。
在某些实施例中,传输方式还包括GPRS。管理者设备从所有传输方式中开启一种作为当前信息传输的传输方式,具体为:管理者设备按照预设的优先级顺序从所有传输方式中开启一种作为当前信息传输的传输方式,预设的优先级顺序依次为Wi-Fi、蓝牙、GPRS。通过该优先级的控制,可以尽量避免用户在进行位置信息管理和共享时使用GPRS流量。同时,由于目前使用wifi/蓝牙的传输设备非常普遍,因此,本实施例提供的方法适用于市场上流通的大多数电子设备。
管理者设备使用的Wi-Fi传输的底层协议和网络传输协议(TCP/IP)保证一致,保证了对网络传输能力的兼容,在超过Wi-Fi、蓝牙的辐射区域时,会自动切换到GPRS传输方式,以保证位置信息管理的稳定性。
在某些实施例中,管理者设备将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备后,还包括:管理者设备获取当前加入用户组的成员设备的设备信息,成员设备的设备信息包括成员设备的身份标识、组名称及其当前的位置信息。
管理者设备将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备后,还包括:管理者设备判断是否开启共享其他成员设备的设备信息,如果已开启,则将其他成员设备的设备信息发送给当前的成员设备,其他成员设备的设备信息包括相应成员设备的身份标识及其当前的位置信息。
请参考图2,本实施例还提供了一种多个设备之间的位置信息共享方法,包括:
步骤201:成员设备检测设备自身具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式。成员设备的传输方式包括Wi-Fi和蓝牙。
步骤202:成员设备获取管理者设备广播的组队消息,组队消息包括管理者设备的身份标识和管理者设备建立的用户组的组名称。
步骤203:成员设备根据组队消息向管理者设备返回请求加入用户组的请求消息,请求消息包括预先设置的验证信息。
步骤204:成员设备获取管理者设备发送的表示成员设备成功加入用户组的消息和管理者设备的设备信息,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息。
在某些实施例中,成员设备的传输方式还包括GPRS。成员设备从所有传输方式中开启一种作为当前信息传输的传输方式,具体为:成员设备按照预设的优先级顺序从所有传输方式中开启一种作为当前信息传输的传输方式,预设的优先级顺序依次为Wi-Fi、蓝牙、GPRS。
成员设备使用的Wi-Fi传输的底层协议和网络传输协议(TCP/IP)保证一致,保证了对网络传输能力的兼容,在超过Wi-Fi、蓝牙的辐射区域时,会自动切换到GPRS传输方式,以保证位置信息共享的稳定性。
在某些实施例中,成员设备获取管理者设备发送的表示成员设备成功加入用户组的消息和管理者设备的设备信息后,还包括:成员设备将自身的设备信息发送给管理者设备,成员设备的设备信息包括成员设备的身份标识、组名称和成员设备通过GPS获取的当前的位置信息。
成员设备获取管理者设备发送的表示成员设备成功加入用户组的消息和管理者设备的设备信息后,还包括:成员设备获取管理者设备发送的其他成员设备的设备信息,其他成员设备的设备信息包括相应成员设备的身份标识及其当前的位置信息。
请参考图3,对应于本实施例提供的多个设备之间的位置信息管理方法,本实施例还提供了一种电子设备,作用管理者设备,包括传输方式选择模块301、组队消息广播模块302、请求消息获取模块303、GPS模块304、验证模块305、人机交互模块306和存储模块307。
传输方式选择模块301用于检测管理者设备具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式,传输方式包括Wi-Fi和蓝牙。
组队消息广播模块302用于通过当前开启的传输方式广播组队消息,组队消息包括管理者设备的身份标识和管理者设备建立的用户组的组名称。
请求消息获取模块303用于获取成员设备根据组队消息返回的请求加入用户组的请求消息,请求消息包括预先设置的验证信息。
GPS模块304用于获取管理者设备当前的位置信息。
验证模块305用于判断验证信息是否正确,并在判断到验证信息正确后,将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息。
人机交互模块306用于提供人机交互界面。
存储模块307用于存储数据。
在某些实施例中,传输方式还包括GPRS。传输方式选择模块301从所有传输方式中开启一种作为当前信息传输的传输方式时:传输方式选择模块301按照预设的优先级顺序从所有传输方式中开启一种作为当前信息传输的传输方式,预设的优先级顺序依次为Wi-Fi、蓝牙、GPRS。
管理者设备使用的Wi-Fi传输的底层协议和网络传输协议(TCP/IP)保证一致,保证了对网络传输能力的兼容,在超过Wi-Fi、蓝牙的辐射区域时,会自动切换到GPRS传输方式,以保证位置信息管理的稳定性。
在某些实施例中,管理者设备还包括信息获取模块,用于在验证模块305将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备后,获取当前加入用户组的成员设备的设备信息,成员设备的设备信息包括成员设备的身份标识、组名称及其当前的位置信息。
管理者设备还包括位置信息共享模块,用于判断管理者设备是否开启共享其他成员设备的设备信息,如果已开启,则将其他成员设备的设备信息发送给当前的成员设备,其他成员设备的设备信息包括相应成员设备的身份标识及其当前的位置信息。
请参考图4,对应于本实施例提供的多个设备之间的位置信息共享方法,本实施例还提供了一种电子设备,作用成员设备,包括传输方式选择模块401、组队消息处理模块402和信息获取模块403。
传输方式选择模块401用于检测成员设备具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式,传输方式包括Wi-Fi和蓝牙。
组队消息处理模块402用于获取管理者设备广播的组队消息,并根据组队消息向管理者设备返回请求加入用户组的请求消息,组队消息包括管理者设备的身份标识和管理者设备建立的用户组的组名称,请求消息包括预先设置的验证信息。
信息获取模块403用于获取管理者设备发送的表示成员设备成功加入用户组的消息和管理者设备的设备信息,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息。
在某些实施例中,成员设备的传输方式还包括GPRS。传输方式选择模块401从所有传输方式中开启一种作为当前信息传输的传输方式时:传输方式选择模块401按照预设的优先级顺序从所有传输方式中开启一种作为当前信息传输的传输方式,预设的优先级顺序依次为Wi-Fi、蓝牙、GPRS。
成员设备使用的Wi-Fi传输的底层协议和网络传输协议(TCP/IP)保证一致,保证了对网络传输能力的兼容,在超过Wi-Fi、蓝牙的辐射区域时,会自动切换到GPRS传输方式,以保证位置信息共享的稳定性。
在某些实施例中,成员设备还包括GPS模块和设备信息发送模块。
GPS模块用于获取成员设备当前的位置信息。
设备信息发送模块用于在信息获取模块403获取到管理者设备发送的表示成员设备成功加入用户组的消息和管理者设备的设备信息后,将自身的设备信息发送给管理者设备,成员设备的设备信息包括成员设备的身份标识、组名称和成员设备通过GPS模块获取的当前的位置信息。
信息获取模块403还用于获取管理者设备发送的其他成员设备的设备信息,其他成员设备的设备信息包括相应成员设备的身份标识及其当前的位置信息。
为了对本实施例提供的多个设备之间的位置信息管理和共享方法作进一步说明,下面提供一具体应用例,该应用例中结合管理者设备和成员设备进行说明。
请参考图5,为管理者设备和成员设备的工作流程示意图。
步骤1.1:用户通过人机交互界面在管理者设备上输入用户名称和组名称,用户名称作为管理者设备的身份标识。
步骤1.2:用户设置当前设备为管理者设备。需要说明的是,用户组中任意一个设备都可以由用户设置为管理者设备,以执行管理者设备相应的功能,而其他的设备则设置为成员设备,以执行成员设备相应的功能。
步骤1.3:设置是否共享其他成员设备的设备信息,即设置是否将其他成员设备的位置信息相互共享。
步骤1.1至步骤1.3中,用户都可以通过人机交互界面进行输入设置。
步骤1.4:管理者设备检测设备自身具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式。管理者设备的传输方式包括Wi-Fi、蓝牙和GPRS。管理者设备按Wi-Fi、蓝牙、GPRS的顺序优先开启位于前面的传输方式。本步骤中,管理者设备还可以检测并打开设备的GPS功能,以备后续步骤中使用。
步骤2.1:用户通过人机交互界面在成员设备上输入用户名称,作为成员设备的身份标识。
步骤2.2:成员设备检测设备自身具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式。成员设备的传输方式包括Wi-Fi、蓝牙和GPRS。成员设备按Wi-Fi、蓝牙、GPRS的顺序优先开启位于前面的传输方式。本步骤中,成员设备还可以检测并打开设备的GPS功能,以备后续步骤中使用。
步骤1.5:在管理者设备和成员设备都已做好前期的设置工作后,管理者设备广播组队消息。
步骤2.3:成员设备获取管理者设备广播的组队消息后,根据组队消息向管理者设备返回请求加入用户组的请求消息,请求消息包括预先设置的验证信息。验证信息可以是用户在成员设备上输入的组名称。
步骤1.6:管理者设备根据上述验证信息对成员设备进行身份验证。该身份验证过程可以是管理者设备自动将验证信息与预设的信息进行匹配完成的,也可以是由管理者设备的用户参与判断完成的。
步骤1.7:在步骤1.6中如果身份验证通过,管理者设备则通过GPS获取当前的位置信息。
步骤1.8:管理者设备将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备,管理者设备的设备信息包括管理者设备的用户名称、组名称及其当前的位置信息。
步骤2.4:成员设备获取到管理者设备发送的表示成功加入用户组的消息后,通过GPS获取成员设备当前的位置信息。
步骤2.5:成员设备将自身的设备信息发送给管理者设备,成员设备的设备信息包括成员设备的用户名称、组名称和成员设备通过GPS获取的当前的位置信息。
步骤1.9:管理者设备判断是否开启共享其他成员设备的设备信息,管理者设备进行判断时可以查询步骤1.3设置生成的配置文件。
步骤1.10:如果管理者设备开启了共享其他成员设备的设备信息,则将其他成员设备的设备信息发送给当前的成员设备,其他成员设备的设备信息包括相应成员设备的身份标识(用户名称)及其当前的位置信息。
需要说明的是,由于管理者设备和成员设备的位置往往是会移动的,因此,为了保证位置信息共享的实时性,管理者设备可以定期或在检测到当前位置发生改变后向成员设备发送改变后的位置信息,成员设备相应的也可以定期或在检测到当前位置发生改变后向管理者设备发送改变后的位置信息。
为了保证Wi-Fi、蓝牙和GPRS三种传输方式的兼容性,在具体实施例中,管理者设备和成员设备发送的消息采用统一的消息格式。下面为采用C语言语法表示的组队消息的消息结构体:
struct Message{
char ID;//默认为0xff,管理者设备为0,其他成员设备的ID为连接成功后,由管理者设备自动分配
char name[SIZE];//消息发送方名称
char ip_addr[SIZE];//消息发送方IP地址,默认为NULL,开启后被赋值
char bt_addr[B_SIZE];//消息发送方蓝牙物理地址,默认为NULL,开启后被赋值
char buffer[BUF_SIZE];//一个字符串数组,里面存放发送的具体内容,如管理者发起组队广播Start group消息,位置信息等
}
其中,上述Buffer的消息解析出来的信息结构体示例如下:
struct Message{
char cmd[C_SIZE];//标识命令,如“group”表示管理者的广播Start group消息
char key_words[K_SIZE];//关键字,即命令所带参数,可以是由步骤1.1中设置的组名称,主要用来避免出现组件混乱,如同时两个组发起组队,如果没有关键字识别,就会出现加错组等现象
char response;//0表示命令接收
double latitude;
double longitude;
double altitude,//GPS的位置信息,经纬度,高度等
…Char phone_num[11];//其他信息,如电话号码
…
}
请参考图6,为管理者设备和成员设备之间的消息处理流程示意图,下面主要以管理者设备发出组队消息及成员设备返回请求消息的过程进行说明。
步骤603:管理者设备执行发起组队的命令,执行该命令后生成组队消息。
步骤602:管理者设备建立一待发送的消息队列,当该队列中存在待发送的消息时,则依次进行处理。组队消息排列在该消息队列中,并发送给成员设备。
步骤703:成员设备生成查询组队消息的命令。
步骤701:成员设备执行查询组队消息的命令后查询并处理接收的、排列在待处理消息队列中的组队消息。在待处理消息队列中,如果存在接收到的消息,则依次进行处理。
步骤702:成员设备建立一待发送的消息队列,当该队列中存在待发送的消息时,则依次进行处理。例如,成员设备处理组队消息后生成请求消息,请求消息排列在发送区,并由成员设备发送给管理者设备。
步骤601:管理者设备建立一待处理的接收消息队列,当该队列中存在接收到的消息时,则依次进行处理。
步骤604:管理者设备判断接收区(待处理消息队列)是否为空,如果为空则不做处理,如果不为空,则转到步骤605。例如,当接收到成员设备发送的请求消息时,转到步骤605进行处理。
步骤605:管理者设备解析接收区的消息包,例如解析得到请求消息中的验证信息。
步骤606:管理者设备对消息包解析完成后,执行相应的命令进行处理,例如对验证信息进行验证。
步骤607:管理者设备判断是否接受成员设备的请求,即判断该验证信息是否正确。
步骤608:管理者设备在判断到验证信息正确后,通过GPS获取管理者设备当前的位置信息,并将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息。
步骤704:成员设备判断接收区(待处理消息队列)是否为空,如果为空则不做处理,如果不为空,则转到步骤705。在步骤608中管理者设备发送的消息被排列在成员设备的接收区,在步骤704中判断到接收区存在待处理的消息时,则转到步骤705进行处理。
步骤705:成员设备解析接收区的消息包,例如解析得到response的值,当其值为1时表示管理者设备接受了成员设备的组队请求,当其值为0时表示管理者设备拒绝了成员设备的组队请求。
步骤706:成员设备对消息包解析完成后,执行相应的命令进行处理,例如判断response的值为0还是1。
步骤707:成员设备判断是否接受管理者设备的请求,该请求可以是管理者设备请求成员设备发送成员设备的位置信息。
步骤708:成员设置将自身的设备信息,例如用户名称、组名称、位置信息等发送给管理者设备。
本申请实施例提供的多个设备之间的位置信息管理和共享方法及相关设备中,管理者设备和成员设备分别检测设备自身具有的传输方式,并从所有传输方式中开启一种作为当前信息传输的传输方式,该传输方式包括Wi-Fi和蓝牙,从而避免多个设备之间在位置信息管理和共享时依赖于移动网络或专用设备。成员设备获取管理者设备广播的组队消息后,向管理者设备返回携带有验证信息的请求消息,管理者设备在判断到验证信息正确后,通过GPS获取管理者设备当前的位置信息,并将表示成员设备成功加入用户组的消息和管理者设备的设备信息返回给对应的成员设备,管理者设备的设备信息包括管理者设备的身份标识、组名称及其当前的位置信息,从而实现将管理者的位置信息共享给成员设备的目的。
以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请发明构思的前提下,还可以做出若干简单推演或替换。