CN113766482A - 查找蓝牙设备的方法、电子设备及存储介质 - Google Patents

查找蓝牙设备的方法、电子设备及存储介质 Download PDF

Info

Publication number
CN113766482A
CN113766482A CN202111078612.9A CN202111078612A CN113766482A CN 113766482 A CN113766482 A CN 113766482A CN 202111078612 A CN202111078612 A CN 202111078612A CN 113766482 A CN113766482 A CN 113766482A
Authority
CN
China
Prior art keywords
broadcast
electronic device
bluetooth
address
electronic equipment
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
Application number
CN202111078612.9A
Other languages
English (en)
Other versions
CN113766482B (zh
Inventor
李哲
王福凯
唐能福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111078612.9A priority Critical patent/CN113766482B/zh
Publication of CN113766482A publication Critical patent/CN113766482A/zh
Application granted granted Critical
Publication of CN113766482B publication Critical patent/CN113766482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • H04W12/55Secure pairing of devices involving three or more devices, e.g. group pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/61Time-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供了一种查找蓝牙设备的方法、电子设备及存储介质,该方法应用于第一电子设备,第一电子设备和第二电子设备之间的蓝牙连接中断,该查找蓝牙设备的方法包括:第二电子设备在被动扫描模式下,接收到第一电子设备广播的广播数据包,该广播数据包中包括加密的广播时间值,该第二电子设备从广播数据包中获取该广播时间值。第二电子设备验证该广播时间值合法的情况下,播放声音。通过本申请的查找蓝牙设备的方法,可以提高查找蓝牙设备的安全性。

Description

查找蓝牙设备的方法、电子设备及存储介质
技术领域
本申请涉及通信领域,尤其涉及一种查找蓝牙设备的方法、电子设备及存储介质。
背景技术
蓝牙技术是一种支持设备短距离通信的无线电技术,能够在包括移动终端、无线耳机、笔记本电脑、移动硬盘、电子书、相关外设等众多设备之间进行无线信息交换。利用蓝牙技术能够有效地简化移动通信终端设备之间的通信。支持蓝牙功能的设备之间可以通过蓝牙连接进行数据交互。
然而,当出现蓝牙设备丢失的情况,若蓝牙设备体积小(如蓝牙耳机、蓝牙手表、蓝牙鼠标等),用户很难查找到蓝牙设备。
发明内容
为了解决上述技术问题,本申请提供一种查找蓝牙设备的方法、电子设备及存储介质。该方法中,第二电子设备通过对加密数据中的广播时间值进行验证,可以提高查找蓝牙设备的安全性,且第二电子设备采用被动扫描模式,第二电子设备不会产生扫描应答,进一步提高了第二电子设备在查找过程中的安全性。
第一方面,本申请提供一种查找蓝牙设备的方法,第一电子设备与第二电子设备之间的蓝牙连接中断,该方法包括:第二电子设备启动被动扫描模式。第二电子设备接收包含加密数据的广播数据包,该加密数据是由第一电子设备对广播时间值进行加密后获得,广播时间值用于指示第一电子设备广播的时间。第二电子设备从广播数据包中获取广播时间值。第二电子设备根据第二电子设备的本地时间值对广播时间值进行验证,本地时间值用于指示第二电子设备当前的系统时间。第二电子设备若验证广播时间值合法,则控制第二电子设备播放声音。这样,由于第二电子设备在被动扫描模式下,不会产生扫描应答,从而可以避免出现因扫描应答暴露自身的位置,被其他设备跟踪的危险,提高了该第二电子设备的安全性。第一电子设备发送的广播数据包中包括加密数据,加密数据中包含广播时间值,第二电子设备对该广播时间值进行验证。由于广播时间值随着每次广播时刻的不同而改变,而不是固定的数值或者字符串,使得即使出现该加密数据被其他设备盗取的情况,由于广播时间值的不断变化,使得该盗取的广播时间值不能验证合法,进一步提高了第一电子设备查找第二电子设备过程中的安全性,避免第二电子设备被其他电子设备发现。另外,第一电子设备在查找第二电子设备过程中,无需进行蓝牙连接,第二设备在发现第一设备后,主动发出声音,减少第一电子设备查找第二电子设备过程中的交互信息,提高查找的速度。
在一个示例中,第二电子设备若验证广播时间值合法,还可以采用其他提醒方式,例如,第二电子设备若验证广播时间值合法,则第二电子设备与第一电子设备重新建立蓝牙连接,第二电子设备可以采用蓝牙寻向功能(如到达角测量方式或出发角测量方式),获知第二电子设备相对于第一电子设备的位置信息。第二电子设备将该位置信息发送至第一电子设备,由第一电子设备显示该第二电子设备的位置信息,便于用户快速找到第二电子设备。
根据第一方面,第二电子设备的本地时间值对广播时间值进行验证,包括:第二电子设备获取广播时间值与本地时间值之间的差值作为第一差值。第二电子设备检测该第一差值是否大于预设时长;若第二电子设备检测到第一差值小于或等于预设时长,则第二验证广播时间值合法。这样,第二电子设备的本地时间值与第一电子设备的广播时间值的差值应当小于预设时长,若大于预设时长,则指示该第一电子设备与第二电子设备之间的距离远,避免出现第二电子设备发声,而第一电子设备不再周围的情况。
根据第一方面,若第二电子设备检测到第一差值大于预设时长,则第二电子设备验证广播时间值非法;结束对广播数据包的处理。这样,第二电子设备可以减少处理非法的广播数据包的数量,提高第二电子设备处理广播数据包的效率。
根据第一方面,第二电子设备结束对广播数据包的处理包括:第二电子设备丢弃广播数据包。这样,对非法的广播数据包不进行处理,减少处理非法广播数据包的数量,从而可以提高第二电子设备处理广播数据包。
根据第一方面,第二电子设备从广播数据包中获取广播时间值的步骤包括:第二电子设备从广播数据包的指定位置提取加密数据。第二电子设备获取预先存储的链路密钥;采用链路密钥对加密数据进行解密。第二电子设备若检测到解密成功,则读取广播时间值。这样,采用Link Key对加密数据进行解密,由于Link Key是该第一电子设备和第二电子设备共享的密钥,该Link Key的更加安全,不易被其他设备获取。通过使用Link Key解密,也就提高了第二电子设备获取广播时间值的安全性。
根据第一方面,被接收的广播数据包中广播数据的类型被置为制造商特定数据,该指定位置处于广播数据中第2字节之后的位置。这样,广播数据的类型被设置为制造商特定数据,该制造商特定数据中的广播数据可以由第一电子设备自行设置,便于第一电子设备添加加密数据。制造商特定数据的广播数据第1~2字节用于存储公司识别码,第3字节之后的位置即为指定位置,提高了加密数据添加的灵活性。例如,指定位置可以是第3~4字节,也可以是第5~6字节等。
根据第一方面,第二电子设备接收包含加密数据的广播数据包之后,该方法还包括:第二电子设备检测广播数据包是否与第二电子设备匹配。第二电子设备若检测到广播数据包与第二电子设备匹配,则确定执行从广播数据包中获取广播时间值的步骤。这样,该第二电子设备仅将于第二电子设备匹配的广播数据包进行后续的处理,减少处理与第二电子设备不匹配的广播数据包,提高第二电子设备对广播数据包的处理效率。
根据第一方面,第二电子设备检测广播数据包是否与第二电子设备匹配的步骤,包括:第二电子设备从广播数据包中获取第一电子设备的蓝牙地址。第二电子设备检测是否存在与第一电子设备的蓝牙地址匹配的存储地址,存储地址为与第二电子设备蓝牙连接的对端设备的蓝牙地址。第二电子设备若检测到与第一电子设备的蓝牙地址匹配的存储地址,则确定广播数据包与第二电子设备匹配。示例性的,第一电子设备的蓝牙地址可以是经典蓝牙地址,或者是等效地址,即第一电子设备的蓝牙地址具有唯一性,可以作为识别第一电子设备的信息。第二电子设备从广播数据包中获取第一电子设备的蓝牙地址,通过对第一电子设备的蓝牙地址的检测,可以实现对广播数据包的初步过滤,即排除其他电子设备发送的广播数据包,进一步第二电子设备对广播数据包的处理效率。
根据第一方面,第二电子设备检测广播数据包是否与第二电子设备匹配的步骤,包括:获取广播数据包的地址;查询白名单中是否存在与广播数据包的地址匹配的设备地址;若查询到白名单中存在与广播数据包的地址匹配的设备地址,则确定广播数据包与第二电子设备匹配。这样,可以采用白名单的方式实现对广播数据包的过滤,采用广播数据包,则第一电子设备无需将第一电子设备的蓝牙地址添加至广播数据包中,减少广播数据包中的携带的信息。
根据第一方面,该第二电子设备查找蓝牙设备的方法还包括:第二电子设备存储至少两个与第二电子设备蓝牙配对的设备的链路密钥、设备地址以及验证时间,验证时间用于指示配对的设备的系统时间,其中,验证时间有唯一对应的定时器。第二电子设备存储每个配对的设备的链路密钥、设备地址、以及设备的验证时间之间的对应关系。第二电子设备获取预先存储的链路密钥的步骤包括:第二电子设备根据配对的设备的设备地址以及对应关系,获取该配对的设备的链路密钥。第二电子设备获取广播时间值与本地时间值之间的差值作为第一差值之前,还包括:第二电子设备获取验证时间对应的时器的时长;获取验证时间与定时器的时长之间的和值;第二电子设备将和值作为本地时间值。这样,第二电子设备可以存储多个与第二电子设备配对的设备的链路密钥,从而可以支持多个与第二电子设备配对的设备的查找,提高了查找第二电子设备的灵活性。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:第二电子设备与第一电子设备之间的蓝牙连接中断的时长超过第一预设时长,第二电子设备进入休眠模式。第二电子设备检测到第二电子设备处于休眠模式的时长超过第二预设时长,则触发第二电子设备执行启动被动扫描模式的步骤。这样,当第二电子设备进入休眠模式后,既不能被扫描发现,也不能主动连接设备,在该模式下,无法对第二电子设备进行查找,本示例中第二电子设备检测到处于休眠模式的时长超过第二预设时长,则触发第二电子设备启动被动扫描模式,通过对休眠模式时长的判断,可以解决该第二电子设备不能查找的问题。
根据第一方面,在第二电子设备与第一电子设备在配对成功之后,在第一电子设备与第二电子设备之间的蓝牙连接中断之前,该方法还包括:第二电子设备向第一电子设备发送时间同步请求,由第一电子设备将第一电子设备的标准时间返回第二电子设备。第二电子设备根据标准时间,校准时间。第二电子设备向第一电子设备反馈校准完成的消息;与第一电子设备进行数据交互。这样,第二电子设备在与第一电子设备进行数据交互之前,进行时间校准,且第二电子设备以第一电子设备发送的标准时间进行时间校准,使得第二电子设备与第一电子设备的系统时间保持一致,既可以保证第二电子设备与第一电子设备之间数据交互的准确性,还可以提高后续对广播时间值的合法性验证的准确性。
根据第一方面,或者以上第一方面的任意一种实现方式,在向第一电子设备反馈校准完成的消息之后,该方法还包括:保存第一电子设备的蓝牙地址。在第二电子设备反馈校准完成的消息前,该第一电子设备发送标准时间至第二电子设备需要在第二电子设备与第一电子设备的服务连接之后,即蓝牙耳机在配对成功后保存手机的蓝牙地址,无需检测手机与该蓝牙耳机之间的配对是否失败,也无需在蓝牙耳机与手机配对失败后删除该配对失败的手机的蓝牙地址,减少了蓝牙耳机的处理步骤。
根据第一方面,若第二电子设备的白名单中存储有设备的等效地址,方法还包括:第二电子设备保存第一电子设备的身份验证密钥。第二电子设备建立第一电子设备的身份验证密钥与第一电子设备的等效地址之间的对应关系。这样,白名单中存储的设备地址为设备的等效地址,第二电子设备保存第一电子设备的身份验证密钥以及身份验证密钥与第一电子设备的等效地址之间的对应关系,使得第二电子设备可以使用白名单过滤广播数据包的方式,避免出现不适用的情况。
第二方面,本申请提供一种查找蓝牙设备的方法,应用于第一电子设备,该方法包括:第一电子设备响应于用户的查找操作,对广播时间值进行加密,获得加密数据,广播时间值用于指示第一电子设备广播的时间。第一电子设备向广播数据包中添加加密数据;第一电子设备广播广播数据包,以供第二电子设备接收广播数据包。这样,用户发现第二电子设备出现丢失的情况,进行用户查找的操作,该第一电子设备响应于用户的查找操作,对广播数据包进行设置,在广播数据包中添加包括广播时间值的加密数据。添加加密数据可以增加广播数据包中信息的安全性。且由于广播时间值是实时变化的,即使出现广播数据包被盗的情况,使得该盗取的广播时间值不能通过验证,进一步提高了第一电子设备查找第二电子设备过程中的安全性,避免第二电子设备被其他电子设备发现。
根据第二方面,第一电子设备响应于用户的查找操作,对广播时间值进行加密,获得加密数据的步骤,包括:第一电子设备获取预先存储的链路密钥。第一电子设备采用该链路密钥对广播时间值进行加密,获得加密数据。这样,第一电子设备和第二电子设备各自保存有相同的链路密钥,该链路密钥不易被人盗取,利用该链路密钥对广播时间值进行加密,可以提高广播时间值的安全性,降低广播时间值被盗取的风险。
根据第二方面,第一电子设备向广播数据包中添加加密数据的过程,包括:第一电子设备将广播数据包中广播数据的类型设置为制造商特定数据;第一电子设备在广播数据包的指定位置添加加密数据,指定位置处于广播数据第2字节之后的位置。这样,第一电子设备在指定位置添加加密数据,便于第二电子设备提取该加密数据。
根据第二方面,指定位置位于第3~4字节。该加密数据占用2个字节,可以确定广播时间值的精确度。
根据第二方面,第一电子设备在广播数据包中添加第一电子设备的蓝牙地址。第一电子设备在广播数据包中添加第一电子设备的蓝牙地址,以便第二电子设备可以根据该第一电子设备的蓝牙地址识别出该第二电子设备,提高第二电子设备获取正确的广播数据包的概率。
根据第二方面,若第一电子设备的蓝牙地址的添加位置为广播数据的第3~8字节,则指定位置为广播数据的第9~10字节;若指定位置为广播数据的第3~4字节,第一电子设备的蓝牙地址的添加位置为广播数据的第5~10字节。这样,广播数据包中第一电子设备的蓝牙地址和指定位置可以灵活设置。
根据第二方面,在第一电子设备与第二电子设备在配对成功之后,且在进行数据交互之前,该方法还包括:第一电子设备响应于第二电子设备发送的时间同步请求,将第一电子设备的标准时间返回第二电子设备,以供第二电子设备根据标准时间,校准时间。第一电子设备接收第二电子设备反馈的校准完成的消息。这样,第一电子设备将自身的标准时间发送至第二电子设备,从而保证该第二电子设备校准后的时间与第一电子设备的系统时间一致,同时第一电子设备接收第二电子设备反馈的校准完成的消息,使得第一电子设备可以及时进行后续的操作,示例性的,如进行数据交互的操作。
根据第二方面,该方法还包括:第一电子设备响应于用户的停止查找的操作,指示第一电子设备停止广播。这样,第一电子设备可以及时停止广播,减小第一电子设备的功耗。
第三方面,本申请提供了一种电子设备,包括一个或多个接口电路和一个或多个处理器;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令。当处理器执行计算机指令时,使得电子设备执行第一方面以或者以上第一方面的任意一种实现方式的查找蓝牙设备的方法。示例性的,该电子设备属于第二电子设备。
第三方面涉及的电子设备与第一方面以及第一方面的任意一种实现方式相对应。第三方面所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请提供一种电子设备,包括一个或多个接口电路和一个或多个处理器;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令。当处理器执行计算机指令时,使得电子设备执行第二方面以或者以上第二方面的任意一种实现方式的查找蓝牙设备的方法。示例性的,该电子设备属于第一电子设备。
第四方面涉及的电子设备与第二方面以及第二方面的任意一种实现方式相对应。第四方面所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第五方面,本申请提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序在电子设备上运行时,使得电子设备执行第一方面以及第一方面的任意一种实现方式相对应的查找蓝牙设备的方法。
第六方面,本申请提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序在电子设备上运行时,使得电子设备执行第二方面以及第二方面的任意一种实现方式相对应的查找蓝牙设备的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是示例性示出的第一电子设备的结构示意图;
图2是示例性示出的蓝牙协议框架的示意图;
图3是示例性示出的第二电子设备的结构示意图;
图4是示例性示出的TWS蓝牙耳机的结构示意图;
图5是示例性示出的手机扫描可被发现的蓝牙设备的示意图;
图6是示例性示出的手机扫描到的蓝牙设备的界面示意图;
图7是示例性示出的蓝牙耳机与手机配对的流程示意图;
图8是示例性示出的蓝牙耳机与手机进行时间校准的示意图;
图9是示例性示出的一种应用场景的示意图;
图10是示例性示出的蓝牙耳机启动被动扫描的内部交互示意图;
图11是示例性示出的手机查找蓝牙设备的内部交互示意图;
图12是示例性示出的广播数据包的结构示意图;
图13是示例性示出的蓝牙耳机进行扫描的示意图;
图14是示例性示出的蓝牙耳机接收到广播数据包A的情况下,蓝牙耳机内部的交互示意图;
图15是示例性示出的蓝牙耳机接收到广播数据包C的情况下,蓝牙耳机内部的交互示意图;
图16是示例性示出的蓝牙耳机接收到广播数据包D的情况下,蓝牙耳机内部的交互示意图;
图17是示例性示出的蓝牙耳机设置扫描白名单的交互示意图;
图18是示例性示出的另一种广播数据包的结构示意图;
图19是示例性示出的蓝牙耳机采用白名单的情况下,该蓝牙耳机执行查找蓝牙设备的方法的示意图;
图20是示例性示出的蓝牙耳机保存至少2个Link Key的场景示意图;
图21是示例性示出的蓝牙耳机执行查找蓝牙设备的方法的内部交互示意图;
图22是示例性示出的蓝牙耳机与手机交互的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
图1示出了第一电子设备100的结构示意图。应该理解的是,图1所示第一电子设备100仅是第一电子设备的一个范例,并且第一电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
第一电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是第一电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为第一电子设备100充电,也可以用于第一电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
在本申请实施例中,处理器110可以响应于用户的操作,例如,用户在点击蓝牙功能开关时,开启手机的蓝牙功能。再如,用户点击应用程序的图标,启动该图标对应的应用程序。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过第一电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。第一电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。第一电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在第一电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。无线通信模块160可以提供应用在第一电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wirelessfidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,第一电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得第一电子设备100可以通过无线通信技术与网络以及其他设备通信。
第一电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED)等。在一些实施例中,第一电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
第一电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展第一电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行第一电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储第一电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
第一电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
压力传感器用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏194。压力传感器的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器,电极之间的电容改变。第一电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,第一电子设备100根据压力传感器检测所述触摸操作强度。第一电子设备100也可以根据压力传感器的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器可以用于确定第一电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器确定第一电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器检测第一电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消第一电子设备100的抖动,实现防抖。陀螺仪传感器还可以用于导航,体感游戏场景。
指纹传感器用于采集指纹。第一电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器,也称“触控面板”。触摸传感器可以设置于显示屏194,由触摸传感器与显示屏194组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器也可以设置于第一电子设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。第一电子设备100可以接收按键输入,产生与第一电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
如图2所示,本申请实施例提供一种蓝牙协议框架,包括但不限于控制器(controller)、主机控制器接口(host controller interface,HCI)、主机(host)以及应用等。
控制器定义了底层硬件部分,包括无线射频(radio frequency,RF)、基带(baseband,BB)、链路管理(link manager,LM)和链路控制(link control,LC)等。RF层通过2.4GHz无需授权的ISM频段的微波,实现数据位流的过滤和传输,主要定义了蓝牙收发器在此频带正常工作所需要满足的条件。基带负责跳频以及蓝牙数据和信息帧的传输。链路管理负责连接、建立和拆除链路并进行安全控制。LM层是蓝牙协议栈的链路管理层协议,负责将上层HCI命令翻译成基带能接受的操作,建立ACL和同步链路(synchronous connection-oriented/extended,SCO)以及使蓝牙设备进入节能状态的工作模式等。LC层负责在一批数据包传送期间,响应上层LM命令(如执行建立数据包的传输链路,维持链路等功能的LM命令)。
主机控制器接口为上层协议提供了进入链路管理器的统一接口和进入基带的统一方式,在主机核心协议栈和控制器之间会存在若干传输层,这些传输层是透明的,完成传输数据的任务,蓝牙技术联盟(bluetooth special interest group,SIG)规定了四种与硬件连接的物理总线方式,即四种HCI传输层:USB、RS232、UART和PC卡。
主机定义了核心协议(protocol),包括但不限于蓝牙基本的服务协议(servicediscover protocol,SDP)、逻辑链路控制和适配协议(Logical Link Control andAdaptation Protocol,L2CAP)等。核心协议是蓝牙协议栈中必不可少的。
上层的应用定义了三种类型:特性(characteristic)、服务(service)和规范(profile)。这些规约均构建在通用属性规范上。通用属性规范为特性和服务定义了属性分组,应用程序为使用这些属性组定义了规约。
本申请实施例所述的查找蓝牙设备的方法由图1所示的第一电子设备100的无线通信模块160来实现的部分内容,具体可以是蓝牙模块或者是蓝牙芯片来执行。
图3示例性的示出了本申请实施例提供的第二电子设备200的结构示意图。
下面以第二电子设备200为例对实施例进行具体说明。应该理解的是,图3所示第二电子设备200仅是一个范例,并且第二电子设备200可以具有比图3中所示的更多或更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图3中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现,
如图3所示,第二电子设备200可以包括:处理器201A,存储器202A,蓝牙通信模块203A,天线204A,电源开关205A,USB通信处理模块206A,音频模块207A。其中:
处理器201A可用于读取和执行计算机可读指令。具体实现中,处理器201A可主要包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器201的硬件架构可以是专用集成电路(ASIC)架构、MIPS架构、ARM架构或者NP架构等等。
在一些实施例中,处理器201A可以用于解析蓝牙通信处理模块203接收到的信号,如第一电子设备100发送的配对请求或广播数据包等等。处理器201A可以用于根据配对请求进行配对处理,生成Link Key;还可以用于对广播数据包进行配置等等。
存储器202A与处理器201A耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器202A可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器202A可以存储操作系统,例如uCOS,VxWorks、RTLinux等嵌入式操作系统。存储器202A还可以存储通信程序,该通信程序可用于与第一电子设备100,一个或多个服务器,或其他设备进行通信。
蓝牙通信模块203A可以包括经典蓝牙(BR/EDR)模块和低功耗蓝牙(BLE)模块。
在一些实施例中,蓝牙通信模块203A、可以监听到其他设备(如第一电子设备100)发射的信号,如探测请求、广播数据包等等,使得第二电子设备200可以发现其他设备(如第一电子设备100)。
在另一些实施例中,蓝牙通信模块203A也可以发射信号,如广播BLE信号,使得其他设备(如第一电子设备100)可以发现第二电子设备200,并与其他设备(如第一电子设备100)建立无线通信连接,通过蓝牙与其他设备(如第一电子设备100)进行通信。在另一些实施例中,该无线通信模块203A可以为蓝牙芯片。
第二电子设备200的无线通信功能可以通过天线204A,蓝牙通信模块203A,调制解调处理器等实现。
天线204A可用于发射和接收电磁波信号。第二电子设备200中的每个天线可用于覆盖单个或多个通信频带。在一些实施例中蓝牙通信模块203A的天线可以有一个或多个。
电源开关205A可用于控制电源向第二电子设备200的供电。
USB通信处理模块206可用于通过USB接口(未示出)与其他设备进行通信。
音频模块207A可用于通过音频输出接口输出音频信号,这样可使得第二电子设备200支持音频播放。音频模块还可用于通过音频输入接口接收音频数据。第二电子设备200可以为蓝牙耳机等媒体播放设备。
在一些实施例中,第二电子设备200还可以包括显示屏(未示出),其中,该显示屏可用于显示图像,提示信息等。显示屏可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED)显示屏,有源矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED)显示屏,柔性发光二极管(flexible light-emitting diode,FLED)显示屏,量子点发光二极管(quantumdotlight emitting diodes,QLED)显示屏等等。
在一些实施例中,第二电子设备200还可以包括RS-232接口等串行接口。该串行接口可连接至其他设备,如音箱等音频外放设备,使得第二电子设备200和音频外放设备协作播放音视频。
本申请实施例所提供的方法中,第二电子设备200使用的蓝牙协议框架可以参考上述图2,在此不再赘述。
本申请实施例的描述中,第一电子设备100以手机为例,在其他实施例中,本申请中的第一电子设备100还可以是平板电脑、手提电脑、穿戴式电子设备(如支持蓝牙通信的手表)。第二电子设备200可以是蓝牙音频外放设备(如蓝牙音响)、穿戴式电子设备(如支持蓝牙通信的手表、蓝牙耳机)等,本申请实施例不做限制。本申请实施例中第二电子设备200以蓝牙耳机为例,该蓝牙耳机可以真无线立体声(true wireless stereo,TWS)蓝牙耳机,TWS蓝牙耳机如图4所示,可以包括分别佩戴于用于左耳的左耳塞401(也可以称为第一部分)和佩戴于右耳的右耳塞402(也可以称为第二部分)。该TWS蓝牙耳机还可以包括用于收纳左耳塞401和右耳塞402的耳机盒403。在一些实施例中,耳机盒403内部可以具有一个或多个磁体,以将左耳塞401和右耳塞402吸引到耳机盒403内的腔体中。该耳机盒403可以包括电池和多个输入/输出接口。在一些实施例中,该输入/输出接口可以为盒电连接器。当耳机盒403中的一对盒电连接器,分别与左耳塞401和右耳塞402中的电连接器建立电连接后,耳机盒403可以通过自身的电池分别为左耳塞401和右耳塞402中的电池充电。
用户可以在双耳模式或单耳模式下使用TWS蓝牙耳机。在单耳模式下,用户佩戴左耳塞401,或者佩戴右耳塞402,进行听音乐或接/打电话等音频业务。在双耳模式下,用户可以佩戴两个耳塞欣赏音乐或进行其他音频业务。在双耳模式下,两个耳塞有主耳塞和副耳塞之分。并且,在TWS蓝牙耳机的使用过程中,两个耳塞的主、副角色还可以进行切换。
在一些实施例中,主耳塞和副耳塞可以与第一电子设备100之间建立双发连接。在双发方案中,第一电子设备100分别与TWS蓝牙耳机的两只耳塞建立蓝牙连接。第一电子设备100分别通过与TWS蓝牙耳机的两只耳塞之间的蓝牙链路交互连接控制信息、音频数据和业务控制信息。
在其他实施例中,主耳塞与第一电子设备100之间建立了无线连接,主耳塞和第一电子设备100之间可以进行无线通信,交互控制信息和音频数据。主耳塞与副耳塞之间也建立了无线连接,主耳塞可以通知副耳塞进行状态同步,例如建立/断开与电子设备之间的物理连接、虚拟连接等。副耳塞可以通过主耳塞的转发、监听或近场磁感应(near fieldmagnetic induction,NFMI)等方式接收电子设备发送的音频数据。
下面结合具体场景,对本申请实施例中查找蓝牙设备的方法进行详细说明。
图5为示例性示出的手机扫描可被发现的蓝牙设备的示意图。一个示例中,若手机的蓝牙功能默认开启,手机开启蓝牙扫描功能,以搜寻在手机的蓝牙连接范围内可被发现的蓝牙设备。在另一个示例中,若手机的蓝牙功能默认关闭,用户可以开启蓝牙功能,手机接收到用户开启的操作,开启蓝牙扫描功能。
继续参考图5,手机周围的蓝牙设备有TWS蓝牙耳机(以下简称蓝牙耳机)、蓝牙手表以及蓝牙音响。若手机扫描到该蓝牙耳机、蓝牙手表以及蓝牙音响,可以在手机界面上显示扫描到的蓝牙设备。图6示出了手机扫描到的蓝牙设备。图6的蓝牙界面601中的附近设备列表包括当前手机搜索到的可被发现的蓝牙设备。该附近设备列表中包括3个选项,分别为602、603和604。各个选项中包括可被发现的蓝牙设备的名称,如图6所示,选项602中显示了蓝牙设备的名称(如LiMei的耳机)。用户可以通过点击选项,发起对该选项指示的蓝牙设备发起配对请求,如图6所示,用户点击选项602,该手机向LiMei的耳机发起配对请求。
下面结合附图7介绍该LiMei的耳机(即蓝牙耳机)与手机之间配对的过程。
本示例中以安全简单配对(Security Simple Pairing,SSP)方式为例。在其他实施例中,还可以采用PIN码配对方式,本申请实施例中不做限制。图7为示例性示出的蓝牙耳机与手机配对的流程示意图。该蓝牙耳机与手机配对的流程包括:
步骤101:交换公钥。
示例性的,手机和蓝牙耳机可以在配对之前计算各自的椭圆曲线(Diffie-Hellman,ECDH)密钥对(即公钥-私钥对)。在手机与蓝牙耳机建立链路连接后,手机可以通过该链路连接向蓝牙耳机发送手机的公钥,蓝牙耳机使用自己的公钥进行应答,从而实现手机与蓝牙耳机之间的公钥交换。手机和蓝牙耳机可以根据获取的公钥计算出本端各自的Diffie-Hellman密钥(DHKey)。
一个示例中,若手机和蓝牙耳机的控制器和主机均支持安全连接时,手机和蓝牙耳机可以使用P-256椭圆曲线生成密钥对。在另一个示例中,若手机和蓝牙耳机中任意一个设备的控制器或主机不支持安全连接时,则手机和蓝牙耳机均使用P-192椭圆曲线生成密钥对。
需要说明的是,若手机和蓝牙耳机采用PIN码的配对方式进行配对,则手机和蓝牙耳机不进行公钥交换的步骤。
步骤102:鉴权。
示例性的,鉴权包括两个阶段,鉴权阶段1和鉴权阶段2。鉴权阶段1有三种不同的协议:数字比较协议、带外协议和密钥输入协议。直接连接(Just Works)关联模型没有单独的协议。直接连接关联模型共享数值比较协议。该鉴权阶段1中的协议是基于手机和蓝牙耳机各自的输入/输出(IO)能力选择的。
数字比较协议,需要配对连接的两个蓝牙设备都有屏幕,由屏幕显示一个六位数字,并且可以为用户提供输入“Yes”或者“No”的选项。显示的6位数字的范围为:000000~999999,用户比较两个设备上显示的数字是否一致。两个蓝牙设备上都确定Yes,则鉴权阶段1的鉴权成功。
密码输入协议,需要配对连接的设备中至少一个蓝牙设备具有输入能力且不具有显示六位数字的能力,另一个蓝牙设备具有输出显示六位数字的能力。若只具有输入能力的蓝牙设备正确输入另一个蓝牙设备上显示的六位数字,则鉴权阶段1的鉴权成功。
直接连接关联模型,需要配对连接的两个蓝牙设备中至少有一个蓝牙设备不具有显示六位数字的显示器,也不具有能够输入六位数字的键盘。该模型使用类似数字比较协议,但不会向用户显示那六位数字,应用程序可以简单地要求用户接受连接即可。由于看不到配对过程,总是同意配对,所以该方式无法防止中间人(MITM)攻击。
OOB协议,需要两个配对的蓝牙设备通过其他途径交换配对信息,比如通过NFC功能交换配对信息。
在鉴权阶段1成功之后,进入鉴权阶段2,若确认两个蓝牙设备都已成功地完成了配对信息的交换,则鉴权阶段2的鉴权成功。当鉴权阶段2成功后,即鉴权完成,可以执行步骤103。
步骤103:生成Link Key。
示例性的,鉴权成功后,手机和蓝牙耳机各自根据共享密钥DHKey计算链路密钥(Link Key)。
步骤104:保存Link Key。
示例性的,手机通过自身的HCI上报手机的Host保存Link Key;蓝牙耳机通过自身的HCI上报蓝牙耳机的Host,保存Link Key。
步骤105:认证和加密。
示例性的,蓝牙耳机和手机各自的Host可以利用Link Key进行认证并利用LinkKey生成用于加密待传输数据的密钥。
本申请实施例中,在手机与蓝牙耳机配对完成之后,且在手机与蓝牙耳机进行数据交互之前,蓝牙耳机与手机进行时间校准。图8为示例性示出了蓝牙耳机与手机进行时间校准的交互示意图。如图8所示,该蓝牙耳机与手机进行时间校准的流程包括:
步骤201:蓝牙耳机与手机建立服务连接。
示例性的,在蓝牙耳机与手机完成配对之后,蓝牙耳机与手机建立蓝牙的服务连接,通过蓝牙的服务连接,手机和蓝牙耳机之间可以进行蓝牙服务业务的数据交互。
步骤202:蓝牙耳机向手机发送时间同步请求。
在蓝牙耳机与手机进行服务业务的数据交互之前,蓝牙耳机向手机发送时间同步请求。
步骤203:手机将标准时间返回至蓝牙耳机。
示例性的,手机响应于该时间同步请求,查询手机当前的系统时间。一个示例中,手机可以将查询到的系统时间作为标准时间,并将该标准时间返回至蓝牙耳机。
在另一个示例中,由于传输存在时延,蓝牙耳机发送的时间同步请求中可以包含耳机发送该时间同步请求的时间,手机在接收到该时间同步请求后,计算出手机与蓝牙耳机之间的数据传输时延,将系统时间与数据传输时延之和作为标准时间返回至蓝牙耳机。
步骤204:蓝牙耳机在校准时间完成后,向手机返回校准完成的消息。
蓝牙耳机响应于手机返回的标准时间,按照该标准时间调整耳机的系统时间,以使耳机的系统时间与手机的系统时间保持一致。蓝牙耳机在完成校准时间的操作后,向手机发送校准完成的消息。
步骤205:蓝牙耳机保存手机的蓝牙地址。
蓝牙耳机可以在校准时间完成之后保存手机的蓝牙地址。需要说明的是,本申请实施例中蓝牙耳机保存手机的蓝牙地址的时机仅为举例,在其他实施例中,蓝牙耳机还可以在其他时机保存手机的蓝牙地址,例如,蓝牙耳机还可以在执行步骤104保存Link Key的同时,保存手机的蓝牙地址;还可以建立Link Key与手机的蓝牙地址之间的对应关系,并保存该对应关系,以便通过蓝牙地址查询匹配的Link Key。蓝牙耳机还可以在建立与手机的链路连接之后,保存手机的蓝牙地址。可选地,若蓝牙耳机检测到与手机配对失败,则可以将配对失败的手机的蓝牙地址删除,即蓝牙耳机仅保存配对成功的手机的蓝牙地址,本申请不限制保存手机的蓝牙地址的时机。
此外,在一个示例中,若手机采用经典蓝牙芯片,则手机的蓝牙地址可以为手机的经典蓝牙地址。在另一个示例中,若手机采用BLE蓝牙芯片,则手机的蓝牙地址可以是手机的等效地址。
本示例中,蓝牙耳机在配对成功后保存手机的蓝牙地址,无需检测手机与该蓝牙耳机之间的配对是否失败,也无需在蓝牙耳机与手机配对失败后删除该配对失败的手机的蓝牙地址,减少了蓝牙耳机的处理步骤。
步骤206:蓝牙耳机与手机进行数据交互。
示例性的,交互的数据可以是服务业务的数据,例如,音频数据、控制指令等数据。
蓝牙耳机接收与视频数据匹配的音频数据,并播放该音频数据,若蓝牙耳机的系统时间与手机的系统时间不一致,则会导致播放的音频数据与视频数据不匹配,即画面与声音不对应的情况,影响用户的体验。本示例中,蓝牙耳机与手机在数据交互之前,蓝牙耳机与手机校准时间,可以保证蓝牙耳机的系统时间与手机的系统时间一致,确保数据传输的准确性,避免出现蓝牙耳机播放的声音与手机中播放的视频不匹配的问题。
图9为示例性示出的一种应用场景的示意图。参考图9,示例性的,用户(即LiMei)的家包括房间1和房间2,房间1与房间2之间有墙壁和门。用户的蓝牙耳机的左耳塞在房间1中,用户的手机以及蓝牙耳机的右耳塞在房间2内。用户的手机与右耳塞之间处于蓝牙连接状态,而左耳塞由于处于房间1内,与手机之间的距离远,且房间1与房间2之间有墙壁和门的阻挡,导致该手机与该左耳塞之间的蓝牙连接断开。蓝牙耳机设置有用于触发蓝牙耳机进入休眠模式的第一定时器。在一个示例中,该蓝牙耳机的左耳塞在检测到与手机之间的蓝牙连接断开,且检测到左耳塞与耳机盒中的输入/输出接口未连接,则该蓝牙耳机启动第一定时器。第一定时器达到第一预设时长(可根据需求进行设置,如10min),则触发蓝牙耳机进入休眠模式。
在另一个示例中,蓝牙耳机的左耳塞在检测到与手机之间的蓝牙连接断开,则直接启动第一定时器。第一定时器达到预设时长,则触发蓝牙耳机进入休眠模式。
通常休眠模式下,左耳塞只有一个低频(休眠)时钟及其逻辑会保持运行,以进行计时和唤醒。故在休眠模式下,左耳塞处于既不能连接也不能被发现的状态。用户即使使用手机进行扫描,也不能发现处于休眠模式下的左耳塞,用户难以查找到丢失的左耳塞。
本申请实施例,蓝牙耳机还设置有用于触发蓝牙耳机启动查找应用的第二定时器。在一个示例中,蓝牙耳机的左耳塞在进入休眠模式的同时,启动第二定时器。第二定时器在达到第二预设时长(可根据需求进行设置),则触发蓝牙耳机的左耳塞启动蓝牙耳机的查找应用。该蓝牙耳机的查找应用与手机的查找应用配合使用,辅助用户查找到该左耳塞。蓝牙耳机的查找应用可以控制左耳塞启动被动扫描。
图10为示例性示出的蓝牙耳机启动被动扫描的内部的交互示意图。参考图10,该蓝牙耳机启动被动扫描的流程如下:
步骤301:蓝牙耳机中的应用A向主机A发送被动扫描命令。
示例性的,该蓝牙耳机的左耳塞启动查找应用(以下蓝牙耳机的查找应用简称为应用A)。当应用A启动后,应用A向主机A发送被动扫描命令,该被动扫描命令用于指示主机A启动被动扫描。该被动扫描命令中可以携带被动扫描参数的第一设置数据,被动扫描参数可以包括扫描间隔、扫描窗口和扫描类型。扫描间隔用于指示控制器相邻扫描之间的时长。扫描窗口用于指示每一次扫描的持续时长。扫描类型包括主动扫描和被动扫描。主动扫描模式不仅用于接收对端设备的广播数据包,还可以捕获可能的扫描应答(scan response)。可选地,对端设备可以是正在广播的手机、平板等蓝牙设备。被动扫描模式仅用于接收对端设备的广播数据包。本示例中,扫描类型的参数指示为启动被动扫描的类型。
步骤302:主机A响应于该被动扫描命令,向控制器A发送扫描参数设置命令。
示例性的,主机A接收到该被动扫描命令后,从被动扫描命令中获取第一设置数据。主机A将获取的第一设置数据添加至该扫描参数设置命令中,并向控制器A发送该扫描参数设置命令。该扫描参数设置命令用于指示控制器A设置扫描参数。
步骤303:控制器A设置扫描参数。
示例性的,控制器A响应于扫描参数设置命令,从该扫描参数设置命令中读取第一设置数据,按照读取的第一设置数据设置扫描参数。例如,控制器A按照第一设置数据,设置扫描间隔为1s,设置扫描窗口为500ms,设置扫描类型为被动扫描。需要说明的是,扫描间隔的时长以及扫描窗口的时长可以根据需求进行设置,例如,如扫描间隔为10ms,扫描窗口为10ms,扫描间隔和扫描窗口的时间设置一致,即为持续扫描。
步骤304:控制器A在扫描参数设置完成之后,向主机A反馈设置完成的消息。
步骤305:主机A响应于设置完成的消息,向该控制器A发送启动扫描命令。
步骤306:控制器A响应于该启动扫描命令,启动扫描。
示例性的,控制器A启动被动扫描后,控制器A按照设置的扫描间隔和扫描窗口,接收对端设备的广播数据包。
需要说明的是,控制器每次结束扫描后,可以进入休眠模式;在检测达到扫描间隔的时长,则退出休眠模式并进行为时5s的扫描。
步骤307:控制器A向主机A反馈启动完成的消息。
控制器A可以向主机A反馈启动完成的消息。
需要说明的是,应用A在被动扫描启动后,可以启动第三定时器,第三定时器用于指示被动扫描持续的时长。第三定时器达到第三预设时长(可根据需求进行设置),触发应用A向主机A发送停止扫描命令。主机A响应于应用A发送的停止扫描命令,向控制器A发送关闭扫描命令。控制器A响应于主机A发送的关闭扫描命令,停止扫描。控制器A向主机A发送停止扫描完成的消息。第三预设时长可以为5s。
在停止扫描后,蓝牙耳机重新进入休眠模式,并重新启动第二定时器。第二定时器达到第二预设时长(如本示例中的10min),触发蓝牙耳机的左耳塞重新启动蓝牙耳机的查找应用(即重新进启动被动扫描)。可以理解的是,应用A重新启动被动扫描后,可以重新设置扫描参数,也可以按照上一次设置的扫描参数运行,本示例中不做限制。
本示例中,蓝牙耳机在启动应用A后,应用A指示启动被动扫描模式,控制器A通过设置扫描参数,使得该蓝牙耳机可以周期性的从休眠模式中醒来进行被动扫描。丢失的蓝牙耳机采用被动扫描的模式,由于不会产生扫描应答,可以避免被其他设备跟踪的危险。被动扫描的蓝牙耳机由于仅接收广播数据包,也可以避免出现因扫描应答而暴露蓝牙耳机的位置,导致蓝牙耳机不安全的情况。也就是说,丢失的蓝牙耳机采用被动扫描模式,可以有效避免被其他设备查找到的风险。
继续参考图9,用户发现左耳塞丢失的情况下,用户可以启动手机中的查找应用(以下手机的查找应用简称应用B),手机开始查找蓝牙设备。手机查找蓝牙设备的流程的示意图如图11所示,包括:
步骤401:应用B向主机B发送查找命令。
示例性的,该查找命令中可以包括广播参数的第二设置数据。广播参数可以包括:广播间隔、广播时长等。第二设置数据包括广播间隔的数据和广播时长的数据,例如,第二设置数据包括广播间隔:20毫秒,广播时长:无限制(即持续广播)。当应用B启动后,该应用B将预先设置的第二设置数据添加至该查找命令中,并将该查找命令发送至主机B。
步骤402:主机B响应于查找命令,向控制器B发送广播参数设置命令。
示例性的,主机B在接收到该查找命令后,可以从该查找命令中获取第二设置数据,将该第二设置数据添加至广播参数设置命令中,并将该广播参数设置命令发送至控制器B中。例如,若手机采用BLE芯片,广播参数设置命令可以使用LE SET AdvertisingParameters命令,主机B在该LE SET Advertising Parameters命名中添加第二设置数据。
步骤403:控制器B设置广播参数。
示例性的,控制器B响应于广播参数设置命令,控制器B可以从广播参数设置命令中获取第二设置数据,并按照该第二设置数据配置广播参数。例如,控制器根据第二设置参数,将广播间隔的时长设置为20ms、广播时长设置为无限制(即持续广播)等。若手机采用BLE芯片,该广播间隔的时长的范围可以是20ms~10.24s之间。需要说明的是,本示例中广播间隔的时长和广播时长仅为举例,在其它实施例中,广播间隔的时长不限于20ms,广播时长不限于无限制,例如,广播时长可以至少为10min(即与蓝牙耳机中的第二预设时长相同),以便蓝牙耳机可以扫描到该手机。
步骤404:控制器B向主机B反馈设置广播参数完成的消息。
示例性的,控制器B在完成对广播参数的设置后,可以向主机B反馈广播参数设置完成的消息。以便主机B可以及时指示控制器B执行其他操作。
步骤405:主机B向控制器B发送广播数据包设置命令。
主机B在接收到控制器B反馈的设置广播参数完成的消息后,主机B向控制器B发送广播数据包设置命令。
步骤406:控制器B响应于广播数据包设置命令,设置广播数据包。
本申请实施例中手机可以在广播数据包中添加手机识别码,以使丢失的蓝牙设备可以识别出该手机发送的广播数据包。本示例中,蓝牙耳机存储有手机的蓝牙地址,故该手机识别码可以是手机的蓝牙地址。需要说明的是,本申请中手机识别码为手机的蓝牙地址仅为举例,在其他实施例中,手机识别码还可以是其他数据,例如,手机识别码为手机的国际移动设备识别码(International Mobile Equipment Identity,IMEI)。手机识别码还可以是手机生成的特定字符串。
可以理解的是,丢失的蓝牙设备(如本示例中的左耳塞)中应当预先存储有该手机的手机识别码。
下面结合图12,对本申请实施例中控制器B设置广播数据包的过程进行详细介绍。
图12为示例性示出的广播数据包的结构示意图。参考图12,该广播数据包包括有效数据部分和无效数据部分,其中,有效数据部分与无效数据部分的长度之和为31字节。若有效数据部分的长度小于31字节,则将剩下的字节用0补全,该0部分的数据即为无效数据部分。
有效数据部分包括若干个广播数据单元,称为AD Structure。如图12所示,ADStructure包括:长度字段(Length)和数据字段(Data)。长度字段(Length)的值用于指示该AD Structure中数据字段(Data)的长度,例如,若该长度字段指示Data为L字节,该长度字段为1个字节。
数据字段包括广播数据类型(AD Type)和广播数据(AD Data),其中AD type的字节数可以是k个字节,k为大于1的整数,该AD Data的字节数为L-k个字节。本示例中,广播数据类型设置为制造商特定数据(MANUFACTURER SPECIFIC DATA),该广播数据类型也可以根据需求设置为其他类型。由于该制造商特性数据类型中规定该AD Data的前两个字节为公司识别码,故本示例中控制器B在AD Data的第1~2字节添加公司识别码,如通用唯一识别码(Universally Unique Identifier)UUID。参考图12,控制器B可以在AD Data的第3~8字节添加手机的蓝牙地址。控制器B可以在AD Data的第9~10字节添加加密数据,该加密数据是由控制器B利用Link Key对广播时间值加密后获得。可选地,广播时间值可以是控制器B设置广播数据包的系统时间(可精确至秒)。需要说明的是,本示例中的广播时间值的取值仅为举例。在其他实施例中,本示例中广播时间值可以是应用B启动至广播数据包设置完成之间的系统时间。例如:广播时间值可以是应用B启动的系统时间,广播时间值还可以是控制器B接收到广播数据包设置命令的系统时间,本申请实施例不做限制。
需要说明的是,本申请实施例中控制器B添加手机的蓝牙地址的位置以及添加加密数据的位置仅为举例。在其他实施例中,控制器B还可以在其他字节添加手机的蓝牙地址和加密数据。例如,控制器B可以在AD Data的第3~4字节添加加密数据,可以在AD Data的第5~10字节添加手机的蓝牙地址。此外,加密数据所占字节数可以根据需要进行设置,例如,加密数据还可以是3个字节、4个字节等,本申请实施例不做限制。
步骤407:控制器B向主机B反馈设置广播数据包完成的消息。
示例性的,控制器B完成对广播数据包的设置后,向主机B反馈设置广播数据包完成的消息,以便主机B及时向控制器B发送启动广播的命令。
步骤408:主机B向控制器发送启动广播的命令。
步骤409:控制器B发送广播数据包。
示例性的,控制器B接收到主机B发送的启动广播的命令后,开始发送设置完成的广播数据包,即发送的广播数据包中包括手机的蓝牙地址以及加密数据。
步骤410:应用B向主机B发送停止查找命令。
示例性的,若用户查找到丢失的蓝牙设备(如本示例中的左耳塞),则用户可以指示应用B进行停止查找的操作(例如,点击应用B中的停止查找的选项),应用B响应于用户的操作,向主机B发送停止查找命令。
在另一个示例中,若应用B检测到关闭操作或检测到应用B在后台运行,该应用B向主机B发送停止查找命令。
步骤411:主机B响应于该停止查找命令,向控制器B发送关闭广播的命令。
步骤412:控制器B停止广播。
示例性的,控制器B接收到主机B发送的关闭广播的命令,则停止发送广播数据包。
步骤413:控制器B向主机B反馈广播已停止的消息。
一个示例中的,主机B接收广播已停止的消息后,不做后续处理。在另一示例中,控制器B停止广播后,向主机B反馈广播已停止的消息。主机B可以在接收到广播已停止的消息后,向应用B反馈该消息(图11中未示出)。应用B响应于主机B反馈的广播已停止的消息,可以控制手机发出提示,指示广播已停止,例如,发出提示音、震动等。
当蓝牙耳机启动蓝牙耳机的查找应用(即蓝牙耳机中的应用A)后,将周期性进行扫描。手机在启动应用B后,开始广播设置的广播数据包。图13为示例性示出的蓝牙耳机进行扫描的示意图。参考图13,示例性的,该蓝牙耳机的周围有四个手机分别在广播广播报文,该广播报文包括广播数据包。如图13所示,蓝牙耳机启动被动扫描,且手机A、手机B、手机C以及手机D均处于该蓝牙耳机的扫描范围之内,该蓝牙耳机可以接收到广播数据包A、广播数据包B、广播数据包C以及广播数据包D。
下面结合图14~图15分别说明蓝牙耳机接收到广播数据包A、广播数据包B、广播数据包C以及广播数据包D的处理流程。
图14为示例性示出的蓝牙耳机接收到广播数据包A的情况下,蓝牙耳机内部的交互示意图。参考图14,该蓝牙耳机执行查找蓝牙设备的方法的步骤如下:
步骤501:控制器A接收到广播数据包A。
示例性的,控制器A获取广播报文中的广播数据包A。
步骤502:控制器A从广播数据包A中提取手机A的蓝牙地址。
示例性的,控制器A识别广播数据包A的AD Type为MANUFACTURER SPECIFIC DATA的类型,则控制器A从广播数据包A的AD Data的第3~8字节读取手机A的蓝牙地址。需要说明的是,本申请实施例以第3~8字节为手机的蓝牙地址为例。
步骤503:控制器A检测到与手机A的蓝牙地址匹配的存储地址,则执行步骤504。
示例性的,控制器A可以仅存储最近一次蓝牙连接的手机的蓝牙地址,将存储的手机的蓝牙地址作为存储地址。控制器A检测该存储地址是否与手机A的蓝牙地址相同。在一个示例中,手机检测到该存储地址与手机A的蓝牙地址相同,则控制器A执行步骤504。
步骤504:控制器A向主机A上报该广播数据包A。
由于存储地址为与该左耳塞最近连接的手机A的蓝牙地址,控制器A将该存储地址与手机A的蓝牙地址进行对比,可以过滤掉与存储地址不同的设备发送的广播数据包。从而实现对广播数据包的初步过滤处理,减少蓝牙耳机处理广播数据包的数量。
步骤505:主机A向应用A上报该广播数据包A。
步骤506:应用A从广播数据包A中提取加密数据A。
示例性的,应用A从广播数包A的AD Data的第9~10字节中提取加密数据A。
步骤507:应用A采用Link Key对加密数据A进行解密。
示例性的,应用A获取保存到的Link Key,并使用Link Key对加密数据A进行解密,若应用A利用Link Key成功解密该加密数据A,可获取手机A的广播时间值A。
步骤508:应用A从加密数据A中获取广播时间值A。
步骤509:应用A检测到||广播时间值A-本地时间值||≤预设时长,则控制该蓝牙耳机播放声音。
示例性的,预设时长可以根据需求进行设置,例如,预设时长可以为10分钟、5分钟、3分钟等。应用A若检测到||广播时间值A-本地时间值||≤预设时长,则应用A可以确定该手机A为与该蓝牙耳机最近连接的设备,且该手机处于查找状态。可选地,本地时间值可以是蓝牙耳机在解密成功时的系统时间(可精确到秒),本地时间值也可以是蓝牙耳机获取广播时间值A的系统时间。需要说明的是,本示例中本地时间值仅为举例,在其他实施例中,该本地时间值还可以是蓝牙耳机接收到广播数据包A的系统时间,即本地时间值可以是蓝牙耳机接收到广播数据包A与执行步骤509之间的任意系统时间,本示例中不再一一列举。
蓝牙耳机播放的声音可以是预先存储的识别度高的声音,例如,可以是报警声音、用户的声音等。
可以理解的是,应用A检测到蓝牙耳机播放声音的时长达到预设的时长阈值(可根据需求进行设置),则可以控制蓝牙耳机停止播放声音。在另一个示例中,应用A检测到蓝牙耳机重新与手机A建立蓝牙连接后,控制蓝牙耳机停止播放声音。需要说明的是,本示例中,应用A控制蓝牙耳机停止播放声音的时机仅为举例。在其他实施例中,还可以有其他方式控制蓝牙耳机停止播放声音,例如,蓝牙耳机与手机重新建立蓝牙连接后,用户可以点击应用B中的停止声音的选项,应用B响应于用户的操作,通过蓝牙连接控制蓝牙耳机停止播放声音,本示例中不做限制。
步骤510:应用A向主机A发送停止扫描命令。
示例性的,应用A检测到正在播放声音,则可以向主机A发送停止扫描命令。该停止扫描命令用于指示主机A控制控制器A停止扫描。
步骤511:主机A响应于应用A发送的停止扫描命令,向控制器A发送关闭扫描命令。可选地,关闭扫描命令用于指示控制器A停止扫描。
步骤512:控制器A停止扫描。
控制器A接收到该关闭扫描命令,停止扫描。
步骤513:控制器A向主机A反馈停止扫描完成的消息。
本示例中,丢失的蓝牙耳机(即本示例中的左耳塞)采用被动扫描模式,由于不会产生扫描应答,可以避免被其他设备跟踪。蓝牙耳机中的控制器A通过对广播数据包中手机的蓝牙地址进行识别,将识别到的广播数据包上报应用A,可以减少应用A处理广播数据包的数量,提高蓝牙耳机被失主查找到的概率。由于广播数据包中增加了加密数据,该加密数据是通过Link Key进行解密,增加了加密数据的安全性。同时,加密数据中包括广播时间值,应用A通过蓝牙耳机的本地时间值对广播时间值进行验证,可以验证该失主的查找设备是否在蓝牙耳机附近,避免出现蓝牙耳机发出声音,而失主不在附近的情况,提高蓝牙耳机被查找到的概率。另外,由于本地时间值是实时变动的,而不是一个固定的值,应用A通过蓝牙耳机的本地时间值对广播时间值进行验证,保证了验证的安全性,避免其他设备因窃取到手机A的加密数据找到耳机的情况,提高查找蓝牙耳机的安全性。此外,蓝牙耳机与最近连接的手机在连接断开前,进行了时间校准,提高了蓝牙耳机通过本地时间值对广播时间值进行验证的准确性。
一个示例中,蓝牙耳机接收到广播数据包B的情况下,该蓝牙耳机执行查找蓝牙设备的方法的步骤如下:
步骤601:控制器A接收到广播数据包B。
示例性的,控制器A获取广播报文中的广播数据包A。
步骤602:控制器A从广播数据包B中提取手机B的蓝牙地址。
示例性的,控制器A识别广播数据包B的AD Type为MANUFACTURER SPECIFIC DATA的类型,则控制器A从AD Data的第3~8字节读取手机B的蓝牙地址。
步骤603:控制器A未检测到与手机B的蓝牙地址匹配的存储地址。
示例性的,控制器A检测到存储地址与手机B的蓝牙地址不一致,则控制器A将丢弃该广播数据包B。结束对该广播数据包B的处理流程。
本示例中,控制器A未检测到与手机B的蓝牙地址匹配的存储地址,则直接丢弃该广播数据包B,减少干扰查找的广播数据包的数量,提高蓝牙耳机处理广播数据包的效率。
图15为示例性示出的蓝牙耳机接收到广播数据包C的情况下,蓝牙耳机内部的交互示意图。参考图15,该蓝牙耳机执行查找蓝牙设备的方法的步骤如下:
步骤701:控制器A接收到广播数据包C。
示例性的,控制器A获取广播报文中的广播数据包C。
步骤702:控制器A从广播数据包C中提取手机C的蓝牙地址。
示例性的,控制器A识别广播数据包C的AD Type为MANUFACTURER SPECIFIC DATA的类型,则控制器A从广播数据包C中AD Data的第3~8字节读取手机C的蓝牙地址。
步骤703:控制器A检测到与手机C的蓝牙地址匹配的存储地址,则执行步骤704。
示例性的,控制器A可以仅存储最近一次蓝牙连接的手机的蓝牙地址,将存储的手机的蓝牙地址作为存储地址。控制器A检测是否存在与手机C的蓝牙地址相同的存储地址,一个示例中,手机检测到存在与手机C的蓝牙地址相同的存储地址,则控制器A执行步骤704。
步骤704:控制器A向主机A上报该广播数据包C。
步骤705:主机A向应用A上报该广播数据包C。
步骤706:应用A从广播数据包C中提取加密数据C。
示例性的,应用A从广播数包C的AD Data的第9~10字节中提取加密数据C。
步骤707:应用A采用Link Key对加密数据C进行解密,解密失败。
示例性的,应用A可以获取保存的Link Key。应用A使用获取的Link Key对加密数据C进行解密。本示例中,应用A使用Link Key对加密数据C解密失败,则执行步骤708。
需要说明的是,应用A对使用Link Key对加密数据C解密失败的原因可以是:该加密数据是伪造数据(即不是用手机C匹配的Link Key加密获得)。
步骤708:应用A结束对广播数据包C的处理。
需要说明的是,在一个示例中,第三定时器达到第三预设时长(如本示例中的5s),触发应用A向主机A发送停止扫描命令。主机A响应于应用A发送的停止扫描命令,向控制器A发送关闭扫描命令。控制器A响应于主机A发送的关闭扫描命令,停止扫描。控制器A向主机A发送停止扫描完成的消息。
本示例中,蓝牙耳机的应用对加密数据C解密失败后,将结束对广播数据包C的处理。由于存在其他用户通过监听的方式获取到蓝牙耳机可识别的手机的蓝牙地址,以及仿造加密数据的情况,而蓝牙耳机和配对的手机各自保存有Link Key,仿造的加密数据将不能被该蓝牙耳机的Link Key解密,该蓝牙耳机将不再对该广播数据包进行后续处理。可见,通过Link Key的加密,可以提高查找蓝牙耳机的安全性。
图16为示例性示出的蓝牙耳机接收到广播数据包D的情况下,蓝牙耳机内部的交互示意图。参考图16,该蓝牙耳机执行查找蓝牙设备的方法的步骤如下:
步骤801:控制器A接收到广播数据包D。
示例性的,控制器A获取广播报文中的广播数据包D。
步骤802:控制器A从广播数据包A中提取手机D的蓝牙地址。
示例性的,控制器A识别广播数据包D的AD Type为MANUFACTURER SPECIFIC DATA的类型,则控制器A从广播数据包D中的AD Data的第3~8字节读取手机D的蓝牙地址。
步骤803:控制器A检测到与手机D的蓝牙地址匹配的存储地址,则执行步骤804。
一个示例中,假设蓝牙耳机最近连接的蓝牙设备为手机D,即该控制器A中的存储地址为手机D的蓝牙记录。
步骤804:控制器A向主机A上报该广播数据包D。
步骤805:主机A向应用A上报该广播数据包D。
步骤806:应用A从广播数据包D中提取加密数据D。
示例性的,应用A从广播数包D中的AD Data的第9~10字节中提取加密数据D。
步骤807:应用A采用Link Key对加密数据D进行解密,解密成功。
示例性的,应用A获取与手机D匹配的Link Key,并使用获取的Link Key对加密数据D进行解密,若Link Key成功解密该加密数据D,即可获取手机D的广播时间值D。
步骤808:应用A从加密数据D中获取广播时间值D。
步骤809:应用A检测到||广播时间值D-本地时间值||>预设时长,则执行步骤810。
示例性的,预设时长可以根据需求进行设置,例如,预设时长可以为10分钟。应用A若检测到||广播时间值D-本地时间值||>预设时长,则应用A可以确定该手机A为该蓝牙耳机的失主的设备,且该手机不在蓝牙耳机的周围。本示例中,本地时间值可以是蓝牙耳机接收到广播数据包D与执行步骤809之间的任意系统时间,本示例中不再一一列举。
步骤810:应用A结束对广播数据包D的处理。
本示例中,应用A对该加密数据D解密成功后,进一步对广播时间值D进行验证,若广播时间值D与本地时间值之差大于预设时长,指示该手机D未在蓝牙耳机的周围,该蓝牙耳机不播放声音,可以避免因失主不在附近而导致耳机误发声的问题。或者指示该加密数据D为伪造数据,例如,若广播数据包D为仿造的广播数据包,该广播数据包D中包括仿造的手机D的蓝牙地址和仿造的加密数据D。由于加密数据D为仿造数据,该加密数据D中的广播时间值并不是失主手机当前广播的时间值,通过对广播时间值的进一步验证,提高了查找蓝牙耳机的安全性。
本申请实施例中,蓝牙耳机通过广播数据包中AD Data中手机的蓝牙地址,对广播数据包进行初步过滤。在其他实施例中,蓝牙耳机还可以通过设置扫描白名单的方式,对广播数据包进行初步过滤。下面结合图17具体介绍蓝牙耳机设置扫描白名单的方式。图17为示例性示出的蓝牙耳机设置扫描白名单的交互示意图,设置的扫描白名单的过程包括:
步骤901:应用A向主机A发送白名单的启动命令。
示例性的,该蓝牙耳机的左耳塞启动蓝牙耳机的查找应用(即本示例中的应用A)。当应用A启动后,该应用A可以在向主机A发送被动扫描命令之前,向主机A发送白名单的启动命令。可选地,该启动命令用于指示主机A启动白名单。
需要说明的是,可以在白名单中添加设备地址之前,且在蓝牙耳机与手机建立服务连接之后,手机可以通过私有通道将手机的身份解析密钥(identity resolving key,IRK)发送至蓝牙耳机,由蓝牙耳机保存。例如,蓝牙耳机可以在保存手机的蓝牙地址时,保存该手机的IRK。蓝牙耳机还可以在向白名单添加设备地址时,将各待添加设备的IRK添加至解析列表(resolving list)中。
步骤902:主机A向控制器A发送读取白名单容量的命令。
示例性的,控制器A中存储有白名单,白名单用于存储设备地址。可以理解的是,白名单即为一个设备地址列表。由于白名单的容量有限,在指示向白名单中添加设备地址之前,可以获取白名单的容量。主机A响应于白名单的启动命令,向控制器A发送读取白名单容量的命令。例如,若蓝牙耳机为BLE,则主机A可以发送LE Read White List Size命令,用于读取白名单的容量。
步骤903:控制器A向主机A返回白名单的容量。
示例性的,控制器A响应于主机A发送的读取白名单容量的命令,控制器A查询该白名单的容量,并将该白名单的容量返回至主机A。
步骤904:主机A向应用A返回白名单的容量。
步骤905:应用A向主机A发送第一添加命令。
示例性的,应用A响应于白名单的容量,向主机A发送第一添加命令。第一添加命令可以包括各待添加的设备地址。可以理解的是,应用A获取到白名单的容量后,可以确定向白名单中待添加的设备的数量,以避免出现因白面单的容量导致设备地址添加失败的问题。
一个示例中,若应用A确定白名单的容量允许添加至少一个设备地址,则应用A可以确定待添加的设备地址至少为1个。例如,若白面单的容量指示允许添加5个设备地址,待添加的设备地址可以是2个。本示例中,以应用A确定待添加的设备地址为手机A的蓝牙地址以及手机E的蓝牙地址为例。
步骤906:主机A向控制器A发送第二添加命令。
主机A可以从第一添加命令中读取各待添加的设备地址。将各待添加的设备地址添加至第二添加命令中。例如,从第一添加命令中获取待添加的设备地址有:手机A的等效地址和手机E的等效地址。主机A将第二添加命令发送至控制器A。需要说明的是,手机通常采用蓝牙双模设备,BLE芯片的等效地址与经典蓝牙芯片的经典蓝牙地址一致。
蓝牙耳机还存储该手机的等效地址和该手机的IRK之间的对应关系。例如,可以通过关联白名单和resolving list的方式构建手机的等效地址和该手机的IRK之间的对应关系。
步骤907:控制器A在白名单中添加手机的等效地址。
示例性的,控制器A从第二添加命令中获取各待添加的设备地址。本示例中,待添加的设备地址为手机A的等效地址和手机E的等效地址。
步骤908:控制器A向主机A反馈添加完成的消息。
示例性的,控制器A在白名单添加完成后,向主机A反馈添加完成的消息。主机A获得白名单添加完成的消息后,可以将该消息上报应用A,以便应用A及时发送被动扫描命令。
步骤909:主机A向应用A上报添加完成的消息。
示例性的,应用A接收到添加完成的消息后,应用A可以向主机A发送被动扫描命令。可以理解的是,该被动扫描命令中还可以包括扫描策略,该扫描策略指示应用A仅接收白名单中设备发送的广播数据包。
本示例中,应用A在发送被动扫描命令之前,在白名单中添加设备地址。在白名单设置完成后,应用A设置扫描策略为仅接收白名单中设备发送的广播数据包。蓝牙耳机通过对白名单的设置,在进行被动扫描过程中,应用A仅接收白名单中设备发送的广播数据包,实现对广播数据包的初步过滤。
一个示例中,蓝牙耳机若采用白名单对广播数据包进行初步过滤的方式,则手机启动查找应用(即应用B),手机开始查找蓝牙设备。手机执行蓝牙设备查找的流程与图11类似,仅步骤406控制器B设置广播数据包的过程与本示例中控制器B设置广播数据包的过程不同。下面结合图18具体介绍手机的控制器B响应于广播数据包设置命令,设置广播数据包的过程。本示例中不再进行赘述其他蓝牙设备查找的步骤。
图18为示例性示出的一种广播数据包的结构示意图。
示例性的,控制器B响应于广播数据包设置命令,设置广播数据包。本申请实施例中手机可以在广播数据包中添加加密的广播时间值。手机可以利用保存的Link Key对广播时间值进行加密。下面结合图18,对本申请实施例中控制器B设置广播数据包的过程进行详细介绍。
参考图18,广播数据类型设置为制造商特定数据(MANUFACTURER SPECIFICDATA),该广播数据类型也可以根据需求设置为其他类型。控制器B在AD Data的第1~2字节添加公司识别码,如通用唯一识别码(Universally Unique Identifier,UUID)。参考图18,控制器B可以在AD Data的第3~4字节添加加密数据。该加密数据是由控制器B利用LinkKey对广播时间值加密后获得。
需要说明的是,本示例中图18仅示出了广播报文中的广播数据包,未示出广播报文的报头,该广播报文的报头中添加有该广播数据包的地址。可选地,该手机的广播数据包的地址为可解析地址,包括哈希部分和随机数部分(prand)。
图19为示例性示出的蓝牙耳机采用白名单的情况下,该蓝牙耳机执行查找蓝牙设备的方法的示意图。参考图19,该蓝牙耳机执行查找蓝牙设备的方法的步骤如下:
步骤1001:控制器A接收到广播数据包E。
示例性的,控制器A接收手机E发送的广播报文E,从广播报文E中获取广播数据包E。
步骤1002:控制器A获取广播数据包E的地址。
示例性的,控制器A从广播报文E的报头部分可以获取该广播数据包E的地址。该广播数据包E的地址用于指示该广播数据包E的发送设备。
步骤1003:控制器A查询到白名单中存在与广播数据包E的地址匹配的设备地址。
示例性的,白名单中可以存储至少一个设备地址,控制器A可以通过遍历的方式查询白名单中是否存在与广播数据包E的地址匹配的设备地址。下面以一个具体的例子说明查询的过程。
一个示例中,白名单中存储有手机A的等效地址和手机E的等效地址。可以依次对白名单中的设备地址进行处理。如先判断手机A的等效地址与广播数据包E的地址是否匹配。控制器A根据手机A的等效地址以及手机的等效地址和该手机的IRK之间的对应关系,从resolving list中获取与该手机A的等效地址对应的IRKA。控制器A从广播数据包E的地址中获取prand。对IRKA和广播数据包E的地址中的prand进行哈希运行,得到本地哈希值A,即locakhash(A)=ah(IRKA,prand),其中,ah表示哈希运算,IRKA指示与该手机A的等效地址对应的IRK。检测到本地哈希值A与广播数据包E的地址中的哈希值不一致,确定该手机A的等效地址与广播数据包E的地址不匹配。
判断手机E的等效地址与广播数据包E的地址是否匹配。控制器A根据手机E的等效地址以及手机的等效地址和该手机的IRK之间的对应关系,从resolving list中获取与该手机E的等效地址对应的IRKE。控制器A从广播数据包E的地址中获取prand。对IRKE和广播数据包E的地址中的prand进行哈希运行,得到本地哈希值E,即locakhash(E)=ah(IRKE,prand),其中,ah表示哈希运算,IRKE指示与该手机E的等效地址对应的IRK。检测到本地哈希值E与广播数据包E的地址中的哈希值一致,确定该手机E的等效地址与广播数据包E的地址匹配。即查询到白名单中存在与广播数据包E的地址匹配的设备地址。
在另一个示例中,若查询到白名单中不存在与广播数据包E的地址匹配的设备地址,则丢弃该广播数据包E。
本示例中,以控制器A查询到白名单中存在与广播数据包E的地址匹配的设备地址为例进行介绍。
步骤1004:控制器A向主机A发送广播数据包E。
示例性的,控制器A查询到白名单中存在与广播数据包E的地址匹配的设备地址,则控制器A执行步骤1005。
步骤1005:主机A向应用A上报广播数据包E。
步骤1006:应用A从广播数据包E中提取加密数据E。
步骤1007:应用A采用Link Key对加密数据E进行解密。
步骤1008:应用A从加密数据E中获取广播时间值E。
步骤1009:应用A检测到||广播时间值E-本地时间值||≤预设时长,则控制该蓝牙耳机播放声音。
步骤1010:应用A向主机A发送停止扫描命令。
步骤1011:主机A响应于应用A发送的停止扫描命令,向控制器A发送关闭扫描命令。
步骤1012:控制器A停止扫描。
步骤1013:控制器A向主机A反馈停止扫描完成的消息。
步骤1004至步骤1013的过程与步骤504至步骤513的过程类似,本示例中将不再进行赘述。
本示例中,蓝牙耳机在启动被动扫描之前,向白名单中添加设备地址。蓝牙耳机设置被动扫描的扫描策略,该扫描策略用于指示蓝牙耳机仅接收白名单中设备发送的广播数据包。使得蓝牙耳机可以通过白名单实现对广播数据包的初始过滤,减少处理不匹配的广播数据包的数量。另外,由于在蓝牙耳机中设置了白名单,手机在配置广播数据包时,无需在广播数据包中添加手机的蓝牙地址,可以节省广播数据包中AD Data的字节数。
一个示例中,蓝牙耳机可以保存至少2个配对成功的手机的Link Key,下面结合图20详细介绍蓝牙耳机存储多个Link Key的过程。
参考图20,蓝牙耳机与手机1在t1时刻配对成功。蓝牙耳机与手机1的校准时间完成后,蓝牙耳机可以同时保存手机1的蓝牙地址和手机1的验证时间。可选地,手机1的验证时间可以是配对成功的时间,例如,手机1的验证时间可以为t1。为了确保验证时间的准确性,手机1的验证时间可以是校准时间完成的时刻,例如,蓝牙耳机与手机1校准时间完成的时刻记为t1’,将t1’作为手机1的验证时间。
可选地,如图20所示,蓝牙耳机还可以建立手机1的蓝牙地址、手机1的Link Key以及手机1的验证时间之间的对应关系,并存储该对应关系,如图20所示的对应关系1。蓝牙耳机可以在记录t1’时,同步启动与t1’时刻关联的定时器C1。
蓝牙耳机在t2时刻与手机2配对成功。蓝牙耳机与手机2的校准时间完成后,蓝牙耳机可以同时保存手机2的蓝牙地址和手机2的验证时间。该蓝牙耳机建立手机2的蓝牙地址、手机2的Link Key以及手机2的验证时间之间的对应关系,并存储对应关系,如图20所示的对应关系2。本示例中,蓝牙耳机与手机2校准时间完成的时刻记为t2’,手机2的验证时间可以是t2’。蓝牙耳机可以在记录t2’时,同步启动与t2’关联的定时器。
该图21为示例性示出的蓝牙耳机执行查找蓝牙设备的方法的内部交互示意图。下面结合图21介绍蓝牙耳机存储有至少2个配对成功的手机的Link Key时,执行查找方法的流程。
步骤1101:控制器A接收广播数据包F。
步骤1102:控制器A从广播数据包F中提取手机1的蓝牙地址。
步骤1103:控制器A从存储的记录中查询到与手机1的蓝牙地址匹配的设备地址,则执行步骤1104。
示例性的,控制器A中存储有至少2个与该蓝牙耳机配对成功的设备地址,控制器A可以查询是否存在与手机1的蓝牙地址匹配的设备地址,一个示例中,若控制器A查询到存在与手机1的蓝牙地址匹配的设备地址,则确定控制器执行步骤1104。
步骤1104:控制器A向主机A上报广播数据包F。
步骤1105:主机A向应用A上报广播数据包F。
步骤1106:应用A从广播数据包F中提取加密数据F。
示例性的,应用A从广播数据包F中AD Data的第9~10字节中提取出加密数据F。
步骤1107:应用A采用Link Key对加密数据F进行解密。
示例性的,应用A根据手机1的蓝牙地址从存储的对应关系1中获取手机1的LinkKey。应用A使用该手机1的Link Key对加密数据F进行解密。
步骤1108:应用A从加密数据F中获取广播时间值F。
步骤1109:应用A根据手机1的蓝牙地址,获取对应的t1’时刻以及与定时器C1的时长1。
示例性的,应用A可以根据存储的对应关系1以及手机1的蓝牙地址,获取与该手机1的蓝牙地址对应的t1’时刻。该应用A还获取定时器C1的时长。
步骤1110:应用A检测到||广播时间值F-(t1’+时长1)||≤预设时长,则控制该蓝牙耳机播放声音。
示例性的,应用A将t1’时刻与时长1的和值作为该蓝牙耳机存储的手机1的系统时间。一个示例中,若该广播时间值F与该和值之间的差值小于等于预设时长,指示该手机1在该蓝牙耳机的周围广播该广播数据包F。该应用A控制该蓝牙耳机播放声音。
需要说明的是,在另一个示例中,若应用A检测到||广播时间值F-(t1’+时长1)||大于预设时长,则应用A结束对广播数据包F的处理,例如,可以丢弃该广播数据包E。
步骤1111:应用A向主机A发送停止扫描命令。
步骤1112:主机A响应于应用A发送的停止扫描命令,向控制器A发送关闭扫描命令。
步骤11113:控制器A停止扫描。
步骤1114:控制器A向主机A反馈停止扫描完成的消息。
步骤1104至步骤1108的过程与步骤504至步骤508的过程类似,步骤1111至步骤1114与步骤510至步骤513的过程类似,本示例中将不再进行赘述。
本示例中,蓝牙耳机可以同时保存多个配对成功的设备的设备地址,同时存储设备地址、设备的Link Key以及设备的验证时间之间的对应关系,以便可以根据设备地址查找对应的Link Key或查找设备的系统时间。该蓝牙耳机支持多个配对成功设备查找丢失的蓝牙耳机,使得查找蓝牙耳机更加灵活、方便。
需要说明的是,在一个示例中,步骤1103也可以采用白名单的方式进行初始过滤(即丢弃不是白名单设备发送的广播数据包),减少处理不匹配的广播数据包的数量。
图22为示例性示出的蓝牙耳机与手机之间的交互示意图。本示例中未示出蓝牙耳机启动被动扫描的过程。蓝牙耳机与手机交互的过程包括:
步骤1201:应用B向主机B发送查找命令。
步骤1202:主机B响应于查找命令,向控制器B发送广播参数设置命令。
步骤1203:控制器B设置广播参数。
步骤1204:控制器B向主机B反馈设置广播参数完成的消息。
步骤1205:主机B向控制器B发送广播数据包设置命令。
步骤1206:控制器B响应于广播数据包设置命令,设置广播数据包。
步骤1207:控制器B向主机B反馈设置广播数据包完成的消息。
步骤1208:主机B向控制器发送启动广播的命令。
步骤1209:控制器B发送广播数据包。
步骤1210:控制器A响应于接收到的广播数据包A,从广播数据包A中提取手机A的蓝牙地址。
步骤1211:控制器A检测到与手机A的蓝牙地址匹配的存储地址,则执行步骤1212。
步骤1212:控制器A向主机A上报该广播数据包A。
步骤1213:主机A向应用A上报该广播数据包A。
步骤1214:应用A从广播数据包A中提取加密数据A。
步骤1215:应用A采用Link Key对加密数据A进行解密。
步骤1216:应用A从加密数据A中获取广播时间值A。
步骤1217:应用A检测到||广播时间值A-本地时间值||≤预设时长,则控制该蓝牙耳机播放声音。
步骤1218:应用A向主机A发送停止扫描命令。
步骤1219:主机A响应于应用A发送的停止扫描命令,向控制器A发送关闭扫描命令。
步骤1220:控制器A停止扫描。
步骤1221:控制器A向主机A反馈停止扫描完成的消息。
步骤1222:应用B向主机B发送停止查找命令。
步骤1223:主机B响应于该停止查找命令,向控制器B发送关闭广播的命令。
步骤1224:控制器B停止广播。
步骤1225:控制器B向主机B反馈广播已停止的消息。
需要说明的是,在蓝牙耳机检测到||广播时间值A-本地时间值||≤预设时长后,蓝牙耳机通过播放声音的方式提醒用户该蓝牙耳机的位置,在其他实施例中,蓝牙耳机确定发送该广播数据包A的设备(如该设备为手机A)为与该蓝牙耳机最近连接的设备,且该手机处于查找状态后,该蓝牙耳机还可以采用其他方式提醒用户蓝牙耳机的位置。例如,该蓝牙耳机在蓝牙耳机检测到||广播时间值A-本地时间值||≤预设时长后,蓝牙耳机可以重新与手机建立蓝牙连接。当蓝牙耳机与手机重新建立蓝牙连接后,手机可以通过蓝牙寻向功能(如到达角测量方式和出发角测量方式),获知蓝牙耳机相对于手机的距离和方向,并在应用B的界面中显示蓝牙蓝牙耳机相对于手机的距离和方向。本示例中还可以采用超宽频(Ultra Wide Band,UWB)技术实现定位,如,蓝牙耳机中设置有UWB的定位标签,在该蓝牙耳机在蓝牙耳机检测到||广播时间值A-本地时间值||≤预设时长后,启动蓝牙耳机中的定位标签发射信号,UWB信号接收机(即UWB的定位基站)可以根据定位标签发射的信号,计算出该耳机的位置,UWB信号接收机与手机A所处的基站通信。手机应用B在启动后,即可从基站获取蓝牙耳机和手机A的位置信息,进而显示出蓝牙耳机与手机A之间的距离和方向。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (24)

1.一种查找蓝牙设备的方法,其特征在于,第一电子设备与第二电子设备之间的蓝牙连接中断,所述方法包括:
启动被动扫描模式;
接收包含加密数据的广播数据包,所述加密数据是由所述第一电子设备对广播时间值进行加密后获得,所述广播时间值用于指示所述第一电子设备广播的时间;
从所述广播数据包中获取所述广播时间值;
根据所述第二电子设备的本地时间值对所述广播时间值进行验证,所述本地时间值用于指示所述第二电子设备当前的系统时间;
若验证所述广播时间值合法,则控制所述第二电子设备播放声音。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二电子设备的本地时间值对所述广播时间值进行验证,包括:
获取所述广播时间值与所述本地时间值之间的差值作为第一差值;
检测所述第一差值是否大于预设时长;
若检测到所述第一差值小于或等于所述预设时长,则验证所述广播时间值合法。
3.根据权利要求2所述的方法,其特征在于,所述若检测到所述第一差值大于所述预设时长,则验证所述广播时间值非法;
结束对所述广播数据包的处理。
4.根据权利要求3所述的方法,其特征在于,所述结束对所述广播数据包的处理,包括:
丢弃所述广播数据包。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述从所述广播数据包中获取所述广播时间值,包括:
从所述广播数据包的指定位置提取所述加密数据;
获取预先存储的链路密钥;
采用所述链路密钥对所述加密数据进行解密;
若检测到解密成功,则读取所述广播时间值。
6.根据权利要求5所述的方法,其特征在于,所述广播数据包中广播数据的类型被置为制造商特定数据,所述指定位置处于所述广播数据中第2字节之后的位置。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述接收包含加密数据的广播数据包之后,所述方法还包括:
检测所述广播数据包是否与所述第二电子设备匹配;
若检测到所述广播数据包与所述第二电子设备匹配,则确定执行从所述广播数据包中获取所述广播时间值的步骤。
8.根据权利要求7所述的方法,其特征在于,所述检测所述广播数据包是否与所述第二电子设备匹配,包括:
从所述广播数据包中获取所述第一电子设备的蓝牙地址;
检测是否存在与所述第一电子设备的蓝牙地址匹配的存储地址,所述存储地址为与所述第二电子设备蓝牙连接的对端设备的蓝牙地址;
若检测到与所述第一电子设备的蓝牙地址匹配的存储地址,则确定所述广播数据包与所述第二电子设备匹配。
9.根据权利要求7所述的方法,其特征在于,所述检测所述广播数据包是否与所述第二电子设备匹配,包括:
获取所述广播数据包的地址;
查询白名单中是否存在与所述广播数据包的地址匹配的设备地址;
若查询到白名单中存在与所述广播数据包的地址匹配的设备地址,则确定所述广播数据包与所述第二电子设备匹配。
10.根据权利要求5至9中任一项所述的方法,其特征在于,所述方法还包括:
存储至少两个与所述第二电子设备蓝牙配对的设备的链路密钥、设备地址以及验证时间,所述验证时间用于指示所述设备的系统时间,其中,所述验证时间有唯一对应的定时器;
存储每个所述设备的链路密钥、所述设备地址、以及所述设备的验证时间之间的对应关系;
所述获取预先存储的链路密钥,所述方法包括:
根据所述设备的所述设备地址以及所述对应关系,获取所述设备的链路密钥;
所述获取所述广播时间值与所述本地时间值之间的差值作为第一差值之前,所述方法还包括:
获取所述验证时间对应的所述定时器的时长;
获取所述验证时间与所述定时器的时长之间的和值;
将所述和值作为所述本地时间值。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述方法还包括:
所述第二电子设备与所述第一电子设备之间的蓝牙连接中断的时长超过第一预设时长,进入休眠模式;
检测到所述第二电子设备处于休眠模式的时长超过第二预设时长,则触发所述第二电子设备执行启动被动扫描模式的步骤。
12.根据权利要求1至10中任一项所述的方法,其特征在于,在所述第二电子设备与所述第一电子设备在配对成功之后,在第一电子设备与第二电子设备之间的蓝牙连接中断之前,所述方法还包括:
所述第二电子设备向所述第一电子设备发送时间同步请求,由所述第一电子设备将所述第一电子设备的标准时间返回所述第二电子设备;
根据所述标准时间,校准时间;
向所述第一电子设备反馈校准完成的消息;
与所述第一电子设备进行数据交互。
13.根据权利要求12所述的方法,其特征在于,在所述向所述第一电子设备反馈校准完成的消息之后,所述方法还包括:
保存所述第一电子设备的蓝牙地址。
14.根据权利要求13所述的方法,其特征在于,若所述第二电子设备的白名单中存储有设备的等效地址,所述方法还包括:
保存所述第一电子设备的身份验证密钥;
建立所述第一电子设备的身份验证密钥与第一电子设备的等效地址之间的对应关系。
15.一种查找蓝牙设备的方法,其特征在于,包括:
响应于用户的查找操作,对广播时间值进行加密,获得加密数据,所述广播时间值用于指示第一电子设备广播的时间;
向广播数据包中添加所述加密数据;
广播所述广播数据包,以供第二电子设备接收所述广播数据包。
16.根据权利要求15所述的方法,其特征在于,所述响应于用户的查找操作,对广播时间值进行加密,获得加密数据,包括:
获取预先存储的链路密钥;
采用所述链路密钥对所述广播时间值进行加密,获得加密数据。
17.根据权利要求15所述的方法,其特征在于,所述向广播数据包中添加所述加密数据,包括:
将所述广播数据包中广播数据的类型设置为制造商特定数据;
在所述广播数据包的指定位置添加所述加密数据,所述指定位置处于所述广播数据第2字节之后的位置。
18.根据权利要求17所述的方法,其特征在于,所述指定位置位于第3~4字节。
19.根据权利要求17所述的方法,其特征在于,所述方法还包括:
在所述广播数据包中添加所述第一电子设备的蓝牙地址。
20.根据权利要求19所述的方法,其特征在于,若所述第一电子设备的蓝牙地址的添加位置为所述广播数据的第3~8字节,则所述指定位置为所述广播数据的第9~10字节;
若所述指定位置为所述广播数据的第3~4字节,所述第一电子设备的蓝牙地址的添加位置为所述广播数据的第5~10字节。
21.根据权利要求15至19中任一项所述的方法,其特征在于,在所述第一电子设备与所述第二电子设备在配对成功之后,且在进行数据交互之前,所述方法还包括:
响应于所述第二电子设备发送的时间同步请求,将所述第一电子设备的标准时间返回所述第二电子设备,以供所述第二电子设备根据所述标准时间,校准时间;
接收所述第二电子设备反馈的校准完成的消息。
22.根据权利要求15所述的方法,其特征在于,所述方法还包括:
响应于用户的停止查找的操作,指示所述第一电子设备停止广播。
23.一种电子设备,其特征在于,包括一个或多个接口电路和一个或多个处理器;所述接口电路用于从电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,使得所述电子设备执行权利要求1至14任一项所述的查找蓝牙设备的方法,或者,执行权利要求15至22任一项所述的查找蓝牙设备的方法。
24.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至14中任意一项所述的查找蓝牙设备的方法,或者,执行如权利15至22中任意一项所述的查找蓝牙设备的方法。
CN202111078612.9A 2021-09-15 2021-09-15 查找蓝牙设备的方法、电子设备及存储介质 Active CN113766482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111078612.9A CN113766482B (zh) 2021-09-15 2021-09-15 查找蓝牙设备的方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111078612.9A CN113766482B (zh) 2021-09-15 2021-09-15 查找蓝牙设备的方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113766482A true CN113766482A (zh) 2021-12-07
CN113766482B CN113766482B (zh) 2022-10-14

Family

ID=78795641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111078612.9A Active CN113766482B (zh) 2021-09-15 2021-09-15 查找蓝牙设备的方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113766482B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114980363A (zh) * 2022-07-27 2022-08-30 荣耀终端有限公司 一种蓝牙回连方法及其相关装置
CN115348113A (zh) * 2022-10-18 2022-11-15 安徽华云安科技有限公司 一种中间人攻击对抗方法
CN115942253A (zh) * 2023-02-01 2023-04-07 荣耀终端有限公司 一种提示方法及相关装置
CN116321163A (zh) * 2023-05-17 2023-06-23 深圳开鸿数字产业发展有限公司 蓝牙通信系统的控制方法、蓝牙设备和可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049497A1 (en) * 2007-04-13 2009-02-19 Lg Electronics Inc. Digital broadcasting system and data processing method
US20170201854A1 (en) * 2016-01-13 2017-07-13 Lg Electronics Inc. Method and device for controlling group device using bluetooth in wireless communication system
CN111343634A (zh) * 2020-03-05 2020-06-26 深圳市丰鑫科技服务有限公司 低功耗蓝牙设备间安全连接方法及数据传输方法
WO2021027666A1 (zh) * 2019-08-14 2021-02-18 华为技术有限公司 一种蓝牙回连的方法及相关装置
CN112449328A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 一种蓝牙搜索方法、系统及相关装置
WO2021054769A1 (ko) * 2019-09-18 2021-03-25 엘지전자 주식회사 무선 통신 시스템에서 근거리 무선 통신을 이용한 오디오 데이터 전송 방법 및 이에 대한 장치
WO2021147745A1 (zh) * 2020-01-21 2021-07-29 华为技术有限公司 蓝牙连接方法、系统和电子设备
CN113329399A (zh) * 2020-02-28 2021-08-31 阿里巴巴集团控股有限公司 数据传输、配网与管理方法、设备、系统及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049497A1 (en) * 2007-04-13 2009-02-19 Lg Electronics Inc. Digital broadcasting system and data processing method
US20170201854A1 (en) * 2016-01-13 2017-07-13 Lg Electronics Inc. Method and device for controlling group device using bluetooth in wireless communication system
WO2021027666A1 (zh) * 2019-08-14 2021-02-18 华为技术有限公司 一种蓝牙回连的方法及相关装置
CN112449328A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 一种蓝牙搜索方法、系统及相关装置
WO2021054769A1 (ko) * 2019-09-18 2021-03-25 엘지전자 주식회사 무선 통신 시스템에서 근거리 무선 통신을 이용한 오디오 데이터 전송 방법 및 이에 대한 장치
WO2021147745A1 (zh) * 2020-01-21 2021-07-29 华为技术有限公司 蓝牙连接方法、系统和电子设备
CN113329399A (zh) * 2020-02-28 2021-08-31 阿里巴巴集团控股有限公司 数据传输、配网与管理方法、设备、系统及存储介质
CN111343634A (zh) * 2020-03-05 2020-06-26 深圳市丰鑫科技服务有限公司 低功耗蓝牙设备间安全连接方法及数据传输方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114980363A (zh) * 2022-07-27 2022-08-30 荣耀终端有限公司 一种蓝牙回连方法及其相关装置
CN114980363B (zh) * 2022-07-27 2024-03-19 荣耀终端有限公司 一种蓝牙回连方法及其相关装置
CN115348113A (zh) * 2022-10-18 2022-11-15 安徽华云安科技有限公司 一种中间人攻击对抗方法
CN115348113B (zh) * 2022-10-18 2022-12-23 安徽华云安科技有限公司 一种中间人攻击对抗方法
CN115942253A (zh) * 2023-02-01 2023-04-07 荣耀终端有限公司 一种提示方法及相关装置
CN115942253B (zh) * 2023-02-01 2023-08-04 荣耀终端有限公司 一种提示方法及相关装置
CN116321163A (zh) * 2023-05-17 2023-06-23 深圳开鸿数字产业发展有限公司 蓝牙通信系统的控制方法、蓝牙设备和可读存储介质
CN116321163B (zh) * 2023-05-17 2023-08-15 深圳开鸿数字产业发展有限公司 蓝牙通信系统的控制方法、蓝牙设备和可读存储介质

Also Published As

Publication number Publication date
CN113766482B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN113766482B (zh) 查找蓝牙设备的方法、电子设备及存储介质
EP4007321A1 (en) Information sharing method, terminal apparatus, storage medium, and computer program product
CN113225690B (zh) 蓝牙连接方法、系统和电子设备
CN112449328B (zh) 一种蓝牙搜索方法、系统及相关装置
EP3820077A1 (en) Login method, token sending method, and device
US8467770B1 (en) System for securing a mobile terminal
CN112449332B (zh) 一种蓝牙连接的方法和电子设备
CN111373713B (zh) 一种消息传输方法及设备
KR20200130920A (ko) 거리 측정 및 인증을 동시에 수행하는 방법 및 그 전자 장치
CN113360108B (zh) 一种投屏连接控制方法及电子设备
US11844119B2 (en) Bluetooth pairing method and related apparatus
CN111083804B (zh) 一种数据传输方法及设备
CN113676879A (zh) 一种分享信息的方法、电子设备和系统
CN114928831A (zh) 一种通信方法及电子设备
CN115567932A (zh) 一种密钥信息的同步方法、系统及设备
EP4138462A1 (en) Information sharing method, electronic devices and system
CN116325664A (zh) 一种智能设备配网的方法和装置
CN115033864A (zh) 身份验证方法、系统及电子设备
US20220343747A1 (en) Method and apparatus for providing location alarm service of electronic device
CN112615891B (zh) 配对方法及设备
WO2023246695A1 (zh) 设备授权方法及电子设备、系统
WO2023098356A1 (zh) 指纹识别方法、电子设备及系统
CN113541954A (zh) 控制基带的方法及装置
CN117641359A (zh) 数据处理方法及电子设备
CN116028916A (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