自动识别身份的方法、装置和芯片与流程

文档序号:22481032发布日期:2020-10-09 22:30阅读:168来源:国知局
自动识别身份的方法、装置和芯片与流程

本申请涉及蓝牙技术领域,并且更具体地,涉及自动识别身份的方法、装置和芯片。



背景技术:

蓝牙低功耗(bluetoohlowenergy,ble)技术以低功耗、灵活性和便捷性在无线传输应用中发挥越来越重要的作用,广泛应用于身份识别和无线控制等应用,手机使用ble技术进行身份识别的场景越来越多,例如,手机打开蓝牙门锁,手机打开蓝牙灯等,在这些应用中,需要通过手机上的应用(application,app)进行连接控制,具体地,用户需要拿出手机,打开用于控制蓝牙设备的app,连接上蓝牙设备,然后再对蓝牙设备进行控制,用户体验不好,因此,如何实现更加便捷的身份识别是一项亟需解决的问题。



技术实现要素:

本申请提供一种自动识别身份的方法、装置和芯片,能够实现便捷的身份识别,从而能够提升用户体验。

第一方面,提供了一种自动识别身份的方法,应用于第一蓝牙低功耗ble端,其中,所述第一ble端被配置为人机交互设备hid,包括:

在第二ble端靠近所述第一ble端时,基于第一蓝牙连接获取所述第二ble端的媒体接入控制mac地址,其中,所述第二ble端为与所述第一ble端绑定过的设备;

根据所述第二ble端的mac地址,确定所述第二ble端是否为可信设备;

根据所述第二ble端是否为可信设备,确定所述第一ble端是否执行预设操作。

在一些可能的实现方式中,通过配置所述第一ble端包括hid服务,电池服务和设备信息服务,以及所述第一ble端所发送的广播数据包中的外观字段为hid以将所述第一ble端配置为hid。

在一些可能的实现方式中,在所述基于第一蓝牙连接获取所述第二ble端的mac地址之前,所述方法还包括:

建立所述第一ble端和所述第二ble端之间的链路层ll连接;

建立所述第一ble端和所述第二ble端之间的加密链路以建立所述第一ble端和所述第二ble端之间的绑定关系,其中,所述加密链路使用第一密钥加密;

通过所述加密链路获取并存储所述第二ble端的mac地址。

在一些可能的实现方式中,所述基于第一蓝牙连接获取所述第二ble端的媒体接入控制mac地址,包括:

向所述第二ble端发送地址获取请求,所述地址获取请求通过所述第一密钥加密,所述地址获取请求用于请求获取所述第二ble端的mac地址;

接收所述第二ble端发送的地址获取响应,所述地址获取响应包括通过所述第一密钥加密的所述第二ble端的mac地址。

在一些可能的实现方式中,所述根据所述第二ble端是否为可信设备,确定所述第一ble端是否执行预设操作,包括:

若所述第二ble端为可信设备,确定所述第一ble端执行所述预设操作;或者

若所述第二ble端不为可信设备,确定所述第一ble端不执行所述预设操作。

在一些可能的实现方式中,所述根据所述第二ble端是否为可信设备,确定所述第一ble端是否执行预设操作,包括:

根据所述第二ble端是否为可信设备,以及所述第二ble端的信号强度、所述第二ble端连续两次被确定为可信设备之间的时间间隔和所述第二ble端的时间权限中的至少一项,确定所述第一ble端是否执行所述预设操作。

在一些可能的实现方式中,所述根据所述第二ble端是否为可信设备,以及所述第二ble端的信号强度、所述第二ble端连续两次被确定为可信设备之间的时间间隔和所述第二ble端的时间权限中的至少一项,确定所述第一ble端是否执行所述预设操作,包括:

若确定所述第二ble端为可信设备,并且所述第二ble端的信号强度大于或等于预设值,确定所述第一ble端执行所述预设操作;或者

若确定所述第二ble端为可信设备,并且所述第二ble端的信号强度小于所述预设值,确定所述第一ble端不执行所述预设操作。

在一些可能的实现方式中,所述根据所述第二ble端是否为可信设备,以及所述第二ble端的信号强度、所述第二ble端连续两次确定为可信设备之间的时间间隔和所述第二ble端的时间权限中的至少一项,确定所述第一ble端是否执行所述预设操作,包括:

若所述第二ble端连续两次被确定为可信设备的时间间隔在所述预设时长内,确定所述第一ble端不执行所述预设操作;或者

若所述第二ble端连续两次被确定为可信设备的时间间隔大于所述预设时长,确定所述第一ble端执行所述预设操作。

在一些可能的实现方式中,所述根据所述第二ble端是否为可信设备,以及所述第二ble端的信号强度、所述第二ble端连续两次确定为可信设备之间的时间间隔和所述第二ble端的时间权限中的至少一项,确定所述第一ble端是否执行所述预设操作,包括:若所述第二ble端为可信设备,并且在所述第二ble端的时间权限范围内,确定所述第一ble端执行所述预设操作;或者

若所述第二ble端为可信设备,但不在所述第二ble端的时间权限范围内,确定所述第一ble端不执行所述预设操作。

在一些可能的实现方式中,所述根据所述第二ble端的mac地址,确定所述第二ble端是否为可信设备,包括:

若所述第二ble端的mac地址在预存的mac地址列表中,确定所述第二ble端为可信设备;或者

若所述第二ble端的mac地址不在预存的mac地址列表中,确定所述第二ble端为不可信设备。

在一些可能的实现方式中,所述第一ble端为蓝牙门锁,所述预设操作为开启所述蓝牙门锁;或者所述第一ble端为蓝牙灯,所述预设操作为开启所述蓝牙灯。

第二方面,提供了一种自动识别身份的装置,所述装置被配置为人机交互设备hid,包括:

存储模块,用于存储与所述装置绑定成功的设备的mac地址列表;

蓝牙低功耗ble模块,用于在第二ble端靠近所述装置时,基于第一蓝牙连接获取所述第二ble端的媒体接入控制mac地址,其中,所述第二ble端为与所述装置绑定过的设备;

处理模块,用于根据所述第二ble端的mac地址,确定所述第二ble端是否为可信设备,根据所述第二ble端是否为可信设备,确定所述装置是否执行预设操作。

在一些可能的实现方式中,通过配置所述装置包括hid服务,电池服务和设备信息服务,以及所述第一ble端所发送的广播数据包中的外观字段为hid以将所述装置配置为hid。

在一些可能的实现方式中,在所述基于第一蓝牙连接获取所述第二ble端的mac地址之前,所述ble模块还用于:

建立所述装置和所述第二ble端之间的链路层ll连接;

建立所述装置和所述第二ble端之间的加密链路以建立所述装置和所述第二ble端之间的绑定关系,其中,所述加密链路使用第一密钥加密;

通过所述加密链路获取并存储所述第二ble端的mac地址。

在一些可能的实现方式中,所述ble模块还用于:

向所述第二ble端发送地址获取请求,所述地址获取请求通过所述第一密钥加密,所述地址获取请求用于请求获取所述第二ble端的mac地址;

接收所述第二ble端发送的地址获取响应,所述地址获取响应包括通过所述第一密钥加密的所述第二ble端的mac地址。

在一些可能的实现方式中,所述处理模块还用于:

若所述第二ble端为可信设备,确定所述装置执行所述预设操作;或者

若所述第二ble端不为可信设备,确定所述装置不执行所述预设操作。

在一些可能的实现方式中,所述处理模块还用于:

根据所述第二ble端是否为可信设备,以及所述第二ble端的信号强度、所述第二ble端连续两次确定为可信设备之间的时间间隔和所述第二ble端的时间权限中的至少一项,确定所述装置是否执行预设操作。

在一些可能的实现方式中,所述处理模块还用于:

若确定所述第二ble端为可信设备,并且所述第二ble端的信号强度大于或等于预设值,确定所述装置执行所述预设操作;或者

若确定所述第二ble端为可选设备,并且所述第二ble端的信号强度小于所述预设值,确定所述装置不执行所述预设操作。

在一些可能的实现方式中,所述处理模块还用于:

若所述第二ble端连续两次被确定为可信设备的时间间隔在所述预设时长内,确定所述装置不执行所述预设操作;或者

若所述第二ble端连续两次被确定为可信设备的时间间隔大于所述预设时长,确定所述装置执行所述预设操作。

在一些可能的实现方式中,所述处理模块还用于:

若所述第二ble端为可信设备,并且在所述第二ble端的时间权限范围内,确定所述装置执行所述预设操作;或者

若所述第二ble端为可信设备,但不在所述第二ble端的时间权限范围内,确定所述装置不执行所述预设操作。

在一些可能的实现方式中,所述处理模块还用于:

若所述第二ble端的mac地址在预存的mac地址列表中,确定所述第二ble端为可信设备;或者

若所述第二ble端的mac地址不在预存的mac地址列表中,确定所述第二ble端为不可信设备。

在一些可能的实现方式中,所述装置为蓝牙门锁,所述预设操作为开启所述蓝牙门锁;或所述装置为蓝牙灯,所述预设操作为开启所述蓝牙灯。

第三方面,提供了一种芯片,用于实现上述第一方面或其各实现方式中的方法。具体地,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述第一方面或其各实现方式中的方法。

第四方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

第五方面,提供了一种包括指令的计算机程序产品,当计算机运行所述计算机程序产品的所述指时,所述计算机执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该计算机程序产品可以运行于上述第三方面的第一ble端上。

基于上述技术方案,通过将第一ble端配置为hid,在绑定过的设备靠近所述第一ble端时,可以自动建立与所述第一ble端的蓝牙连接,进一步可以根据该设备的mac地址确定是否为可信设备,在该设备为可信设备的情况下即可实现对所述第一ble端的操作,这样,对于绑定过的设备,由于第一ble端上存储有该设备的mac地址,因此不需用户操作该设备即可实现对第一ble端的控制,能够提升用户体验。

附图说明

图1是根据本申请实施例的自动识别身份的方法的示意性流程图。

图2是本申请实施例的自动识别的方法的整体流程图。

图3是本申请实施例的自动识别身份的装置的示意性结构图。

具体实施方式

下面将结合附图,对本发明实施例中的技术方案进行描述。

在基于ble技术的无线数据传输中,存在两种角色:从(slave)设备和主(master)设备,其中,slave设备例如可以为蓝牙门锁和蓝牙灯等ble设备,主设备例如可以为手机,平板电脑等移动电子设备。

以下,对ble设备之间的配对过程进行描述。

首先,建立ble设备之间的链路层(linklayer,ll)连接;

具体地,从设备发送广播数据包(advertisingpackets);

在想要与该从设备建立蓝牙连接的情况下,主设备打开蓝牙模块,扫描该广播数据包,进一步地,主设备向从设备发送连接请求;

若从设备接收到主设备的连接请求,可以确定主设备想要与从设备建立蓝牙连接,从设备向主设备回复连接响应。

至此,从设备和主设备之间建立ll连接,期间二者进行信息交互使用的是明文数据,即非加密数据。其中,链路层位于ble协议栈的控制器(controller)部分,具体实现可以参考相关技术,这里不作赘述。

进一步地,基于该ll连接,建立所述ble设备之间的加密链路,即进行配对过程。主要分为三个阶段:

第一阶段,用于交换配对特征以得到临时密钥tk,具体地,交换双方有关鉴权的需求(authenticationrequirements),以及双方具有的人机交互能力(iocapabilities);

第二阶段,根据第一阶段的tk值作为第二阶段的秘钥,以计算身份确认信息以及生成短期密钥stk,其中,该身份确认值为了保证和自身通信的设备是自身需要连接的设备,必须确定对方的身份,主设备和从设备都需要计算身份确认值,从而确定对方是否为所需要连接的设备,stk的作用是配对绑定过程的第三阶段不再使用明文进行数据传输。

第三阶段是设备绑定的过程,这期间会计算加密链路中使用到的长期密钥,例如ltk、irk以及csrk等,该第三阶段传输的数据是通过第一阶段、第二阶段的短期密钥进行加密传输的,因此,第三阶段传输的数据包为加密的密文,主设备和从设备会将长期秘钥进行保存,这样两个设备就绑定成功了,或者说配对成功了,之后二者可以通过该长期密钥进行数据交互。

具体地,当有明文数据包需要发送的时候,需要对该明文数据进行加密。加密的过程,是以明文数据包作为输入,以长期秘钥加密生成密文数据包;

对端当收到密文数据包时,需要对密文数据包进行解密。解密的过程,是以密文数据包为输入,以长期秘钥作为解密秘钥,生成明文数据包。

应理解,以上仅示例了一种ble设备之间的配对过程,本申请实施例的ble设备也可以采用其他配对过程进行配对,本申请并不限于此。

由此可见,主设备和从设备之间进行正常的数据通信之前,需要经过复杂的配对验证过程,例如,若手机向控制蓝牙门锁开启,则需要用户打开手机的蓝牙模块,打开控制蓝牙门锁的开启的app,进一步与蓝牙门锁建立连接,验证通过,才能控制蓝牙门锁开启,对于用户来讲,操作不便捷,使用体验不好。

有鉴于此,本申请实施例提供了一种自动识别身份的方法,能够将蓝牙门锁等ble端配置为人机交互设备(humaninterfacedevice,hid),这样在手机等ble设备靠近第一ble端时,只要该手机的蓝牙模块处于打开状态,手机能够自动与蓝牙门锁建立连接,进一步可以控制蓝牙门锁的开启,不需要用户操作app,有利于提升用户体验。

以下,结合图1,说明根据本申请实施例的自动识别身份的方法200。该方法200可以由第一ble端执行,该第一ble端被配置为hid,该方法200可以包括如下内容:

s201,在第二ble端靠近所述第一ble端时,基于第一蓝牙连接获取所述第二ble端的媒体接入控制mac(mediaaccesscontrol)地址,其中,所述第二ble端为与所述第一ble端绑定过的设备;

s202,根据所述第二ble端的mac地址,确定所述第二ble端是否为可信设备;

s203,根据所述第二ble端是否为可信设备,确定所述第一ble端是否执行预设操作。

应理解,本申请实施例的方法200可以应用于各种ble设备,例如,ble芯片,或者包括ble芯片的设备,例如蓝牙门锁,蓝牙灯等。所述第二ble端例如可以为手机,平板等移动电子设备,本申请实施例对此不作限定。

在本申请实施例中,以所述第一ble端为从设备,所述第二ble端为主设备为例进行说明,第一ble端和第二ble端也可以是ble芯片。

在本申请实施例中,所述第一ble端可以被配置为hid,对于主设备而言,当接收到hid发送的广播数据包时,主动与所述hid建立连接,即不需要用户打开控制该hid的app,只需保持该主设备的蓝牙模块打开即可。

具体地,可以配置该第一ble端包括hid服务,电池(battery)服务和设备信息(deviceinformation)服务,以及可以配置所述第一ble端发送的广播数据包中的外观(appearance)字段可以设置为hid。

当第二ble端靠近该第一ble端时,该第二ble端可以接收所述第一ble端发送的广播数据包,确定所述广播数据包中的appearance字段为hid,可以确定该第一ble端为hid,进一步地,所述第二ble端可以主动建立与所述第一ble端的第一蓝牙连接,具体地,所述第二ble端可以向所述第一ble端发送连接请求,进一步接收所述第一ble端回复的连接响应以建立所述第一蓝牙连接,之后所述第二ble端和所述第一ble端可以通过所述第一蓝牙连接进行数据交互,例如获取所述第二ble端的mac地址。在一些实施例中,所述连接请求还可以包括所述第二ble端和所述第一ble端建立绑定关系时所交互的密钥信息,以便于所述第一ble端确定所述第二ble端为绑定过的设备。也就是说,所述第一ble端也可以通过所述第二ble端的mac地址,或者所述第二ble段的mac地址以及所述密钥信息确定所述第二ble端是否为可信设备。应理解,所述第一蓝牙连接是一条加密链路,该加密链路上传输的数据可以是第二ble端和第一ble端进行配对时所确定的长期密钥。

在另一些实施例中,当未与所述第一ble端建立绑定关系的第三ble端靠近所述第一ble端时,所述第三ble端可以采用前述实施例中的配对过程建立所述第三ble端和所述第一ble端的绑定关系,进一步地,所述第一ble端可以获取所述第三ble端的mac地址,以便于在所述第三ble端下次靠近所述第一ble端时,所述第三ble端能够主动建立与所述第一ble端之间的蓝牙连接,从而所述第一ble端可以基于该蓝牙连接获取所述第三ble端的mac地址以进行所述三ble端的身份验证。

在其他实施例中,第一ble端需要进行密码验证才能配对,与所述第一ble端配对的第三ble端密码验证失败,或者与所述第一ble端连接失败,或者与所述第一ble端配对失败,这些都可以导致所述第一ble端和所述第三ble端绑定失败,也就不能获取所述第三ble端的mac地址。以第一ble端为蓝牙门锁和第三ble端为手机为例,配对失败的手机不能自动与蓝牙门锁建立连接,则蓝牙门锁也就不能基于自动建立的连接获取该手机的mac地址。

进一步地,所述第一ble端可以基于建立的所述第一蓝牙连接获取所述第二ble端的mac地址,例如,所述第一ble端可以通过系统的应用程序接口(applicationinterface,api)获取所述第二ble端的mac地址。

也就是说,与所述第一ble端绑定过的第二ble端靠近所述第一ble端时,所述第二ble端可以自动与所述第一ble端建立连接,从而所述第一ble端可以通过所述连接获取所述第二ble端的mac地址,以确定所述第二ble端是否为可信设备。

应理解,在本申请实施例中,所述第一ble端可以根据所述第二ble端的的mac地址进行身份验证,或者也可以为其他能够标识设备的身份信息进行身份验证,本申请并不限于此。

在本申请实施例中,所述第一ble端中存储有绑定过的设备的mac地址列表。所述第二ble端为与所述第一ble端绑定过的设备,则所述第一ble端保存有所述第二ble端的mac地址。

应理解,本申请实施例并不具体限定所述第二ble端和所述第一ble端建立绑定关系的方式,例如,可以是采用前述实施例中的配对过程建立绑定关系的,或者通过其他方式建立绑定关系的,本申请实施例并不限于此。

所述第二ble端的mac地址可以是在与所述第二ble端建立绑定关系时存储的,也就是说,所述第一ble端在建立与所述第二ble端的绑定关系时可以获取并存储所述第二ble端的mac地址,例如,通过系统的api获取所述第二ble端的mac地址,这样,在下次连接时,通过该第二ble端的mac地址即可验证该第二ble端是否可信。

在一些实施例中,所述第一ble端可以根据所述第二ble端的mac地址是否在存储的mac地址列表中,确定所述第一ble端是否为可信设备。

作为一个示例,若所述第二ble端的mac地址在所述mac地址列表中,则可以确定所述第二ble端为可信设备。

作为另一示例,若所述第二ble端的mac地址不在所述mac地址列表中,则可以确定该第二ble端为不可信设备。

作为再一示例,若所述第二ble端的mac地址不在所述mac地址列表中,也可以将所述第二ble端的mac地址保存至所述mac地址列表,以便于下次连接时,所述第二ble端可以控制所述第一ble端。

因此,在本申请实施例中,通过将第一ble端配置为hid,在绑定过的设备靠近所述第一ble端时,可以自动建立与所述第一ble端的蓝牙连接,进一步可以根据该设备的mac地址确定该设备是否为可信设备,在该设备为可信设备的情况下即可实现对所述第一ble端的控制。对于绑定过的设备,由于第一ble端上存储有该设备的mac地址,因此不需用户操作该设备即可实现对第一ble端的控制,能够提升用户体验。

可选地,在本申请另一些实施例中,所述根据所述第二ble端是否为可信设备,确定所述第一ble端是否执行所述预设操作,包括:

根据所述第二ble端是否为可信设备,以及所述第二ble端的信号强度、所述第二ble端连续两次确定为可信设备之间的时间间隔和所述第二ble端的时间权限中的至少一项,确定所述第一ble端是否执行所述预设操作。

在一些实施例中,所述第一ble端为蓝牙门锁,所述预设操作可以为开启所述蓝牙门锁,或者所述第一ble端为蓝牙灯,所述预设操作可以为开启蓝牙灯,当预设操作为开启蓝牙灯时,当未与第一ble端绑定过的设备接近蓝牙灯时,蓝牙灯也不会开启。

在一些实施例中,当第二ble端与所述第一ble端建立所述第一蓝牙连接后,所述第一ble端可以检查其连接所述第二ble端的信号强度,例如,接收信号强度(receivedsignalstrengthindicator,rssi),若该rssi信号强度小于预设值,则所述第一ble端不执行预设操作,例如,若所述第一ble端为蓝牙门锁,则不开启所述蓝牙门锁,或者若该rssi信号强度大于或等于预设值,则所述第一ble端执行预设操作,例如若所述第一ble端为蓝牙门锁,则开启蓝牙门锁。根据连接的设备的信号强度确定是否操作该第一ble端,有利于避免在该设备距离该第一ble端较远时开启该第一ble端出现安全问题,特别是在蓝牙门锁的应用中,若距离较远的时候,用户的手机与蓝牙门锁建立连接,并且用户的手机是与蓝牙门锁绑定过的设备,则蓝牙门锁会在用户距离较远的时候打开,会带来安全问题,本实施例中,所述预设值可以为手机与门锁距离1m的时候的rssi值,也可以是手机与门锁距离0.5m的rssi值,用户可以根据需求调整该预设值,本实施例对此不做限定。

在另一些实施例中,若所述第二ble端连续两次被确定为可信设备的时间间隔在所述预设时长内,确定不操作述第一ble端;或者

若所述第二ble端连续两次被确定为可信设备的时间间隔大于所述预设时长,确定所述第一ble端执行所述预设操作。

具体地,设置第一数组和第二数组,第一数组用于存储已经匹配成功的设备的信息,即设备的mac地址在mac地址列表中的设备的信息,或者说,确定为可信设备的设备信息,第二数组用于存储从第一数组中的设备匹配成功后的时间计数值。

举例说明,若设备a靠近第一ble端,第一ble端确定设备a的mac地址在mac地址列表中,即设备a匹配成功,则在第一数组中进行查找,确定之前是否已经匹配过该设备a,如果在该第一数组中查找到该设备a,则在该第二数组中获取该设备a对应的时间计数值,即从上一次匹配成功到本次匹配成功之间的时间间隔,如果该时间计数值小于或等于预设时长,例如5分钟,则该第一ble端不执行预设操作,或者若时间计数值大于该预设时长,则该第一ble端执行预设操作,进一步地,还可以清零该第二数组中该设备a对应的时间计数值。

因此,根据一个设备连续被匹配成功的时间间隔确定所述第一ble端是否执行预设操作,有利于避免该设备连续出现在该第一ble端附近时导致的误操作。例如,在蓝牙门锁的应用场景中,若用户持手机在蓝牙门锁附近徘徊,该用户的手机是与蓝牙门锁绑定过的设备,则蓝牙门锁会频繁执行开启操作,但用户的真实意愿并不是要开启蓝牙门锁,在本实施例中,通过配置一定时间内连续的匹配成功不触发开锁操作,有利于避免上述问题。可选地,在一些实施例中,所述时间间隔可以为10分钟,或者半小时,用户也可以根据需求调整该时间间隔,本实施例对此不做限定。

在一些实施例中,每个绑定的设备可以对应相应的时间权限,例如,mac地址列表中包括5个设备的mac地址,该5个设备可以分别对应相应的时间权限,例如,设备a对应的时间权限为永久,设备b对应的时间权限为10天,设备c对应的时间权限为1天等。

这样,在确定所述第一ble端连接的设备的mac地址在mac地址列表中后,还可以进一步结合该设备的时间权限,确定该第一ble端是否执行预设操作,例如,若在该设备的时间权限内,可以确定该第一ble端执行所述预设操作,例如打开蓝牙门锁,否则该第一ble端不执行所述预设操作,例如,不打开蓝牙门锁,从而能够实现不同设备对于第一ble端的精细化控制。

在另一些实施例中,该第一ble端也可以结合设备的时间权限,更新mac地址列表,在超过某个设备的时间权限时,将该设备的mac地址从该mac地址列表中清除,这样,该更新后的mac地址列表中的设备均为在时间权限内的设备,该第一ble端可以直接根据该mac地址列表确定是否操作该第一ble端。例如,所述第一ble端为蓝牙门锁,有5个手机和蓝牙门锁进行了绑定,但5个手机中只有一个手机a具有长期开锁的时间权限,其他设备只有3天的时间权限。当手机和蓝牙门锁自动连接获取该手机的mac地址后,该蓝牙门锁能够获知该手机的时间权限,如果时间权限已过期,可以将该手机对应mac地址从mac地址列表中删除,同时与该蓝牙门锁配对成功的手机也可以具有密钥列表,在该手机的时间权限过期后,该蓝牙门锁也可以将与该手机配对的密钥从密钥列表中删除。

以下,结合图2,从主设备和从设备的角度,说明本申请实施例的自动识别身份的方法的整体流程,但本申请实施例并不限于此。

s301,从设备发送广播数据包,所述广播数据包中的appearance字段为hid。

对应地,主设备在靠近所述从设备时,可以扫描该广播数据包,根据该广播数据包中的appearance字段为hid可以确定该从设备为hid,则可以建立与所述从设备的蓝牙连接。

s302,从设备确定是否与主设备建立连接。

情况1,所述主设备为绑定过的设备,在所述主设备靠近所述从设备时,则所述主设备可以主动建立与所述从设备之间的蓝牙连接。

情况2:所述主设备为未绑定过的设备,用户也可以手动操作该主设备与从设备建立蓝牙连接。

情况3,若没有主设备靠近所述从设备,则没有主设备与所述从设备建立连接。

若从设备和主设备之间建立连接,则执行s303,否则返回s301。

进一步地,在s303中,从设备确定所述主设备和所述从设备是否绑定。

若是,则执行s305,否则执行s304。

作为一个示例,所述主设备和从设备可以通过交互密钥信息确定二者是否绑定,例如,所述主设备可以向所述从设备发送之前建立绑定关系时所保存的密钥信息,从设备可以验证该密钥信息确定该主设备和从设备是否绑定。

在s304中,所述从设备断开与所述主设备之间的连接。

即对于未建立绑定关系的主设备,可以确定其必然为不可信设备,则从设备可以断开与其的蓝牙连接。

或者,在其他实施例中,所述从设备也可以通过前文所描述的配对过程建立所述从设备和所述主设备之间的绑定关系,以便执行后续的流程。

在s305中,所述从设备获取所述主设备的mac地址。

例如,所述从设备可以通过系统的api获取所述主设备的mac地址。

进一步地,在s306中,确定所述主设备的mac地址是否在存储的mac地址列表中。

若是,则执行s308,否则,执行s307。

s307,将该mac地址存储在所述mac地址列表中,进一步执行s308。

s308中,确定所述主设备为可信设备。

进一步地,可以所述从设备执行预设操作,例如打开蓝牙门锁或蓝牙等。

或者,在其他实施例中,若所述mac地址不在存储的地址列表中,所述从设备也可以确定所述主设备为不可信设备。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

并且,在不冲突的前提下,本申请描述的各个实施例和/或各个实施例中的技术特征可以任意的相互组合,组合之后得到的技术方案也应落入本申请的保护范围。

上文结合图1至图2,详细描述了本申请的方法实施例,下文结合图3,描述根据本申请实施例的装置,方法实施例所描述的技术特征适用于以下装置实施例,为了简洁,这里不再赘述。

图3是根据本申请实施例的自动识别身份的装置400的示意性结构图,所述装置被配置为人机交互设备hid,包括:

存储模块410,用于存储与所述装置绑定成功的设备的mac地址列表;

蓝牙低功耗ble模块420,用于在第二ble端靠近所述装置时,基于第一蓝牙连接获取所述第二ble端的媒体接入控制mac地址,其中,所述第二ble端为与所述装置绑定过的设备;

处理模块430,用于根据所述第二ble端的mac地址,确定所述第二ble端是否为可信设备,根据所述第二ble端是否为可信设备,确定所述装置是否执行预设操作。

在一些实施例中,所述存储模块410可以为存储器,可以用于存储计算机程序,所述处理模块430可以为处理器,用于从所述存储器中调用并执行所述计算机程序,用于执行图1至图2所示实施例中的方法步骤。

可选地,在一些实施例中,通过配置所述装置包括hid服务,电池服务和设备信息服务,以及所述第一ble端所发送的广播数据包中的外观字段为hid以将所述装置配置为hid。

可选地,在一些实施例中,在所述基于第一蓝牙连接获取所述第二ble端的mac地址之前,所述ble模块还用于:

建立所述装置和所述第二ble端之间的链路层ll连接;

建立所述装置和所述第二ble端之间的加密链路以建立所述装置和所述第二ble端之间的绑定关系,其中,所述加密链路使用第一密钥加密;

通过所述加密链路获取并存储所述第二ble端的mac地址。

可选地,在一些实施例中,所述ble模块还用于:

向所述第二ble端发送地址获取请求,所述地址获取请求通过所述第一密钥加密,所述地址获取请求用于请求获取所述第二ble端的mac地址;

接收所述第二ble端发送的地址获取响应,所述地址获取响应包括通过所述第一密钥加密的所述第二ble端的mac地址。

可选地,在一些实施例中,所述处理模块还用于:

若所述第二ble端为可信设备,确定所述装置执行所述预设操作;或者

若所述第二ble端不为可信设备,确定所述装置不执行所述预设操作。

可选地,在一些实施例中,所述处理模块还用于:

根据所述第二ble端是否为可信设备,以及所述第二ble端的信号强度、所述第二ble端连续两次确定为可信设备之间的时间间隔和所述第二ble端的时间权限中的至少一项,确定所述装置是否执行预设操作。

可选地,在一些实施例中,所述处理模块还用于:

若确定所述第二ble端为可信设备,并且所述第二ble端的信号强度大于或等于预设值,确定所述装置执行所述预设操作;或者

若确定所述第二ble端为可选设备,并且所述第二ble端的信号强度小于所述预设值,确定所述装置不执行所述预设操作。

可选地,在一些实施例中,所述处理模块还用于:

若所述第二ble端连续两次被确定为可信设备的时间间隔在所述预设时长内,确定所述装置不执行所述预设操作;或者

若所述第二ble端连续两次被确定为可信设备的时间间隔大于所述预设时长,确定所述装置执行所述预设操作。

可选地,在一些实施例中,所述处理模块还用于:

若所述第二ble端为可信设备,并且在所述第二ble端的时间权限范围内,确定所述装置执行所述预设操作;或者

若所述第二ble端为可信设备,但不在所述第二ble端的时间权限范围内,确定所述装置不执行所述预设操作。

可选地,在一些实施例中,所述处理模块还用于:

若所述第二ble端的mac地址在预存的mac地址列表中,确定所述第二ble端为可信设备;或者

若所述第二ble端的mac地址不在预存的mac地址列表中,确定所述第二ble端为不可信设备。

可选地,在一些实施例中,所述装置为蓝牙门锁,所述预设操作为开启所述蓝牙门锁;或所述装置为蓝牙灯,所述预设操作为开启所述蓝牙灯。

因此,在本申请实施例中,通过将装置配置为hid,在绑定过的设备靠近所述装置时,可以自动建立与所述装置的蓝牙连接,进一步可以根据该设备的mac地址确定是否为可信设备,在该设备为可信设备的情况下即可实现对所述装置的控制,对于绑定过的设备,由于装置上存储有该设备的mac地址,因此不需用户操作该设备即可实现对装置的控制,能够提升用户体验。

上述的处理模块可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

上述的存储模块可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。

本申请实施例还提供了一种芯片,用于实现上述图1和图2所示实施例中的方法。具体地,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述实施例中的方法。

本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。该计算机可读存储介质可应用于本申请实施例中的装置,并且该计算机程序使得计算机执行本申请实施例的各个方法中由第一ble端或者第二ble端实现的相应流程,为了简洁,不再赘述。

本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。该计算机程序产品可应用于本申请实施例中的装置,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由第一ble端或者第二ble端实现的相应流程,为了简洁,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形均落在本申请的保护范围内。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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