发明内容
本发明的主要目的在于提供一种设备连接方法、装置及计算机可读存储介质,旨在解决现有技术中无法快速从扫描到的外部设备中寻找到所需的目标外部设备以进行批量连接的问题。
为实现上述目的,本发明提供一种设备连接方法,应用于头戴显示设备,所述头戴显示设备包括至少4个低功耗蓝牙BLE模块,且至少4个BLE模块不处于同一平面上,所述设备连接方法包括以下步骤:
获取目标外部设备信息,并扫描得到外部设备的外部设备信息;
通过所述BLE模块获取所述外部设备的第一状态信息;
根据所述第一状态信息、所述外部设备信息和所述目标外部设备信息确定目标外部设备,并与所述目标外部设备建立通信连接。
可选地,所述通过所述BLE模块获取所述外部设备的第一状态信息的步骤包括:
分别通过各BLE模块获取各自与所述外部设备之间的第一距离信息;
根据所述第一距离信息和各BLE模块的位置信息,获取所述外部设备的第一坐标信息,其中,所述第一状态信息为所述第一坐标信息。
可选地,所述通过所述BLE模块获取所述外部设备的第一状态信息的步骤包括:
每隔预设时间分别通过各BLE模块获取各自与所述外部设备之间的第二距离信息;
根据所述第二距离信息和各BLE模块的位置信息,获取所述外部设备的第二坐标信息;
根据所述第二坐标信息获取所述外部设备的运动轨迹,其中,所述第一状态信息为所述运动轨迹。
可选地,所述目标外部设备包括至少两个,所述根据所述第一状态信息、所述外部设备信息和所述目标外部设备信息确定目标外部设备的步骤包括:
根据所述第一状态信息从所述外部设备中确定状态相同的外部设备,记为疑似目标外部设备;
从所述外部设备信息中获取疑似目标外部设备的设备信息;
检测所述疑似目标外部设备的设备信息与所述目标外部设备信息是否一致;
若一致,则确定所述疑似目标外部设备为目标外部设备。
可选地,所述检测所述疑似目标外部设备的设备信息与所述目标外部设备信息是否一致的步骤之前,还包括:
检测所述疑似目标外部设备包括一组还是至少两组;
若所述疑似目标外部设备包括一组,则执行步骤:检测所述疑似目标外部设备的设备信息与所述目标外部设备信息是否一致;
若所述疑似目标外部设备包括至少两组,则通过深度摄像头获取所述外部设备的第二状态信息;
从所述第一状态信息中获取各组疑似目标外部设备的状态信息,记为第三状态信息;
根据所述第三状态信息、所述第二状态信息、所述疑似目标外部设备的设备信息和所述目标外部设备信息确定目标外部设备。
可选地,所述根据所述第三状态信息、所述第二状态信息、所述疑似目标外部设备的设备信息和所述目标外部设备信息确定目标外部设备的步骤包括:
若所述第三状态信息和所述第二状态信息的类型均为坐标类,则将所述第三状态信息转换成与所述第二状态信息相同坐标系下的坐标,得到第四状态信息;
将所述第四状态信息与所述第二状态信息进行匹配,并将所述疑似目标外部设备的设备信息和所述目标外部设备信息进行匹配,得到第一匹配结果;
根据所述第一匹配结果从所述疑似目标外部设备中确定目标外部设备。
可选地,所述根据所述第三状态信息、所述第二状态信息、所述疑似目标外部设备的设备信息和所述目标外部设备信息确定目标外部设备的步骤包括:
若所述第三状态信息和所述第二状态信息的类型均为运动轨迹类,则将所述第三状态信息与所述第二状态信息进行匹配,并将所述疑似目标外部设备的设备信息和所述目标外部设备信息进行匹配,得到第二匹配结果;
根据所述第二匹配结果从所述疑似目标外部设备中确定目标外部设备。
可选地,所述获取目标外部设备信息的步骤包括:
接收VR/AR场景选择指令,根据所述VR/AR场景选择指令获取场景类型;
根据所述场景类型和预设映射关系确定目标外部设备信息,其中,所述目标外部设备信息至少包括目标外部设备的类型和数量。
此外,为实现上述目的,本发明还提供一种设备连接装置,所述设备连接装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备连接程序,所述设备连接程序被所述处理器执行时实现如上所述的设备连接方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有设备连接程序,所述设备连接程序被处理器执行时实现如上所述的设备连接方法的步骤。
本发明提供一种设备连接方法、装置及计算机可读存储介质,该方法应用于头戴显示设备,该头戴显示设备包括至少4个BLE模块,且至少4个BLE模块不处于同一平面上,通过获取目标外部设备信息,并扫描得到外部设备的外部设备信息,然后,通过BLE模块获取外部设备的第一状态信息,进而根据第一状态信息、外部设备信息和目标外部设备信息确定目标外部设备,并与目标外部设备建立通信连接。本发明中,通过设定至少4个不处于同一平面上的BLE模块,可基于这些BLE模块定位获取的信息唯一确定得到各外部设备的第一状态信息,进而确定出状态相同的外部设备,并结合设备信息的一致性,从而可实现从众多外部设备中快速确定出所需批量连接的目标外部设备,进而进行批量连接。同时,由于外部设备的第一状态信息可被唯一确定,从而也可保证设备连接的准确性。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是头戴显示设备,该头戴显示设备可以为VR(VirtualReality,虚拟现实)/AR(Augmented Reality,增强现实)设备。所述头戴显示设备包括至少4个低功耗蓝牙BLE模块,且至少4个BLE模块不处于同一平面上。
如图1所示,该终端可以包括:处理器1001,例如CPU(Central Processing Unit,中央处理器),通信总线1002,网络接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如无线保真Wireless-Fidelity,Wi-Fi接口)。存储器1004可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括深度摄像头、蓝牙模块、Wi-Fi模块等等。其中,深度摄像头除了能够获取平面图像以外,还可以获得拍摄对象的深度信息,也就是三维的位置和尺寸信息,使得整个计算系统获得环境和对象的三维立体数据。按技术分类,深度摄像头可分为以下三类主流技术:结构光、双目视觉和TOF飞行时间法。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块以及设备连接程序。
在图1所示的终端中,网络接口1003主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储器1004中存储的设备连接程序,并执行以下操作:
获取目标外部设备信息,并扫描得到外部设备的外部设备信息;
通过所述BLE模块获取所述外部设备的第一状态信息;
根据所述第一状态信息、所述外部设备信息和所述目标外部设备信息确定目标外部设备,并与所述目标外部设备建立通信连接。
进一步地,处理器1001可以调用存储器1004中存储的设备连接程序,还执行以下操作:
分别通过各BLE模块获取各自与所述外部设备之间的第一距离信息;
根据所述第一距离信息和各BLE模块的位置信息,获取所述外部设备的第一坐标信息,其中,所述第一状态信息为所述第一坐标信息。
进一步地,处理器1001可以调用存储器1004中存储的设备连接程序,还执行以下操作:
每隔预设时间分别通过各BLE模块获取各自与所述外部设备之间的第二距离信息;
根据所述第二距离信息和各BLE模块的位置信息,获取所述外部设备的第二坐标信息;
根据所述第二坐标信息获取所述外部设备的运动轨迹,其中,所述第一状态信息为所述运动轨迹。
进一步地,所述目标外部设备包括至少两个,处理器1001可以调用存储器1004中存储的设备连接程序,还执行以下操作:
根据所述第一状态信息从所述外部设备中确定状态相同的外部设备,记为疑似目标外部设备;
从所述外部设备信息中获取疑似目标外部设备的设备信息;
检测所述疑似目标外部设备的设备信息与所述目标外部设备信息是否一致;
若一致,则确定所述疑似目标外部设备为目标外部设备。
进一步地,处理器1001可以调用存储器1004中存储的设备连接程序,还执行以下操作:
检测所述疑似目标外部设备包括一组还是至少两组;
若所述疑似目标外部设备包括一组,则执行步骤:检测所述疑似目标外部设备的设备信息与所述目标外部设备信息是否一致;
若所述疑似目标外部设备包括至少两组,则通过深度摄像头获取所述外部设备的第二状态信息;
从所述第一状态信息中获取各组疑似目标外部设备的状态信息,记为第三状态信息;
根据所述第三状态信息、所述第二状态信息、所述疑似目标外部设备的设备信息和所述目标外部设备信息确定目标外部设备。
进一步地,处理器1001可以调用存储器1004中存储的设备连接程序,还执行以下操作:
若所述第三状态信息和所述第二状态信息的类型均为坐标类,则将所述第三状态信息转换成与所述第二状态信息相同坐标系下的坐标,得到第四状态信息;
将所述第四状态信息与所述第二状态信息进行匹配,并将所述疑似目标外部设备的设备信息和所述目标外部设备信息进行匹配,得到第一匹配结果;
根据所述第一匹配结果从所述疑似目标外部设备中确定目标外部设备。
进一步地,处理器1001可以调用存储器1004中存储的设备连接程序,还执行以下操作:
若所述第三状态信息和所述第二状态信息的类型均为运动轨迹类,则将所述第三状态信息与所述第二状态信息进行匹配,并将所述疑似目标外部设备的设备信息和所述目标外部设备信息进行匹配,得到第二匹配结果;
根据所述第二匹配结果从所述疑似目标外部设备中确定目标外部设备。
进一步地,处理器1001可以调用存储器1004中存储的设备连接程序,还执行以下操作:
接收VR/AR场景选择指令,根据所述VR/AR场景选择指令获取场景类型;
根据所述场景类型和预设映射关系确定目标外部设备信息,其中,所述目标外部设备信息至少包括目标外部设备的类型和数量。
基于上述硬件结构,提出本发明设备连接方法各个实施例。
本发明提供一种设备连接方法。
参照图2,图2为本发明设备连接方法第一实施例的流程示意图。
在本实施例中,该设备连接方法应用于头戴显示设备,所述头戴显示设备包括至少4个低功耗蓝牙BLE模块,且至少4个BLE模块不处于同一平面上,该设备连接方法包括:
步骤S10,获取目标外部设备信息,并扫描得到外部设备的外部设备信息;
在本实施例中,该设备连接方法可应用于头戴显示设备,该头戴显示设备可以为VR/AR(Virtual Reality,虚拟现实)/AR(Augmented Reality,增强现实)设备,该设备连接方法适用于批量连接目标外部设备的场景,即目标外部设备包括至少两个,当然,可以理解,该设备连接方法也适用于单个目标外部设备的连接场景。其中,目标外部设备可以包括但不限于:游戏手柄、游戏方向盘、游戏飞行摇杆或者体感手套等,头戴显示设备包括至少4个BLE(Bluetooth Low Energy,低功耗蓝牙)模块,且至少4个BLE模块不处于同一平面上,基于四个不在同一个平面上的点、可以唯一确定另外一个点的原理,根据至少4个不处于同一平面上的BLE模块扫描外部设备与各BLE模块之间的距离,可以唯一确定该外部设备的位置。
在本实施例中,先获取目标外部设备信息,其中,步骤“获取目标外部设备信息”包括:
步骤a1,接收VR/AR场景选择指令,根据所述VR/AR场景选择指令获取场景类型;
步骤a2,根据所述场景类型和预设映射关系确定目标外部设备信息,其中,所述目标外部设备信息至少包括目标外部设备的类型和数量。
由于不同的VR/AR场景所需的目标外部设备的类型和数量可能并不相同,因此,需先选择VR/AR场景,以确定所需批量连接的目标外部设备的类型和数量。具体的,在接收到用户基于头戴显示设备触发的VR/AR场景选择指令时,可以根据该VR/AR场景选择指令获取场景类型,进而根据场景类型和预设映射关系确定目标外部设备信息,其中,预设映射关系包括不同VR/AR场景与所需外部设备之间的映射关系,目标外部设备信息至少包括目标外部设备的类型和数量,还可以包括设备名称或设备标识等。在接收到VR/AR场景选择指令之后,告知用户所需批量连接的目标外部设备的类型和数量,并提示用户将这些目标外部设备放在一起(如全部装至一个配对盒子中),并将所有目标外部设备全部打开进入配对模式,同时通过蓝牙或Wi-Fi的通信方式广播设备类型。当然,还需提示用户将放在一起的目标外部设备放置到一预设位置,或提示用户对放在一起的目标外部设备执行一预设运动,如拿着配对盒子执行向上/下/左/右运动、或一预设曲线运动(如画圈)。
在获取到目标外部设备信息后,扫描得到外部设备的外部设备信息。具体的,头戴显示设备可基于蓝牙、Wi-Fi等通信方式,向外发射扫描信息,以扫描其外部的外部设备。例如,当头戴显示设备有连接蓝牙外部设备的需求时,可向外发射蓝牙广播信号,并可在接收到反馈的蓝牙信号时,确定扫描到的外部设备,并获取到对应的外部设备信息,其中,外部设备信息至少包括外部设备的类型和数量,还可以包括外部设备的设备名称或设备标识等,各外部设备可以以其设备名称或设备标识来进行区分。
步骤S20,通过所述BLE模块获取所述外部设备的第一状态信息;
然后,通过BLE模块获取外部设备的第一状态信息。其中,第一状态信息的类型可以为坐标类,也可以为运动轨迹类。当第一状态信息的类型为坐标类时,步骤S20可以包括:
步骤b1,分别通过各BLE模块获取各自与所述外部设备之间的第一距离信息;
步骤b2,根据所述第一距离信息和各BLE模块的位置信息,获取所述外部设备的第一坐标信息,其中,所述第一状态信息为所述第一坐标信息。
当第一状态信息的类型为坐标类时,各外部设备的坐标信息的获取过程如下:分别通过各BLE模块获取各自与外部设备之间的第一距离信息,其中,任一外部设备与各BLE模块之间的距离d可通过如下公式计算:d=10^{abs(RSSI)-A]/(10*n)},其中,abs()表示绝对值函数,RSSI表示BLE模块接收到的信号强度,A表示蓝牙信号发射端(即外部设备)和接收端(即头戴显示设备上的BLE模块)相隔1米时的信号强度,n表示环境衰减因子。第一距离信息是包括设备标识和对应BLE模块的标识的,以用于区分,避免混淆。
需要说明的是,外部设备包括多个时,第一距离信息的获取过程可以为:依次获取外部设备的设备标识,通过各BLE模块获取各自与该设备标识对应的外部设备的第一距离信息。例如,BLE模块包括1、2、3和4四个,外部设备包括3个,其设备标识分别为o、p和q,可以先通过BLE模块1获BLE模块1与各外部设备的第一距离信息,记为do1、dp1、dq1;然后,通过BLE模块2获BLE模块2与各外部设备的第一距离信息,记为do2、dp2、dq2;接着,通过BLE模块3获BLE模块3与各外部设备的第一距离信息,记为do3、dp3、dq3;最后,通过BLE模块4获BLE模块4与各外部设备的第一距离信息,记为do4、dp4、dq4。当然,可以理解,上述各BLE模块的获取过程可同时执行,不分先后。
此外,在具体实施例中,还可以先通过各BLE模块获取各自与设备标识o对应的外部设备之间的第一距离信息,可得到4个距离信息,包括设备标识o分别与BLE模块1、2、3、4之间的距离,记为do1、do2、do3、do4;然后,通过各BLE模块获取各自与设备标识p对应的外部设备之间的第一距离信息,dp1、dp2、dp3、dp4;进而,获取通过各BLE模块获取各自与设备标识q对应的外部设备之间的第一距离信息,dq1、dq2、dq3、dq4。当然,上述获取过程也可以同时执行,不分先后。
然后,根据第一距离信息和各BLE模块的位置信息,对各外部设备进行定位,得到外部设备的第一坐标信息,此时,第一状态信息为第一坐标信息,其中,BLE模块的位置信息可以包括但不限于BLE模块的坐标信息和各BLE模块之间的距离信息。
由于四个不在同一个平面上的点,当得知某一目标点分别距这四个点的距离时,可以唯一确定该目标点的位置。作为其中一种实施方式,可以基于计算球的交叉点来确定得到外部设备的第一坐标信息,具体的,以头戴显示设备包括4个不在同一平面上的BLE设备为例,对于某一外部设备,在获取到该外部设备分别距4个BLE设备(假设分别处于a1、a2、a3和a4点)的距离(假设分别为dp1、dp2、dp3、dp4)之后,分别以各BLE设备为球心,以对应的距离为球半径画球,例如,以a1点为球心、以dp1为球半径画球,依次类推,可得到4个球,进而根据BLE模块的坐标信息计算这4个球的交叉点坐标,该交叉点坐标即为该外部设备的坐标。作为另一实施方式,可以基于三角定位的方法来确定外部设备的第一坐标信息,具体的,以VR/AR设备包括4个不在同一平面上的BLE设备为例,假设BLE设备1-4分别处于a1、a2、a3和a4点,BLE设备1和2之间的距离为l12、BLE设备1和3之间的距离为l13、BLE设备1和4之间的距离为l14、BLE设备2和3之间的距离为l23、BLE设备2和4之间的距离为l24、BLE设备3和4之间的距离为l34,对于某一外部设备,在获取到该外部设备分别距4个BLE设备的距离dp1、dp2、dp3、dp4之后,由于根据已知的两个顶点坐标和三条边长可确定三角形第三个顶点的坐标(包括2个),即,可根据l12、dp1、dp2及a1和a2点的坐标可确定出两个顶点b1和b2的坐标,进而可根据l13、dp1、dp3及a1和a3点的坐标可确定出两个顶点b3和b4的坐标,根据l14、dp1、dp4及a1和a4点的坐标可确定出两个顶点b5和b6的坐标,依次类推,可得到b1-b12共12个顶点的坐标,然后从12个顶点坐标中筛选出现次数最多的坐标,即为该外部设备的坐标。
当第一状态信息的类型为运动轨迹类时,步骤S20还可以包括:
步骤b3,每隔预设时间分别通过各BLE模块获取各自与所述外部设备之间的第二距离信息;
步骤b4,根据所述第二距离信息和各BLE模块的位置信息,获取所述外部设备的第二坐标信息;
步骤b5,根据所述第二坐标信息获取所述外部设备的运动轨迹,其中,所述第一状态信息为所述运动轨迹。
当第一状态信息的类型为运动轨迹类时,各外部设备的运动轨迹的获取过程如下:每隔预设时间分别通过各BLE模块获取各自与外部设备的第二距离信息,其中,预设时间可以根据实际需要进行设定,如可设为1s或2s,此处不作具体限定,第二距离信息对应的包括预设数量组的距离数据,可选地,预设数量大于或等于3,例如要采集5组距离数据时,当预设时间设为1s时,可以采集5s内的距离信息,其中距离的计算方法可参照上述实施例。在获取到第二距离信息之后,根据第二距离信息和各BLE模块的位置信息,对外部设备进行定位,得到外部设备的第二坐标信息,其中,BLE模块的位置信息可以包括但不限于BLE模块的坐标信息和各BLE模块之间的距离信息,由于第二距离信息包括预设数量组,对应的第二坐标信息也包括预设数量组的坐标信息,每一组坐标的计算方式与上述第一坐标信息的计算方法相同,可参照上述实施例,此处不再赘述。在得到外部设备的第二坐标信息之后,根据第二坐标信息获取外部设备的运动轨迹,此时,第一状态信息为运动轨迹。对于运动轨迹的获取,可先对第二坐标信息进行分类,得到各外部设备的坐标序列,进而对该坐标序列中的坐标进行曲线拟合,即可得到各外部设备的运动轨迹。
步骤S30,根据所述第一状态信息、所述外部设备信息和所述目标外部设备信息确定目标外部设备,并与所述目标外部设备建立通信连接。
在获取到外部设备对应的第一状态信息之后,根据第一状态信息、外部设备信息和目标外部设备信息确定目标外部设备,并与目标外部设备建立通信连接。具体的,作为其中一种实施方式,可先根据第一状态信息从外部设备中确定状态相同的外部设备,记为疑似目标外部设备;然后,从外部设备信息中获取疑似目标外部设备的设备信息,并检测疑似目标外部设备的设备信息与目标外部设备信息是否一致;若一致,则确定疑似目标外部设备为目标外部设备。作为另一种实施方式,可先根据第一状态信息从外部设备中确定状态相同的外部设备,记为疑似目标外部设备;然后,从外部设备信息中获取疑似目标外部设备的设备信息,并检测疑似目标外部设备是否包括至少两组;若疑似目标外部设备包括至少两组,则通过深度摄像头获取外部设备的第二状态信息;然后,从第一状态信息中获取各组疑似目标外部设备的状态信息,记为第三状态信息;进而根据第三状态信息、第二状态信息、疑似目标外部设备的设备信息和目标外部设备信息确定目标外部设备。具体的执行过程可参照下述实施例,此处不再赘述。
进一步地,在设备连接过程中,可依次与各目标外部设备建立通信连接,每当与其中一个目标外部设备连接成功时,对应的目标外部设备也会通过某种方式显示连接成功,例如改变其指示灯、或进行语音、振动提醒,此时,可提示用户寻找到该目标外部设备,并根据该连接成功的目标外部设备的类型提示用户将其穿戴到对应的位置,直至所有的目标外部设备全部连接完成。
本发明实施例提供一种设备连接方法,应用于头戴显示设备,该头戴显示设备包括至少4个BLE模块,且至少4个BLE模块不处于同一平面上,通过获取目标外部设备信息,并扫描得到外部设备的外部设备信息,然后,通过BLE模块获取外部设备的第一状态信息,进而根据第一状态信息、外部设备信息和目标外部设备信息确定目标外部设备,并与目标外部设备建立通信连接。本发明实施例中,通过设定至少4个不处于同一平面上的BLE模块,可基于这些BLE模块定位获取的信息唯一确定得到各外部设备的第一状态信息,进而确定出状态相同的外部设备,并结合设备信息的一致性,从而可实现从众多外部设备中快速确定出所需批量连接的目标外部设备,进而进行批量连接。同时,由于外部设备的第一状态信息可被唯一确定,从而也可保证设备连接的准确性。
进一步地,参照图3,图3为本发明第一实施例中步骤S30的细化流程示意图。在本实施例中,所述目标外部设备包括至少两个,步骤S30包括:
步骤S31,根据所述第一状态信息从所述外部设备中确定状态相同的外部设备,记为疑似目标外部设备;
在本实施例中,先根据第一状态信息从多个外部设备中确定状态相同的外部设备,记为疑似目标外部设备。
具体的,当第一状态信息的类别为坐标类,即第一状态信息为第一坐标信息时,则在确定状态相同的外部设备时,即为确定处于同一位置的外部设备。由于目标外部设备被放置在一起,故各目标外部设备的距离及坐标之间的相差值均在较小范围内,因此,可以先根据第一坐标信息计算各外部设备之间的距离和/或坐标差值,进而通过检测各外部设备之间的距离和/或坐标差值是否符合预设条件来判断哪些外部设备处于同一位置,例如,外部设备1的坐标为(x
1,y
1,z
1),外部设备2的坐标为(x
2,y
2,z
2),可计算得到两者之间的距离为
x轴、y轴和z轴的坐标差值分别|x
1-x
2|、|y
1-y
2|和|z
1-z
2|,进而检测该距离是否小于第一预设阈值和/或x轴、y轴和z轴的坐标差值是否均小于第二预设阈值,来判断外部设备1和2是否处于同一位置,进而得到疑似目标外部设备。
当第一状态信息的类别为运动轨迹类,即第一状态信息为运动轨迹时,则在确定状态相同的外部设备时,即为确定运动轨迹相同的外部设备。可以通过计算各运动轨迹的相似度,然后通过检测相似度是否大于第三预设阈值来判断哪些外部设备的运动轨迹相同,进而得到疑似目标外部设备。
步骤S32,从所述外部设备信息中获取疑似目标外部设备的设备信息;
步骤S33,检测所述疑似目标外部设备的设备信息与所述目标外部设备信息是否一致;
步骤S34,若一致,则确定所述疑似目标外部设备为目标外部设备。
在确定疑似目标外部设备之后,从外部设备信息中获取疑似目标外部设备的设备信息,进而检测疑似目标外部设备的设备信息与目标外部设备信息是否一致,其中,目标外部设备信息至少包括目标外部设备的类型和数量,当然,还可以包括设备名称或设备标识,在检测疑似目标外部设备的设备信息与目标外部设备信息是否一致时,可先统计疑似目标外部设备的类型及各类型对应的数量,然后将统计结果与目标外部设备信息中的目标外部设备的类型和数量进行匹配检测;若检测到疑似目标外部设备的设备信息与目标外部设备信息相一致,则确定疑似目标外部设备为目标外部设备。若检测到疑似目标外部设备的设备信息与目标外部设备信息不一致,可生成对应的提示信息,以提示用户检查确认所需连接的外部设备是否已开启配对模式,或提示用户重新扫描外部设备信息,当然,还可以根据检测结果提示用户疑似目标外部设备中所缺少的设备类型和数量。可以理解,在检测过程中,除可检测类型和数量是否一致外,还可以检测其他信息是否一致,如设备名称和/或设备标识。
通过上述方式,基于四个不在同一个平面上的点、可以唯一确定另外一个点的原理,可唯一确定得到各外部设备的第一状态信息,进而确定出状态相同的外部设备,并结合设备信息(包括类型和数量)的一致性,即可实现从众多外部设备中快速确定出所需批量连接的目标外部设备,进而进行批量连接。同时,由于外部设备的第一状态信息可被唯一确定,从而也可保证设备连接的准确性。
进一步地,基于上述实施方式,提出本发明设备连接方法的第二实施例。参照图4,图4为本发明设备连接方法第二实施例的流程示意图。
在本实施例中,在上述步骤S33之前,该设备连接方法还包括:
步骤S35,检测所述疑似目标外部设备包括一组还是至少两组;
在本实施例中,在某些特殊情况下,可能在不同位置存在多组疑似目标外部设备、且存在多组疑似目标外部设备的设备信息与目标设备信息相一致的情况,因此,为进一步保证设备连接的准确性,可通过深度摄像头获取第二状态信息,以增加检测匹配的维度,提升设备连接的准确性。具体的,在确定疑似目标外部设备之后,可在从外部设备信息中获取疑似目标外部设备的设备信息的同时,检测疑似目标外部设备包括一组还是至少两组。需要说明的是,步骤S35的执行顺序在步骤S31和S33之间,与步骤S32的执行顺序不分先后。
若所述疑似目标外部设备包括一组,则执行步骤S33:检测所述疑似目标外部设备的设备信息与所述目标外部设备信息是否一致;
若疑似目标外部设备包括一组,则进一步检测该疑似目标外部设备的设备信息与目标外部设备信息是否一致,进而执行后续步骤,执行过程可参照上述实施例,此处不作赘述。
若所述疑似目标外部设备包括至少两组,则执行步骤S36:通过深度摄像头获取所述外部设备的第二状态信息;
步骤S37,从所述第一状态信息中获取各组疑似目标外部设备的状态信息,记为第三状态信息;
若疑似目标外部设备包括至少两组,则通过深度摄像头获取外部设备的第二状态信息,然后,从第一状态信息中获取各组疑似目标外部设备的状态信息,记为第三状态信息。可以理解,第二状态信息、第一状态信息和第三状态信息的类型是一致的。
步骤S38,根据所述第三状态信息、所述第二状态信息、所述疑似目标外部设备的设备信息和所述目标外部设备信息确定目标外部设备。
在获取到第二状态信息和第三状态信息之后,则根据第三状态信息、第二状态信息、疑似目标外部设备的设备信息和目标外部设备信息确定目标外部设备。具体的,步骤S38可以包括:
步骤c1,若所述第三状态信息和所述第二状态信息的类型均为坐标类,则将所述第三状态信息转换成与所述第二状态信息相同坐标系下的坐标,得到第四状态信息;
步骤c2,将所述第四状态信息与所述第二状态信息进行匹配,并将所述疑似目标外部设备的设备信息和所述目标外部设备信息进行匹配,得到第一匹配结果;
步骤c3,根据所述第一匹配结果从所述疑似目标外部设备中确定目标外部设备。
若第三状态信息和第二状态信息的类型均为坐标类,则将第三状态信息转换成与第二状态信息相同坐标系下的坐标,得到第四状态信息。虽然第三状态信息和第二状态信息均为坐标类,但是其坐标体系并不相同,第二状态信息是基于VR/AR的世界坐标系、获取得到的,而第三状态信息是基于头戴显示设备为原点构建的第一坐标系、获取得到的,因此,需对第三状态信息进行转换,转换成与第二状态信息相同坐标系下的坐标,得到第四状态信息。
然后,将第四状态信息与第二状态信息进行匹配,同时将疑似目标外部设备的设备信息和目标外部设备信息进行匹配,得到第一匹配结果,根据第一匹配结果从疑似目标外部设备中确定目标外部设备。具体的,可以通过检测第四状态信息对应的坐标与第二状态信息对应的坐标之间的距离和/或坐标差值是否符合预设条件,同时检测多组疑似目标外部设备的设备信息是否存在某一组或几组的设备信息与目标外部设备信息相一致,从而来判断哪一组疑似目标外部设备为目标外部设部,其中,距离和/或坐标差值的计算和检测过程可参照上述实施例。
步骤S38还可以包括:
步骤c4,若所述第三状态信息和所述第二状态信息的类型均为运动轨迹类,则将所述第三状态信息与所述第二状态信息进行匹配,并将所述疑似目标外部设备的设备信息和所述目标外部设备信息进行匹配,得到第二匹配结果;
步骤c5,根据所述第二匹配结果从所述疑似目标外部设备中确定目标外部设备。
若第三状态信息和第二状态信息的类型均为运动轨迹类,则可以直接将第三状态信息与第二状态信息进行匹配,即检测各组疑似目标外部设备的运动轨迹与通过深度摄像头获取到的目标外部设备的运动轨迹是否相一致,同时将疑似目标外部设备的设备信息和目标外部设备信息进行匹配,以检测多组疑似目标外部设备的设备信息是否存在某一组或几组的设备信息与目标外部设备信息相一致,得到第二匹配结果;然后,根据第二匹配结果从疑似目标外部设备中确定目标外部设备。
此外,需要说明的是,当根据第三状态信息、第二状态信息、疑似目标外部设备的设备信息和目标外部设备信息,未从多组疑似目标外部设备中匹配出目标外部设备时,可生成对应的提示信息,以提示用户检查确认所需连接的外部设备是否已开启配对模式,或提示用户重新扫描外部设备信息,当然,还可以根据检测结果提示用户各组疑似目标外部设备中所缺少的设备类型和数量。
为避免某些特殊情况下,可能在不同位置存在多组疑似目标外部设备、且存在多组疑似目标外部设备的设备信息与目标设备信息相一致的情况,本实施例中在检测到疑似目标外部设备包括至少两组时,可通过深度摄像头获取第二状态信息,然后从第一状态信息中获取各组疑似目标外部设备的状态信息,记为第三状态信息;进而根据第三状态信息、第二状态信息、疑似目标外部设备的设备信息和目标外部设备信息确定目标外部设备。通过深度摄像头获取第二状态信息,以增加检测匹配的维度,进一步保证设备连接的准确性。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有设备连接程序,所述设备连接程序被处理器执行时实现如以上任一项实施例所述的设备连接方法的步骤。
本发明计算机可读存储介质的具体实施例与上述设备连接方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。