一种IOS系统获取蓝牙地址的方法及装置与流程

文档序号:15752582发布日期:2018-10-26 18:03阅读:632来源:国知局
一种IOS系统获取蓝牙地址的方法及装置与流程

本发明属于无线通信技术领域,特别涉及一种ios系统获取蓝牙地址的方法及装置。



背景技术:

随着物联网的兴起和发展,对于物联网技术研究成为了当前的研究热点。在物联网中,设备之间的互联是实现物联网的基础。而蓝牙低能耗(ble)技术由于具有低能耗、低成本、短距离、可连接多个设备等优点,被广泛应用于物联网技术中。

当移动终端需要与多个同一型号中的某一个蓝牙设备建立蓝牙连接时,移动终端需要知道该蓝牙设备的蓝牙地址,才能保证其连接的蓝牙设备是正确的。而在当前的ios系统中,由于底层没有将接口开放给上层应用,使得协议栈不会向上层应用提供蓝牙地址。为了获取蓝牙设备的蓝牙地址,现有的方法是先将ios系统的移动终端逐一与每个蓝牙设备进行连接,然后通过应用层对端发送消息的方式将蓝牙设备的蓝牙地址发送给移动终端。移动终端如需获取多个蓝牙设备的蓝牙地址,则需要建立多次连接,操作比较繁琐,费时费力。



技术实现要素:

本发明的目的是提供一种ios系统获取蓝牙地址的方法及装置,实现ios系统快速获取蓝牙设备的蓝牙地址的目的。

本发明提供的技术方案如下:

一种ios系统获取蓝牙地址的方法,包括以下步骤:

接收蓝牙设备发送的带有蓝牙地址的广播报文;所述蓝牙地址设置在所述广播报文的协议数据单元中;

解析所述广播报文,得到所述蓝牙设备的蓝牙地址。

进一步地,所述解析所述广播报文,得到所述蓝牙设备的蓝牙地址之后还包括:

在蓝牙设备列表中显示获取到的所述蓝牙设备的蓝牙地址;

获取确认信息,根据所述确认信息在所述蓝牙设备列表中得到目标蓝牙设备,并与所述目标蓝牙设备建立绑定关系。

进一步地,所述与所述目标蓝牙设备建立绑定关系具体包括:

获取与所述蓝牙设备列表中的所述目标蓝牙设备建立绑定关系的请求;

当根据所述目标蓝牙设备发送的广播报文判定所述目标蓝牙设备已被绑定时,生成提示信息;

当根据所述目标蓝牙设备发送的广播报文判定所述目标蓝牙设备未被绑定时,与所述目标蓝牙设备建立绑定关系。

进一步地,所述在蓝牙设备列表中显示获取到的所述蓝牙设备的蓝牙地址具体包括:

获取多个蓝牙设备的广播报文的信号强度;

根据所述信号强度在蓝牙设备列表中从高到低依次显示多个所述蓝牙设备的蓝牙地址。

进一步地,所述接收蓝牙设备发送的带有蓝牙地址的广播报文;所述蓝牙地址设置在所述广播报文的协议数据单元中具体包括:

接收所述蓝牙设备发送的带有蓝牙地址的广播报文;当所述广播报文的协议数据单元中包含厂商字段时,所述蓝牙地址设置在所述厂商字段的尾部;当所述协议数据单元中未包含厂商字段时,所述蓝牙地址设置在所述协议数据单元中的数据单元的任意位置。

本发明还提供一种ios系统获取蓝牙地址的装置,包括:

接收模块,用于接收蓝牙设备发送的带有蓝牙地址的广播报文;所述蓝牙地址设置在所述广播报文的协议数据单元中;

解析模块,用于解析所述广播报文,得到所述蓝牙设备的蓝牙地址。

进一步地,还包括:

显示模块,用于在蓝牙设备列表中显示获取到的所述蓝牙设备的蓝牙地址;

管理模块,用于与所述蓝牙设备列表中的目标蓝牙设备建立绑定关系。

进一步地,所述管理模块包括:

第一获取单元,用于获取与所述蓝牙设备列表中的所述目标蓝牙设备建立绑定关系的请求;

判断单元,用于根据所述目标蓝牙设备发送的广播报文判断所述目标蓝牙设备是否已被绑定;

提示单元,用于当判定所述目标蓝牙设备已被绑定时,生成提示信息;

执行单元,用于当所述目标蓝牙设备未被绑定时,与所述目标蓝牙设备建立绑定关系。

进一步地,所述显示模块包括:

第二获取单元,用于获取多个蓝牙设备的广播报文的信号强度;

显示单元,用于根据所述信号强度在蓝牙设备列表中从高到低依次显示多个所述蓝牙设备的蓝牙地址。

进一步地,所述接收模块还用于接收所述蓝牙设备发送的带有蓝牙地址的广播报文;当所述广播报文的协议数据单元中包含厂商字段时,所述蓝牙地址设置在所述厂商字段的尾部;当所述协议数据单元中未包含厂商字段时,所述蓝牙地址设置在所述协议数据单元中的数据单元的任意位置。

通过本发明提供的一种ios系统获取蓝牙地址的方法及装置,能够带来以下至少一种有益效果:

1、本发明将蓝牙地址设置在蓝牙设备的广播报文的协议数据单元中,移动终端接收蓝牙设备发送的广播报文,由于ios系统的移动终端的应用层可获取到广播报文的协议数据单元中的数据信息,然后通过约定的规则将协议数据单元中的蓝牙地址提取出来,移动终端无需与蓝牙设备建立连接即可快速获取到蓝牙设备的蓝牙地址,提高工作效率。

2、本发明在移动终端与蓝牙设备建立连接时,先判断蓝牙设备是否被绑定,如果蓝牙设备已被绑定,则先解除绑定后再建立绑定关系,使得蓝牙设备同一时间只绑定一个移动终端,提高数据传输的安全性。

3、本发明通过获取广播报文的信号强度,然后根据信号强度对所有蓝牙设备进行排序,使得用户更容易查找到需要绑定的目标蓝牙设备,提高用户的使用体验。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种ios系统获取蓝牙地址的方法及装置的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明一种ios系统获取蓝牙地址的方法的实施例一的流程示意图;

图2是本发明一种ios系统获取蓝牙地址的方法的实施例二的流程示意图;

图3是本发明一种ios系统获取蓝牙地址的方法的实施例三的流程示意图;

图4是本发明一种ios系统获取蓝牙地址的方法的实施例四的流程示意图;

图5是本发明一种ios系统获取蓝牙地址的装置的实施例六的结构示意框图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为设备的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

根据本发明提供的第一实施例,如图1所示,

一种ios系统获取蓝牙地址的方法,包括以下步骤:

接收蓝牙设备发送的带有蓝牙地址的广播报文;所述蓝牙地址设置在所述广播报文的协议数据单元中;

解析所述广播报文,得到所述蓝牙设备的蓝牙地址。

具体地,本实施例应用于使用ios系统的移动终端,蓝牙设备可为智能穿戴设备或智能家居上的蓝牙设备,如智能水杯、智能手环等。移动终端接收蓝牙设备发送的带有蓝牙地址的广播报文,蓝牙地址为蓝牙唯一身份标识,由六字节组成,分别为nap(16位无意义地址部分)、uap(8位地址高端部分)、lap(24位地址低端部分)三部分,nap与uap是生产厂商的唯一标识码,由蓝牙权威部门分配给不同的厂商,而lap是由厂商内部自由分配。蓝牙设备的广播报文结构包括前导、接入地址、协议数据单元和校验,其中协议数据单元包括报头、长度和数据;移动终端接收到蓝牙设备的广播报文后对广播报文进行解析,移动终端的协议栈可获取到接入地址中的蓝牙地址,但是协议栈不会将蓝牙地址提供给上层应用,而移动终端的应用层只可获取到协议数据单元中的数据信息,将蓝牙地址设置在广播报文的协议数据单元中,使得应用层可直接从协议数据单元中提取出蓝牙设备的蓝牙地址,移动终端无需与蓝牙设备建立连接即可快速获取到蓝牙设备的蓝牙地址,提高工作效率。

根据本发明提供的第二实施例,如图2所示,在解析所述广播报文,得到所述蓝牙设备的蓝牙地址之后还包括:

在蓝牙设备列表中显示获取到的所述蓝牙设备的蓝牙地址;

获取确认信息,根据所述确认信息在所述蓝牙设备列表中得到目标蓝牙设备,并与所述目标蓝牙设备建立绑定关系。

具体地,本实施例是上述第一实施例的优选实施例,本实施例中,由于蓝牙设备的蓝牙地址是唯一的,而蓝牙设备的名称是可以更改的,并且同一厂家生产的同一型号的产品,其出厂时的蓝牙设备的名称都是相同的,如不显示蓝牙设备的蓝牙地址,当存在多个相同型号的蓝牙设备时,用户无法确定哪个蓝牙设备才是自己真正想建立绑定关系的蓝牙设备,会降低用户的使用体验。因此,移动终端通过接收并解析蓝牙设备发送的广播报文,得到多个蓝牙设备的蓝牙地址后,在移动终端的蓝牙设备列表中显示获取到的所有蓝牙设备的蓝牙地址,用户根据蓝牙设备列表中显示的蓝牙设备的蓝牙地址选择需要与移动终端建立绑定关系的目标蓝牙设备,移动终端与用户选择的目标蓝牙设备建立绑定关系。本实施例通过将获取到的蓝牙设备的蓝牙地址显示在蓝牙设备列表中,可方便用户选择需要建立绑定关系的目标蓝牙设备,方便用户的操作,提高了用户的使用体验。

根据本发明提供的第三实施例,如图3所示,上述第二实施例中的与所述目标蓝牙设备建立绑定关系具体包括:

获取与所述蓝牙设备列表中的所述目标蓝牙设备建立绑定关系的请求;

当根据所述目标蓝牙设备发送的广播报文判定所述目标蓝牙设备已被绑定时,生成提示信息;

当根据所述目标蓝牙设备发送的广播报文判定所述目标蓝牙设备未被绑定时,与所述目标蓝牙设备建立绑定关系。

具体地,本实施例为上述第二实施例的优选实施例,当移动终端获取到与蓝牙设备列表中的目标蓝牙设备建立绑定关系的请求后,先根据目标蓝牙设备发送的广播报文判断该目标蓝牙设备是否已被绑定,当判定该目标蓝牙设备已被绑定时,可生成提示信息,提示用户该目标蓝牙设备已被绑定,用户根据该提示信息给目标蓝牙设备发送解除绑定指令,目标蓝牙设备根据解除绑定指令解除与其他设备的绑定关系,并在广播报文中设置未绑定标识,移动终端再次获取与该目标蓝牙设备建立绑定关系的请求,当移动终端根据目标蓝牙设备发送的广播报文判定该目标蓝牙设备未被绑定时,与该目标蓝牙设备建立绑定关系,然后给目标蓝牙设备发送绑定信息,使得目标蓝牙设备根据绑定信息在广播报文中设置绑定标识,绑定标识可以有多种设置方法,比如在广播报文中增加一位,用0和1分别表示绑定状态和未绑定状态。本实施例通过判断目标蓝牙设备是否被绑定,在目标蓝牙设备未被绑定时,才建立绑定关系,可使蓝牙设备同时只与一个移动终端建立绑定关系,并进行数据传输,提高了数据的安全性。

根据本发明提供的第四实施例,如图4所示,上述第二实施例中的在蓝牙设备列表中显示获取到的所述蓝牙设备的蓝牙地址具体包括:

获取多个蓝牙设备的广播报文的信号强度;

根据所述信号强度在蓝牙设备列表中从高到低依次显示多个所述蓝牙设备的蓝牙地址。

具体地,本实施例是上述第二实施例的优选实施例,由于移动终端接收到的蓝牙设备的广播报文的信号强度与移动终端和蓝牙设备之间的距离存在一定的关系,而且在两者距离比较近时,例如1m以内,信号强度与移动终端和蓝牙设备之间的距离的关系呈现线性关系,即移动终端与蓝牙设备之间的距离越小,广播报文的信号强度越大。移动终端通过获取所有蓝牙设备的广播报文的信号强度,然后根据信号强度从高到低依次显示蓝牙设备的蓝牙地址,使得离移动终端越近的蓝牙设备显示在蓝牙设备列表的前面,而一般用户需要绑定的目标蓝牙设备距离移动终端的距离不会很远,通过上述显示方式,可方便用户查找到目标蓝牙设备,提高用户的使用体验。

根据本发明提供的第五实施例,接收蓝牙设备发送的带有蓝牙地址的广播报文;所述蓝牙地址设置在所述广播报文的协议数据单元中具体包括:

接收所述蓝牙设备发送的带有蓝牙地址的广播报文;当所述广播报文的协议数据单元中包含厂商字段时,所述蓝牙地址设置在所述厂商字段的尾部;当所述协议数据单元中未包含厂商字段时,所述蓝牙地址设置在所述协议数据单元中的数据单元的任意位置。

具体地,本实施例是上述第一、第二、第三和第四实施例的优选实施例。一般在蓝牙设备的广播报文中有一个专门为不同厂商定义的特殊字段,这个特殊字段为厂商字段,本实施例将蓝牙设备的蓝牙地址放置在厂商字段的尾部,并增加厂商字段的长度,如蓝牙地址的长度为6个字节,即在定义厂商字段的长度时,将原有的厂商字段的长度加6个字节即为现在的厂商字段的长度;然后根据双方约定的规则将蓝牙设备的蓝牙地址从厂商字段中提取出来,即可获取到蓝牙设备的蓝牙地址,将蓝牙设备的蓝牙地址直接设置在厂商字段的尾部,只需要更改厂商字段的定义长度即可,而不需要改变原有广播报文中的数据单元的结构,使得实施过程比较简便。当然,蓝牙设备的蓝牙地址也可放置在协议数据单元中的数据单元的任意位置,只要移动终端根据双方约定的规则可将蓝牙设备的蓝牙地址提取出来即可。

本发明提供的第六实施例,如图5所示,

一种ios系统获取蓝牙地址的装置,包括:

接收模块100,用于接收蓝牙设备发送的带有蓝牙地址的广播报文;所述蓝牙地址设置在所述广播报文的协议数据单元中;

解析模块200,用于解析所述广播报文,得到所述蓝牙设备的蓝牙地址。

本实施例中的各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

根据本发明提供的第七实施例,

一种ios系统获取蓝牙地址的装置,包括接收模块,用于接收蓝牙设备发送的带有蓝牙地址的广播报文;所述蓝牙地址设置在所述广播报文的协议数据单元中;

解析模块,用于解析所述广播报文,得到所述蓝牙设备的蓝牙地址。

优选地,还包括:

显示模块,用于在蓝牙设备列表中显示获取到的所述蓝牙设备的蓝牙地址;

管理模块,用于获取确认信息,根据所述确认信息在所述蓝牙设备列表中得到目标蓝牙设备,并与所述蓝牙设备列表中的目标蓝牙设备建立绑定关系。

优选地,所述管理模块包括:

第一获取单元,用于获取与所述蓝牙设备列表中的所述目标蓝牙设备建立绑定关系的请求;

判断单元,用于根据所述目标蓝牙设备发送的广播报文判断所述目标蓝牙设备是否已被绑定;

提示单元,用于当判定所述目标蓝牙设备已被绑定时,生成提示信息;

执行单元,用于当所述目标蓝牙设备未被绑定时,与所述目标蓝牙设备建立绑定关系。

优选地,所述显示模块包括:

第二获取单元,用于获取多个蓝牙设备的广播报文的信号强度;

显示单元,用于根据所述信号强度在蓝牙设备列表中从高到低依次显示多个所述蓝牙设备的蓝牙地址。

优选地,所述接收模块还用于接收所述蓝牙设备发送的带有蓝牙地址的广播报文;当所述广播报文的协议数据单元中包含厂商字段时,所述蓝牙地址设置在所述厂商字段的尾部;当所述协议数据单元中未包含厂商字段时,所述蓝牙地址设置在所述协议数据单元中的数据单元的任意位置。

本实施例中的各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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