CN107172717B - 蓝牙设备及其蓝牙设备的互搜索方法 - Google Patents
蓝牙设备及其蓝牙设备的互搜索方法 Download PDFInfo
- Publication number
- CN107172717B CN107172717B CN201610130169.8A CN201610130169A CN107172717B CN 107172717 B CN107172717 B CN 107172717B CN 201610130169 A CN201610130169 A CN 201610130169A CN 107172717 B CN107172717 B CN 107172717B
- Authority
- CN
- China
- Prior art keywords
- slave
- scan
- bluetooth
- master
- bluetooth device
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000008859 change Effects 0.000 claims description 165
- 230000004048 modification Effects 0.000 claims description 54
- 238000012986 modification Methods 0.000 claims description 54
- 238000006243 chemical reaction Methods 0.000 description 38
- 230000007704 transition Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/40—Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
- H04B5/48—Transceivers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了蓝牙设备及其蓝牙设备的互搜索方法。本发明中,蓝牙设备的身份并非固定,其可自主转换,以实现自主搜索相邻各设备并根据业务需求自主动态与相邻各设备及时建立连接,提高连接效率。
Description
技术领域
本申请涉及蓝牙技术,特别涉及蓝牙设备及其蓝牙设备的互搜索方法。
背景技术
蓝牙低能耗(BLE)技术由于低成本、短距离、可互操作、工作在免许可的2.4GHzISM射频频段等优势在目前已得到广泛应用。
目前,应用蓝牙低能耗技术的设备(称为蓝牙设备)分为主设备和从设备,一旦蓝牙设备的主、从身份确定,则以后就不再进行身份修改。蓝牙协议规定,主设备不能主动连接从设备,只能由从设备作为发起者与主设备连接。主设备通过扫描从设备发出的广播连接,可以获得周边存在哪些从设备,以及从设备的状态以及属性。
但是,只有从设备发起连接,则就会存在一些制约,比如作为主设备的蓝牙设备想主动与作为从设备的蓝牙设备通信时,但因为主设备不能主动连接从设备,则作为主设备的蓝牙设备不得不被动的等待作为从设备的蓝牙设备发出连接请求进行连接,这会大大延迟了作为主设备的蓝牙设备的各种连接。
发明内容
本申请提供了蓝牙设备及其蓝牙设备的互搜索方法,蓝牙设备按照设定好的主从转换周期自主进行主从转换,以动态实现主从蓝牙设备之间的互搜索,及时建立蓝牙设备之间的连接。
本申请提供的技术方案包括:
一种蓝牙设备的互搜索方法,该方法应用于蓝牙设备,包括:
作为主设备时,
确定各作为从设备的蓝牙设备相关联的候选主从切换时间点;其中,当蓝牙设备存在主从切换时间偏移值READY_CHANGE_SCAN_START值时,则依据该READY_CHANGE_SCAN_START值和蓝牙设备的next_scan确定该蓝牙设备相关联的候选主从切换时间点;当蓝牙设备不存在READY_CHANGE_SCAN_START值时,则确定该蓝牙设备的next_scan为该蓝牙设备相关联的候选主从切换时间点;所述next_scan为距离蓝牙设备即将进行的主从切换的时间段;
检查各蓝牙设备相关联的候选主从切换时间点之间是否冲突,当检查出两个蓝牙设备相关联的候选主从切换时间点冲突时,对该两个蓝牙设备中的每一蓝牙设备执行以下步骤:若蓝牙设备相关联的候选主从切换时间点是该蓝牙设备的next_scan时,为该蓝牙设备设置主从转换时间修改建议,若蓝牙设备相关联的候选主从切换时间点是依据该蓝牙设备的主从切换时间偏移值和next_scan时,标识该蓝牙设备的READY_CHANGE_SCAN_START值为冲突值,并重新为该蓝牙设备设置主从转换时间修改建议;
接收作为从设备的相邻蓝牙设备发送的本设备的主从转换时间点修改建议,依据本设备的主从转换时间点修改建议确定本设备的READY_CHANGE_SCAN_START值;
在确定出其他蓝牙设备未对本设备的READY_CHANGE_SCAN_START值提出异议时,记录READY_CHANGE_SCAN_START值无异议,否则,依据所述异议更新本设备的READY_CHANGE_SCAN_START值;
在本设备的next_scan到达时,自主转换为从设备;
作为从设备时,
将之前作为主设备时为相邻蓝牙设备设置的主从转换时间修改建议发送给该蓝牙设备,该蓝牙设备此时已从从设备切换为主设备;
当本地已记录了一蓝牙设备的READY_CHANGE_SCAN_START值为冲突值时,对该蓝牙设备的READY_CHANGE_SCAN_START值提出异议并通知给该蓝牙设备,该蓝牙设备此时已从从设备切换为主设备,所述异议包含了重新为该蓝牙设备设置的主从转换时间修改建议;
在本地记录了本设备的READY_CHANGE_SCAN_START值无异议时,依据本设备的READY_CHANGE_SCAN_START值修改本设备的next_scan;
在本设备的next_scan到达时,自主转换为主设备。
一种蓝牙设备,包括:
主设备处理单元,用于当本设备作为主设备时,执行以下步骤:
确定各作为从设备的蓝牙设备相关联的候选主从切换时间点;其中,当蓝牙设备存在主从切换时间偏移值READY_CHANGE_SCAN_START值时,则依据该READY_CHANGE_SCAN_START值和蓝牙设备的next_scan确定该蓝牙设备相关联的候选主从切换时间点;当蓝牙设备不存在READY_CHANGE_SCAN_START值时,则确定该蓝牙设备的next_scan为该蓝牙设备相关联的候选主从切换时间点;所述next_scan为距离蓝牙设备即将进行的主从切换的时间段;
检查各蓝牙设备相关联的候选主从切换时间点之间是否冲突,当检查出两个蓝牙设备相关联的候选主从切换时间点冲突时,对该两个蓝牙设备中的每一蓝牙设备执行以下步骤:若蓝牙设备相关联的候选主从切换时间点是该蓝牙设备的next_scan时,为该蓝牙设备设置主从转换时间修改建议,若蓝牙设备相关联的候选主从切换时间点是依据该蓝牙设备的主从切换时间偏移值和next_scan时,标识该蓝牙设备的READY_CHANGE_SCAN_START值为冲突值,并重新为该蓝牙设备设置主从转换时间修改建议;
接收作为从设备的相邻蓝牙设备发送的本设备的主从转换时间点修改建议,依据本设备的主从转换时间点修改建议确定本设备的READY_CHANGE_SCAN_START值;
在确定出其他蓝牙设备未对本设备的READY_CHANGE_SCAN_START值提出异议时,记录READY_CHANGE_SCAN_START值无异议,否则,依据所述异议更新本设备的READY_CHANGE_SCAN_START值;
在本设备的next_scan到达时,自主转换为从设备;
从设备处理单元,用于在本设备作为从设备时,执行以下步骤:
将之前作为主设备时为相邻蓝牙设备设置的主从转换时间修改建议发送给该蓝牙设备,该蓝牙设备此时已从从设备切换为主设备;
当本地已记录了一蓝牙设备的READY_CHANGE_SCAN_START值为冲突值时,对该蓝牙设备的READY_CHANGE_SCAN_START值提出异议并通知给该蓝牙设备,该蓝牙设备此时已从从设备切换为主设备,所述异议包含了重新为该蓝牙设备设置的主从转换时间修改建议;
在本地记录了本设备的READY_CHANGE_SCAN_START值无异议时,依据本设备的READY_CHANGE_SCAN_START值修改本设备的next_scan;
在本设备的next_scan到达时,自主转换为主设备。
由以上技术方案可以看出,本发明中,蓝牙设备的身份并非固定,其会动态自主进行主从转换,这能够实现蓝牙设备根据业务需求自主动态与相邻各设备及时建立连接,提高连接效率;
进一步地,本发明中,当蓝牙设备发现相邻蓝牙设备的候选主从切换时间点冲突时,会自动为该相邻蓝牙设备修改候选主从切换时间点以避免冲突,实现设备之间的准确连接,减少相互之间的干扰。
附图说明
图1为本发明提供的方法流程图;
图2为本发明实施例提供的应用示意图;
图3为本发明提供的主从切换周期示意图;
图4为本发明提供的设备结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法包括图1所示的流程:
参见图1,图1为本发明提供的方法流程图。该方法应用于蓝牙设备,如图1所示,该流程可包括以下步骤:
步骤101,当蓝牙设备作为主设备时,执行步骤102,当蓝牙设备作为从设备时,执行步骤103。
步骤102,确定各作为从设备的蓝牙设备相关联的候选主从切换时间点,检查各蓝牙设备相关联的候选主从切换时间点之间是否冲突,当检查出两个蓝牙设备相关联的候选主从切换时间点冲突时,对该两个蓝牙设备中的每一蓝牙设备执行以下步骤:若蓝牙设备相关联的候选主从切换时间点是该蓝牙设备的next_scan时,为该蓝牙设备设置主从转换时间修改建议,若蓝牙设备相关联的候选主从切换时间点是依据该蓝牙设备的主从切换时间偏移值和next_scan时,标识该蓝牙设备的READY_CHANGE_SCAN_START值为冲突值,并重新为该蓝牙设备设置主从转换时间修改建议;接收作为从设备的相邻蓝牙设备发送的本设备的主从转换时间点修改建议,依据本设备的主从转换时间点修改建议确定本设备的READY_CHANGE_SCAN_START值;在确定出其他蓝牙设备未对本设备的READY_CHANGE_SCAN_START值提出异议时,记录READY_CHANGE_SCAN_START值无异议,否则,依据所述异议更新本设备的READY_CHANGE_SCAN_START值;在本设备的next_scan到达时,自主转换为从设备。
优选地,本发明中,确定各作为从设备的蓝牙设备相关联的候选主从切换时间点具体可为:当蓝牙设备存在主从切换时间偏移值READY_CHANGE_SCAN_START值时,则依据该READY_CHANGE_SCAN_START值和蓝牙设备的next_scan确定该蓝牙设备相关联的候选主从切换时间点;当蓝牙设备不存在READY_CHANGE_SCAN_START值时,则确定该蓝牙设备的next_scan为该蓝牙设备相关联的候选主从切换时间点。
这里,蓝牙设备的next_scan为距离蓝牙设备即将进行的主从切换的时间段。作为本发明的一个实施例,在本发明中,蓝牙设备是以预先配置的主从转换周期进行主从转换的。基于此,蓝牙设备的next_scan为从当前时间距离待到达的主从转换周期的一段时间。
本发明中,可固定同一系统内的所有蓝牙设备配置的主从转换周期一致,以保证整个系统基本稳定。作为本发明的一个优选实施例,本发明中,可设置各蓝牙设备的主从转换周期为33个广播事件(Advertising event)时间。
步骤103,将之前作为主设备时为相邻蓝牙设备设置的主从转换时间修改建议发送给该蓝牙设备,该蓝牙设备此时已从从设备切换为主设备;当本地已记录了一蓝牙设备的READY_CHANGE_SCAN_START值为冲突值时,对该蓝牙设备的READY_CHANGE_SCAN_START值提出异议并通知给该蓝牙设备,该蓝牙设备此时已从从设备切换为主设备,所述异议包含了重新为该蓝牙设备设置的主从转换时间修改建议;在本地记录了本设备的READY_CHANGE_SCAN_START值无异议时,依据本设备的READY_CHANGE_SCAN_START值修改本设备的next_scan;在本设备的next_scan到达时,自主转换为主设备。
至此,完成图1所示的方法流程。
在图1所示的流程,本设备的next_scan到达时,实质是本设备的next_scan减少至0。
在图1所示的流程中,蓝牙设备可自主进行主从切换,这能够实现蓝牙设备根据业务需求自主动态与相邻各设备及时建立连接,提高连接效率。
下面通过一个具体实施例对图1所示流程进行详细描述:
参见图2,图2为本发明提供的实施例应用示意图。如图2所示,随机撒点的设备A周边有三个相邻蓝牙设备:设备B、设备C、设备D,设备A、设备B、设备C、设备D均相互处于各自的覆盖范围内。设备A至设备D的主从转换周期为33个Advertising event。
在图2中,初始,设备A为主设备,设备B至设备D为从设备。设备A作为主设备,处于扫描阶段以扫描从设备发送的数据;设备B至设备D作为从设备,处于数据发送阶段,设备B至设备D在当前的主从转换周期即33个广播事件Advertising event的时间内向设备A广播非可连接广播PDU,假如一个Advertising event为30ms,图3示出了设备B至设备D发送非可连接广播PDU(ADV_NONCONN_IND)的示意图。
作为本发明的一个实施例,设备B至设备D发送的非可连接广播PDU可由用户自定义(MANUFACTURER SPECIFIC DATA),内容最大包含26byte净荷。优选地,非可连接广播PDU的结构可包括:
DEVICE字段,用于携带设备类型(flag),这里设备类型可优选为“自主实现主从转换的蓝牙设备的互搜索”,1bit;
ADVICE_ENABLE字段,用于表示ADVICE_SOME_NB_CHANGE字段是否开启,1bit;
NABER_ENABLE字段,用于表示NABER字段是否开启,1bit;
NEXT_SCAN字段,用于携带从当前距离待进行的主从转换的时间段,范围0-26个Advertising event 5bit;
NO字段,用于表示设备标识,8bit;
READY_CHANGE_SCAN_START字段,用于携带主从切换时间偏移值,范围0-26个Advertising event,5bit,初始,非可连接广播PDU可不包含该字段;
NABER字段,可选,用于携带相邻各设备的设备标识及各设备待进行主从转换的时间,初始非可连接广播PDU可不包含该字段,当非可连接广播PDU不包含NABER字段时,也同样不包含NABER_ENABLE字段。
ADVICE_SOME_NB_CHANGE字段,可选,用于携带主从转换时间修改建议,26bit,初始非可连接广播PDU可不包含该字段。当非可连接广播PDU不包含ADVICE_SOME_NB_CHANGE字段时,也同样不包含ADVICE_ENABLE字段。
设备A接收设备B广播的非可连接广播PDU,识别设备B发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备A的设备类型相同,结果发现本设备A的设备类型与设备B发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备A发现设备B发送的非可连接广播PDU中仅有NEXT_SCAN字段或者有READY_CHANGE_SCAN_START字段,但READY_CHANGE_SCAN_START字段并非携带设备B的主从转换时间偏移值,则设备A确定设备B相关联的候选主从切换时间点为设备B发送的非可连接广播PDU中NEXT_SCAN字段携带的时间T1。当然,如果设备A发现本设备A的设备类型与设备B发送的非可连接广播PDU中的DEVICE字段包含的设备类型不同,则忽略设备B发送的非可连接广播PDU,这里本发明不涉及,不再展开描述。
设备A接收设备C广播的非可连接广播PDU,识别设备C发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备A的设备类型与设备C发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备A发现设备C发送的非可连接广播PDU中仅有NEXT_SCAN字段或者有READY_CHANGE_SCAN_START字段,但READY_CHANGE_SCAN_START字段并非携带设备C的主从转换时间偏移值,则设备A确定设备C相关联的候选主从切换时间点为设备C发送的非可连接广播PDU中NEXT_SCAN字段携带的时间T2。
设备A接收设备D广播的非可连接广播PDU,识别设备D发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备A的设备类型与设备D发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备A发现设备D发送的非可连接广播PDU中仅有NEXT_SCAN字段或者有READY_CHANGE_SCAN_START字段,但READY_CHANGE_SCAN_START字段并非携带设备D的主从转换时间偏移值,则设备A确定设备D相关联的候选主从切换时间点为设备D发送的非可连接广播PDU中NEXT_SCAN字段携带的时间T3。
设备A将T1、T2、T3排成一个序列,优选地,这里以设备A按照由大至小的顺序将T1、T2、T3排成一个序列为例,排成的序列为T1->T2->T3。
设备A比较序列中两个相邻值是否冲突(这里,当两个相邻值之差小于设定值比如2个Advertising event,则意味着这两个相邻值冲突,反之,意味着不冲突)。
以T1、T2冲突为例,则设备A分别为设备B、设备C设置主从转换时间修改建议。这里,设置主从转换时间修改建议,目的是保证设备B、设备C的候选主从切换时间点不再冲突。
当设备A的主从转换时间周期到达时,设备A从主设备切换为从设备。设备B至设备D原理类似。假如此时设备B、设备C为主设备,设备A、设备D为从设备。
设备A在当前的主从转换周期即33个广播事件Advertising event的时间内向设备B广播非可连接广播PDU。设备A向设备B广播的非可连接广播PDU中ADVICE_SOME_NB_CHANGE字段携带了之前作为主设备时为设备B设置的主从转换时间修改建议,NEXT_SCAN字段携带了设备A从当前时间距离待进行的主从转换的时间。
设备A在当前的主从转换周期即33个广播事件Advertising event的时间内向设备C广播非可连接广播PDU。设备A向设备C广播的非可连接广播PDU中ADVICE_SOME_NB_CHANGE字段携带了之前作为主设备时为设备C设置的主从转换时间点修改建议,NEXT_SCAN字段携带了从当前时间距离待进行的主从转换的时间。
设备D在当前的主从转换周期即33个广播事件Advertising event的时间内向设备B广播非可连接广播PDU。设备D向设备B广播的非可连接广播PDU中NEXT_SCAN字段携带了设备D从当前时间距离待进行的主从转换的时间。
设备D在当前的主从转换周期即33个广播事件Advertising event的时间内向设备C广播非可连接广播PDU。设备D向设备C广播的非可连接广播PDU中NEXT_SCAN字段携带了设备D从当前时间距离待进行的主从转换的时间。
设备B收到设备A广播的非可连接广播PDU,识别设备A发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备B的设备类型与设备A发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备B发现设备A发送的非可连接广播PDU中仅有NEXT_SCAN字段或者有READY_CHANGE_SCAN_START字段,但READY_CHANGE_SCAN_START字段并非携带设备A的主从转换时间偏移值,则设备B确定设备A相关联的候选主从切换时间点为设备A发送的非可连接广播PDU中NEXT_SCAN字段携带的时间T4。
设备B发现设备A广播的非可连接广播PDU中的ADVICE_SOME_NB_CHANGE字段包含了本设备B的主从转换时间点修改建议,则依据该主从转换时间点修改建议确定本设备B的主从转换时间偏移值(记为READY_CHANGE_SCAN_START_B值)。
设备B收到设备D广播的非可连接广播PDU,识别设备D发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备B的设备类型与设备D发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备B发现设备D发送的非可连接广播PDU中仅有NEXT_SCAN字段或者有READY_CHANGE_SCAN_START字段,但READY_CHANGE_SCAN_START字段并非携带设备D的主从转换时间偏移值,则设备B确定设备D相关联的候选主从切换时间点为设备D发送的非可连接广播PDU中NEXT_SCAN字段携带的时间T5。
设备B将T4、T5排成一个序列:T4->T5。
设备B检测T4、T5是否冲突,结果发现不冲突。这里,检测T4、T5是否冲突可为:比较T4、T5之差是否小于设定值比如2个Advertising event,如果T4、T5之差不小于设定值,则意味着T4、T5不冲突,反之,意味着冲突,则按照设备A对候选主从转换时间点冲突的处理方式处理,这里不再赘述,仅以不冲突为例。
设备C收到设备A广播的非可连接广播PDU,识别设备A发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备C的设备类型与设备A发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备C发现设备A发送的非可连接广播PDU中仅有NEXT_SCAN字段或者有READY_CHANGE_SCAN_START字段,但READY_CHANGE_SCAN_START字段并非携带设备A的主从转换时间偏移值,则设备C确定设备A相关联的候选主从切换时间点为设备A发送的非可连接广播PDU中NEXT_SCAN字段携带的时间T6。
设备C发现设备A广播的非可连接广播PDU中的ADVICE_SOME_NB_CHANGE字段包含了本设备C的主从转换时间修改建议,则依据该主从转换时间修改建议确定本设备C的主从转换时间点偏移值(记为READY_CHANGE_SCAN_START_C值)。
设备C收到设备D广播的非可连接广播PDU,识别设备D发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备C的设备类型与设备D发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备C发现设备D发送的非可连接广播PDU中仅有NEXT_SCAN字段或者有READY_CHANGE_SCAN_START字段,但READY_CHANGE_SCAN_START字段并非携带设备D的主从转换时间偏移值,则设备C确定设备D相关联的候选主从切换时间点为设备D发送的非可连接广播PDU中NEXT_SCAN字段携带的时间T7。
设备C将T6、T7排成一个序列:T6->T7。
设备C检测序列中T6、T7是否冲突,这里,检测T6、T7是否冲突与上述检测T4、T5是否冲突的原理类似,不再赘述。这里以设备C发现T6、T7不冲突为例。
当设备B的主从转换周期到达时,设备B从主设备切换为从设备。设备A、C、D类似。假如此时的主设备为设备A,从设备为设备B、设备C、设备D。
设备B在当前的主从转换周期即33个广播事件Advertising event的时间内向设备A广播非可连接广播PDU。设备B本地此时已记录设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值,则设备B广播的非可连接广播PDU中,READY_CHANGE_SCAN_START字段包含READY_CHANGE_SCAN_START_B值,NEXT_SCAN字段携带了设备B从当前距离待进行的主从转换的时间。
设备C在当前的主从转换周期即33个广播事件Advertising event的时间内向设备A广播非可连接广播PDU。设备C本地此时已记录设备C的主从转换时间偏移值READY_CHANGE_SCAN_START_C值,则设备C广播的非可连接广播PDU中,READY_CHANGE_SCAN_START字段包含READY_CHANGE_SCAN_START_C值,NEXT_SCAN字段携带了设备C从当前距离待进行的主从转换的时间。
设备D在当前的主从转换周期即33个广播事件Advertising event的时间内向设备A广播非可连接广播PDU。设备D向设备A广播的非可连接广播PDU中NEXT_SCAN字段携带了设备D从当前距离待进行的主从转换的时间。
设备A接收设备B广播的非可连接广播PDU,识别设备B发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备A的设备类型与设备B发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备A发现设备B发送的非可连接广播PDU中READY_CHANGE_SCAN_START字段携带了设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值,则将非可连接广播PDU中NEXT_SCAN字段携带的时间偏移READY_CHANGE_SCAN_START_B值,将偏移后的值与主从转换周期即33个Advertising event求余,得到的余数Y1作为设备B相关联的候选主从切换时间点。比如,READY_CHANGE_SCAN_START_B值为延迟2个Advertising event,假如NEXT_SCAN字段携带的时间为11个Advertising event,则将非可连接广播PDU中NEXT_SCAN字段携带的时间偏移READY_CHANGE_SCAN_START_B值得到的值就为延迟13个Advertising event,13个Advertising event与33个Advertising event求余得到的余数13即为设备B相关联的候选主从切换时间点。
设备A接收设备C广播的非可连接广播PDU,识别设备C发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备A的设备类型与设备C发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备A发现设备C发送的非可连接广播PDU中READY_CHANGE_SCAN_START字段携带了设备C的主从转换时间偏移值READY_CHANGE_SCAN_START_C值,则将非可连接广播PDU中NEXT_SCAN字段携带的时间偏移READY_CHANGE_SCAN_START_C值,将偏移后的值与主从转换周期即33个Advertising event求余,得到的余数Y2作为设备C相关联的候选主从切换时间点。
设备A接收设备D广播的非可连接广播PDU,识别设备D发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备A的设备类型与设备D发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备A发现设备D发送的非可连接广播PDU中仅有NEXT_SCAN字段或者有READY_CHANGE_SCAN_START字段,但READY_CHANGE_SCAN_START字段为默认值或者空,设备A确定设备D相关联的候选主从切换时间点为设备D发送的非可连接广播PDU中NEXT_SCAN字段携带的时间T8。
设备A将Y1、Y2、T8排成一个序列:T8->Y1->Y2。
设备A检查序列中相邻的两个值是否冲突(这里判定冲突的方式类似上述)。
以设备A检查出T8与Y1冲突为例,则设备A为设备D设置主从转换时间修改建议,并记录设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值(因为Y1是依赖于设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值确定的)为冲突值,为设备B重新设置主从转换时间修改建议。
当设备A的主从转换时间点到达时,设备A从主设备切换为从设备。设备B至设备D原理类似。假如此时的主设备为设备D、设备B、设备C,从设备为设备A。
设备A向设备B发送数据PDU,该数据PDU用于对设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值提出异议,其包含了设备A之前作为主设备时重新为设备B设置的主从转换时间修改建议。作为一个优选实施例,这里,数据PDU是设备A在与设备B建立连接后通过该连接发送的,该连接可基于可连接广播建立,这里不再详细描述。
设备A在当前的主从转换周期即33个广播事件Advertising event的时间内向设备B广播非可连接广播PDU。设备A向设备B广播的非可连接广播PDU中NEXT_SCAN字段携带了设备A从当前时间距离待进行的主从转换的时间。
设备A在当前的主从转换周期即33个广播事件Advertising event的时间内向设备C广播非可连接广播PDU,设备A向设备C广播的非可连接广播PDU中NEXT_SCAN字段携带了设备A从当前时间距离待进行的主从转换的时间。
设备A在当前的主从转换周期即33个广播事件Advertising event的时间内向设备D广播非可连接广播PDU。设备A向设备D广播的非可连接广播PDU中ADVICE_SOME_NB_CHANGE字段包含了设备A之前作为主设备时为设备D设置的主从转换时间修改建议。
设备B收到设备A发送的数据PDU,则表示设备A对本设备B之前作为从设备时发送的本设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值有异议,则根据数据PDU中携带的新的主从转换时间修改建议更新设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值。
设备C在本设备切换为从设备之前的设定时间,判断截至当前还没有设备对本设备C作为从设备时发送的本设备C的主从转换时间偏移值READY_CHANGE_SCAN_START_C值提出异议,则记录设备C的主从转换时间偏移值READY_CHANGE_SCAN_START_C值无异议。
设备B、C、D接收设备A广播的非可连接广播PDU,其处理方式类似之前设备A作为主设备收到非可连接广播PDU时的处理方式,这里不再赘述。
当设备B的主从转换时间周期到达时,设备B从主设备切换为从设备。设备A、C、D类似。假如此时的主设备为设备A、设备D,从设备为设备B、设备C。
设备B在当前的主从转换周期即33个广播事件Advertising event的时间内向设备A广播非可连接广播PDU。设备B广播的非可连接广播PDU中,READY_CHANGE_SCAN_START字段包含设备B已更新的READY_CHANGE_SCAN_START_B值,NEXT_SCAN字段携带了设备B距离待进行的主从转换的时间。
设备B在当前的主从转换周期即33个广播事件Advertising event的时间内向设备A广播非可连接广播PDU。设备B广播的非可连接广播PDU中,READY_CHANGE_SCAN_START字段包含设备B已更新的READY_CHANGE_SCAN_START_B值,NEXT_SCAN字段携带了设备B距离待进行的主从转换的时间。
设备C在当前的主从转换周期即33个广播事件Advertising event的时间内向设备A、设备D广播非可连接广播PDU。因为设备C本地记录设备C的主从转换时间偏移值READY_CHANGE_SCAN_START_C值无异议,则设备C广播的非可连接广播PDU中,NEXT_SCAN字段携带了设备C距离待进行的主从转换的时间按照设备C的READY_CHANGE_SCAN_START_C值偏移最终得到的值。
设备A收到设备B广播的非可连接广播PDU,识别设备B发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备A的设备类型与设备B发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备A发现设备B发送的非可连接广播PDU中READY_CHANGE_SCAN_START字段携带了设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值,则将非可连接广播PDU中NEXT_SCAN字段携带的时间偏移READY_CHANGE_SCAN_START_B值,将偏移后的值与主从转换周期即33个Advertising event求余,得到的余数Y3作为设备B相关联的候选主从切换时间点。
设备A收到设备C广播的非可连接广播PDU,识别设备C发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与本设备的设备类型相同,结果发现本设备A的设备类型与设备C发送的非可连接广播PDU中的DEVICE字段包含的设备类型相同,都为“自主实现主从转换的蓝牙设备的互搜索”,设备A发现设备C发送的非可连接广播PDU中仅有NEXT_SCAN字段或者有READY_CHANGE_SCAN_START字段,但READY_CHANGE_SCAN_START字段为默认值或者空,则设备A确定设备C相关联的候选主从切换时间点为设备C发送的非可连接广播PDU中NEXT_SCAN字段携带的时间T9。
设备A将Y3、T9排成一个序列,优选地,这里以设备A按照由大至小的顺序将Y3、T9排成一个序列为例,排成的序列为Y3->T9。
设备A比较序列中Y3、T9是否冲突(这里,当Y3、T9之差小于设定值比如2个Advertising event,则意味着Y3、T9冲突,反之,意味着不冲突)。假如设备A发现Y3、T9不冲突。
设备D收到设备A、设备C广播的非可连接广播PDU处理类似设备A,不再赘述。
当设备A的主从转换时间周期到达时,设备A从主设备切换为从设备。设备B至设备D原理类似。假如此时的主设备为设备B,从设备为设备A、设备C、设备D。
设备A、设备C、设备D分别在当前的主从转换周期即33个广播事件Advertisingevent的时间内向设备B广播非可连接广播PDU。这里广播的非可连接广播PDU可为上述初始时的非可连接广播PDU。
设备B按照类似上述收到非可连接广播PDU时的处理方式处理,不再赘述。
设备B在本设备切换为从设备之前的设定时间,判断截至当前还没有设备对本设备B作为从设备时发送的本设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值提出异议,则记录设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值无异议。
当设备B的主从转换时间周期到达时,设备B从主设备切换为从设备。设备A、C、D类似。假如此时的主设备为设备A、设备C、设备D,从设备为设备B。
设备B在当前的主从转换周期即33个广播事件Advertising event的时间内向设备A、C、D广播非可连接广播PDU。因为设备B本地记录设备B的主从转换时间偏移值READY_CHANGE_SCAN_START_B值无异议,则设备B广播的非可连接广播PDU中,NEXT_SCAN字段携带了设备B距离待进行的主从转换的时间按照设备C的READY_CHANGE_SCAN_START_B值偏移最终得到的值。
设备A、C、D接收设备B广播的非可连接广播PDU,其处理方式类似之前收到非可连接广播PDU时的处理方式,这里不再赘述。
至此,设备A、B、C、D相关联的候选主从切换时间点不再冲突,其能够保证各蓝牙设备之后可发起准确连接请求。
以上对实施例进行了描述。
通过上述实施例的描述,可以看出,在本发明中,任一设备都能获知其相邻的蓝牙设备中哪些设备为主设备,以便及时进行连接。
进一步地,本发明中,当任一设备发现相邻蓝牙设备的候选主从切换时间点冲突时,会自动为该相邻蓝牙设备修改候选主从切换时间点,以避免冲突,实现蓝牙设备之间的准确连接,减少相互之间的干扰。
以上对本发明提供的方法进行了描述。下面对本发明提供的装置进行描述:
参见图4,图4为本发明提供的设备结构图,如图4所示,该设备包括:主设备处理单元和从设备处理单元。
其中,主设备处理单元,用于当本设备作为主设备时,执行以下步骤:
确定各作为从设备的蓝牙设备相关联的候选主从切换时间点;其中,当蓝牙设备存在主从切换时间偏移值READY_CHANGE_SCAN_START值时,则依据该READY_CHANGE_SCAN_START值和蓝牙设备的next_scan确定该蓝牙设备相关联的候选主从切换时间点;当蓝牙设备不存在READY_CHANGE_SCAN_START值时,则确定该蓝牙设备的next_scan为该蓝牙设备相关联的候选主从切换时间点;所述next_scan为距离蓝牙设备即将进行的主从切换的时间段;
检查各蓝牙设备相关联的候选主从切换时间点之间是否冲突,当检查出两个蓝牙设备相关联的候选主从切换时间点冲突时,对该两个蓝牙设备中的每一蓝牙设备执行以下步骤:若蓝牙设备相关联的候选主从切换时间点是该蓝牙设备的next_scan时,为该蓝牙设备设置主从转换时间修改建议,若蓝牙设备相关联的候选主从切换时间点是依据该蓝牙设备的主从切换时间偏移值和next_scan时,标识该蓝牙设备的READY_CHANGE_SCAN_START值为冲突值,并重新为该蓝牙设备设置主从转换时间修改建议;
接收作为从设备的相邻蓝牙设备发送的本设备的主从转换时间点修改建议,依据本设备的主从转换时间点修改建议确定本设备的READY_CHANGE_SCAN_START值;
在确定出其他蓝牙设备未对本设备的READY_CHANGE_SCAN_START值提出异议时,记录READY_CHANGE_SCAN_START值无异议,否则,依据所述异议更新本设备的READY_CHANGE_SCAN_START值;
在本设备的next_scan到达时,自主转换为从设备;
从设备处理单元,用于在本设备作为从设备时,执行以下步骤:
将之前作为主设备时为相邻蓝牙设备设置的主从转换时间修改建议发送给该蓝牙设备,该蓝牙设备此时已从从设备切换为主设备;
当本地已记录了一蓝牙设备的READY_CHANGE_SCAN_START值为冲突值时,对该蓝牙设备的READY_CHANGE_SCAN_START值提出异议并通知给该蓝牙设备,该蓝牙设备此时已从从设备切换为主设备,所述异议包含了重新为该蓝牙设备设置的主从转换时间修改建议;
在本地记录了本设备的READY_CHANGE_SCAN_START值无异议时,依据本设备的READY_CHANGE_SCAN_START值修改本设备的next_scan;
在本设备的next_scan到达时,自主转换为主设备。
优选地,所述从设备处理单元进一步执行以下步骤:向作为主设备的相邻蓝牙设备发送数据包;其中,当本设备具有READY_CHANGE_SCAN_START值时,发送的数据包同时携带了本设备的READY_CHANGE_SCAN_START值和next_scan,当本设备不具有READY_CHANGE_SCAN_START值时,发送的数据包未携带本设备的READY_CHANGE_SCAN_START值但携带了本设备的next_scan;
优选地,所述主设备处理单元确定各作为从设备的蓝牙设备相关联的候选主从切换时间点包括:
接收作为从设备的蓝牙设备发送的数据包;
依据作为从设备的蓝牙设备发送的数据包确定作为从设备的蓝牙设备相关联的候选主从切换时间点:当蓝牙设备发送的数据包同时携带了该蓝牙设备的READY_CHANGE_SCAN_START值和next_scan时,依据该数据包携带的READY_CHANGE_SCAN_START值和next_scan确定该蓝牙设备的候选主从切换时间点;当蓝牙设备发送的数据包未携带该蓝牙设备的READY_CHANGE_SCAN_START值但携带了该蓝牙设备的next_scan时,确定该数据包携带的next_scan为该蓝牙设备的候选主从切换时间点。
优选地,所述主设备处理单元检查各蓝牙设备相关联的候选主从切换时间点之间是否冲突包括:
将各蓝牙设备相关联的候选主从切换时间点按照设定顺序排成一个序列;
比较所述序列中每两个相邻的候选主从切换时间点之差是否小于等于设定值,如果是,确定该两个相邻的候选主从切换时间点冲突,否则,确定该两个相邻的候选主从切换时间点不冲突。
优选地,所述主设备处理单元依据READY_CHANGE_SCAN_START值和蓝牙设备的next_scan确定该蓝牙设备相关联的候选主从切换时间点包括:
将蓝牙设备的next_scan按照该蓝牙设备的READY_CHANGE_SCAN_START值偏移,将偏移后的next_scan与设定的主从切换周期求余,将得到的余数作为蓝牙设备相关联的候选主从切换时间点。
至此,完成本发明提供的设备结构描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种蓝牙设备的互搜索方法,其特征在于,该方法应用于第一蓝牙设备,所述第一蓝牙设备为任意一个蓝牙设备,包括:
当第一蓝牙设备作为主设备时,
确定当前各作为从设备的蓝牙设备相关联的候选主从切换时间点;其中,对于每个所述作为从设备的蓝牙设备,如果该作为从设备的蓝牙设备存在主从切换时间偏移值READY_CHANGE_SCAN_START值,则依据该READY_CHANGE_SCAN_START值和该作为从设备的蓝牙设备的next_scan,确定该作为从设备的蓝牙设备相关联的候选主从切换时间点;如果该作为从设备的蓝牙设备不存在READY_CHANGE_SCAN_START值,则确定该作为从设备的蓝牙设备的next_scan为该作为从设备的蓝牙设备相关联的候选主从切换时间点;所述next_scan为距离蓝牙设备即将进行的主从切换的时间段;
检查各所述作为从设备的蓝牙设备相关联的候选主从切换时间点之间是否冲突,当检查出两个所述作为从设备的蓝牙设备相关联的候选主从切换时间点冲突时,对两个所述作为从设备的蓝牙设备中的每一蓝牙设备执行以下步骤:若作为从设备的蓝牙设备相关联的候选主从切换时间点是该作为从设备的蓝牙设备的next_scan时,为该作为从设备的蓝牙设备设置主从转换时间修改建议,若作为从设备的蓝牙设备相关联的候选主从切换时间点是依据该作为从设备的蓝牙设备的主从切换时间偏移值和next_scan时,标识该作为从设备的蓝牙设备的READY_CHANGE_SCAN_START值为冲突值,并重新为该作为从设备的蓝牙设备设置主从转换时间修改建议;
接收作为从设备的相邻蓝牙设备发送的所述第一蓝牙设备的主从转换时间点修改建议,依据所述第一蓝牙设备的主从转换时间点修改建议确定所述第一蓝牙设备的READY_CHANGE_SCAN_START值;
在确定出没有蓝牙设备对所述第一蓝牙设备的READY_CHANGE_SCAN_START值提出异议时,记录READY_CHANGE_SCAN_START值无异议,否则,依据所述异议更新所述第一蓝牙设备的READY_CHANGE_SCAN_START值;
在所述第一蓝牙设备的next_scan到达时,自主转换为从设备;
当所述第一蓝牙设备作为从设备时,
所述第一蓝牙设备将之前作为主设备时为所述作为从设备的蓝牙设备设置的主从转换时间修改建议,发送给该主从转换时间修改建议对应的所述作为从设备的蓝牙设备,其中,对应的所述作为从设备的蓝牙设备此时已从从设备切换为主设备;
当本地已记录了一蓝牙设备的READY_CHANGE_SCAN_START值为冲突值时,对所述冲突值对应的蓝牙设备的READY_CHANGE_SCAN_START值提出异议并通知给所述冲突值对应的蓝牙设备,所述冲突值对应的蓝牙设备此时已从从设备切换为主设备,所述异议包含了重新为所述冲突值对应的蓝牙设备设置的主从转换时间修改建议;
在本地记录了所述第一蓝牙设备的READY_CHANGE_SCAN_START值无异议时,依据所述第一蓝牙设备的READY_CHANGE_SCAN_START值修改所述第一蓝牙设备的next_scan;
在所述第一蓝牙设备的next_scan到达时,所述第一蓝牙设备自主转换为主设备。
2.根据权利要求1所述的方法,其特征在于,所述第一蓝牙设备作为从设备时进一步包含以下步骤:向作为主设备的相邻蓝牙设备发送数据包;其中,当所述第一蓝牙设备具有READY_CHANGE_SCAN_START值时,发送的数据包同时携带了所述第一蓝牙设备的READY_CHANGE_SCAN_START值和next_scan,当所述第一蓝牙设备不具有READY_CHANGE_SCAN_START值时,发送的数据包未携带所述第一蓝牙设备的READY_CHANGE_SCAN_START值但携带了所述第一蓝牙设备的next_scan;
所述确定当前各作为从设备的蓝牙设备相关联的候选主从切换时间点包括:
接收所述作为从设备的蓝牙设备发送的数据包;
依据所述作为从设备的蓝牙设备发送的数据包,确定所述作为从设备的蓝牙设备相关联的候选主从切换时间点;其中,对于每个所述作为从设备的蓝牙设备,当该作为从设备的蓝牙设备发送的数据包同时携带了该作为从设备的蓝牙设备的READY_CHANGE_SCAN_START值和next_scan时,依据该数据包携带的READY_CHANGE_SCAN_START值和next_scan,确定该作为从设备的蓝牙设备的候选主从切换时间点;当该作为从设备的蓝牙设备发送的数据包未携带该作为从设备的蓝牙设备的READY_CHANGE_SCAN_START值但携带了该作为从设备的蓝牙设备的next_scan时,确定该数据包携带的next_scan为该作为从设备的蓝牙设备的候选主从切换时间点。
3.根据权利要求2所述的方法,其特征在于,所述向作为主设备的相邻蓝牙设备发送数据包包括:
所述第一蓝牙设备向作为主设备的相邻蓝牙设备发送非可连接广播PDU,其中,当所述第一蓝牙设备具有READY_CHANGE_SCAN_START值时,非可连接广播PDU中至少携带DEVICE字段、NEXT_SCAN字段、READY_CHANGE_SCAN_START字段,当所述第一蓝牙设备不具有READY_CHANGE_SCAN_START值时,非可连接广播PDU中至少携带DEVICE字段、NEXT_SCAN字段;DEVICE字段用于携带设备类型,NEXT_SCAN字段用于携带next_scan,READY_CHANGE_SCAN_START字段用于携带设备的READY_CHANGE_SCAN_START值;
所述接收所述作为从设备的蓝牙设备发送的数据包包括:
接收所述作为从设备的蓝牙设备发送的非可连接广播PDU;
所述依据所述作为从设备的蓝牙设备发送的数据包,确定各所述作为从设备的蓝牙设备相关联的候选主从切换时间点,包括:
识别所述作为从设备的蓝牙设备发送的非可连接广播PDU中的DEVICE字段包含的设备类型是否与所述第一蓝牙设备的设备类型相同,如果是,则继续执行依据该作为从设备的蓝牙设备发送的数据包确定该作为从设备的蓝牙设备相关联的候选主从切换时间点,如果否,则忽略该非可连接广播PDU。
4.根据权利要求1或2所述的方法,其特征在于,所述依据该READY_CHANGE_SCAN_START值和该作为从设备的蓝牙设备的next_scan确定该作为从设备的蓝牙设备相关联的候选主从切换时间点包括:
对于每个所述作为从设备的蓝牙设备,如果该作为从设备的蓝牙设备存在主从切换时间偏移值READY_CHANGE_SCAN_START值,则将该作为从设备的蓝牙设备的next_scan按照该作为从设备的蓝牙设备的READY_CHANGE_SCAN_START值偏移,将偏移后的next_scan与设定的主从切换周期求余,将得到的余数作为该作为从设备的蓝牙设备相关联的候选主从切换时间点。
5.根据权利要求1所述的方法,其特征在于,所述检查各所述作为从设备的蓝牙设备相关联的候选主从切换时间点之间是否冲突包括:
将各所述作为从设备的蓝牙设备相关联的候选主从切换时间点按照设定顺序排成一个序列;
比较所述序列中每两个相邻的候选主从切换时间点之差是否小于等于设定值,如果是,确定该两个相邻的候选主从切换时间点冲突,否则,确定该两个相邻的候选主从切换时间点不冲突。
6.根据权利要求1所述的方法,其特征在于,所述对所述冲突值对应的蓝牙设备的READY_CHANGE_SCAN_START值提出异议并通知给所述冲突值对应的蓝牙设备包括:
定向向所述冲突值对应的蓝牙设备发送数据PDU;所述数据PDU用于表示对所述冲突值对应的蓝牙设备的READY_CHANGE_SCAN_START值提出异议,其包含了重新为所述冲突值对应的蓝牙设备设置的主从转换时间修改建议。
7.一种蓝牙设备,其特征在于,主设备处理单元包括:
第一主处理模块,用于当所述蓝牙设备作为第一蓝牙设备切换为主设备时,确定当前各作为从设备的蓝牙设备相关联的候选主从切换时间点;其中,对于每个所述作为从设备的蓝牙设备,如果该作为从设备的蓝牙设备存在主从切换时间偏移值READY_CHANGE_SCAN_START值,则依据该READY_CHANGE_SCAN_START值和该作为从设备的蓝牙设备的next_scan确定该作为从设备的蓝牙设备相关联的候选主从切换时间点;如果该作为从设备的蓝牙设备不存在READY_CHANGE_SCAN_START值时,则确定该作为从设备的蓝牙设备的next_scan为该作为从设备的蓝牙设备相关联的候选主从切换时间点;所述next_scan为距离蓝牙设备即将进行的主从切换的时间段;
第二主处理模块,用于当所述蓝牙设备作为第一蓝牙设备切换为主设备时,检查各所述作为从设备的蓝牙设备相关联的候选主从切换时间点之间是否冲突,当检查出两个所述作为从设备的蓝牙设备相关联的候选主从切换时间点冲突时,对该两个所述作为从设备的蓝牙设备中的每一蓝牙设备执行以下步骤:若作为从设备的蓝牙设备相关联的候选主从切换时间点是该作为从设备的蓝牙设备的next_scan时,为该作为从设备的蓝牙设备设置主从转换时间修改建议,若作为从设备的蓝牙设备相关联的候选主从切换时间点是依据该作为从设备的蓝牙设备的主从切换时间偏移值和next_scan时,标识该作为从设备的蓝牙设备的READY_CHANGE_SCAN_START值为冲突值,并重新为该作为从设备的蓝牙设备设置主从转换时间修改建议;
第三主处理模块,用于当所述蓝牙设备作为第一蓝牙设备切换为主设备时,接收作为从设备的相邻蓝牙设备发送的所述第一蓝牙设备的主从转换时间点修改建议,依据所述第一蓝牙设备的主从转换时间点修改建议确定所述第一蓝牙设备的READY_CHANGE_SCAN_START值;
第四主处理模块,用于当所述蓝牙设备作为第一蓝牙设备切换为主设备时,在确定出没有蓝牙设备对所述第一蓝牙设备的READY_CHANGE_SCAN_START值提出异议时,记录READY_CHANGE_SCAN_START值无异议,否则,依据所述异议更新所述第一蓝牙设备的READY_CHANGE_SCAN_START值;
第五主处理模块,用于当所述蓝牙设备作为第一蓝牙设备切换为主设备时,在所述第一蓝牙设备的next_scan到达时,自主转换为从设备;
所述从设备处理单元包括:
第一从处理模块,用于在所述第一蓝牙设备作为从设备时,将之前作为主设备时为所述作为从设备的蓝牙设备设置的主从转换时间修改建议,发送给该主从转换时间修改建议对应的所述作为从设备的蓝牙设备,其中,对应的所述作为从设备的蓝牙设备此时已从从设备切换为主设备;
第二从处理模块,用于在所述第一蓝牙设备作为从设备时,当本地已记录了一蓝牙设备的READY_CHANGE_SCAN_START值为冲突值时,对所述冲突值对应的蓝牙设备的READY_CHANGE_SCAN_START值提出异议并通知给所述冲突值对应的蓝牙设备,所述冲突值对应的蓝牙设备此时已从从设备切换为主设备,所述异议包含了重新为所述冲突值对应的蓝牙设备设置的主从转换时间修改建议;
第三从处理模块,用于在所述第一蓝牙设备作为从设备时,在本地记录了所述第一蓝牙设备的READY_CHANGE_SCAN_START值无异议时,依据所述第一蓝牙设备的READY_CHANGE_SCAN_START值修改所述第一蓝牙设备的next_scan;
第四从处理模块,用于在所述第一蓝牙设备作为从设备时,在所述第一蓝牙设备的next_scan到达时,自主转换为主设备。
8.根据权利要求7所述的设备,其特征在于,所述从设备处理单元进一步包括:第五从处理模块,用于向作为主设备的相邻蓝牙设备发送数据包;其中,当所述第一蓝牙设备具有READY_CHANGE_SCAN_START值时,发送的数据包同时携带了所述第一蓝牙设备的READY_CHANGE_SCAN_START值和next_scan,当所述第一蓝牙设备不具有READY_CHANGE_SCAN_START值时,发送的数据包未携带所述第一蓝牙设备的READY_CHANGE_SCAN_START值但携带了所述第一蓝牙设备的next_scan;
所述第一主处理模块,包括:
第一主子模块,用于接收所述作为从设备的蓝牙设备发送的数据包;
第二主子模块,用于依据所述作为从设备的蓝牙设备发送的数据包,确定所述作为从设备的蓝牙设备相关联的候选主从切换时间点;其中,对于每个所述作为从设备的蓝牙设备,当该作为从设备的蓝牙设备发送的数据包同时携带了该作为从设备的蓝牙设备的READY_CHANGE_SCAN_START值和next_scan时,依据该数据包携带的READY_CHANGE_SCAN_START值和next_scan,确定该作为从设备的蓝牙设备的候选主从切换时间点;当该作为从设备的蓝牙设备发送的数据包未携带该作为从设备的蓝牙设备的READY_CHANGE_SCAN_START值但携带了该作为从设备的蓝牙设备的next_scan时,确定该数据包携带的next_scan为该作为从设备的蓝牙设备的候选主从切换时间点。
9.根据权利要求7所述的设备,其特征在于,所述第二主处理模块包括:
第一冲突检查子模块,用于将各所述作为从设备的蓝牙设备相关联的候选主从切换时间点按照设定顺序排成一个序列;
第二冲突检查子模块,用于比较所述序列中每两个相邻的候选主从切换时间点之差是否小于等于设定值,如果是,确定该两个相邻的候选主从切换时间点冲突,否则,确定该两个相邻的候选主从切换时间点不冲突。
10.根据权利要求7或8所述的设备,其特征在于,所述主设备处理单元依据该READY_CHANGE_SCAN_START值和该作为从设备的蓝牙设备的next_scan确定该作为从设备的蓝牙设备相关联的候选主从切换时间点包括:
对于每个所述作为从设备的蓝牙设备,如果该作为从设备的蓝牙设备存在主从切换时间偏移值READY_CHANGE_SCAN_START值,则将该作为从设备的蓝牙设备的next_scan按照该作为从设备的蓝牙设备的READY_CHANGE_SCAN_START值偏移,将偏移后的next_scan与设定的主从切换周期求余,将得到的余数作为该作为从设备的蓝牙设备相关联的候选主从切换时间点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610130169.8A CN107172717B (zh) | 2016-03-08 | 2016-03-08 | 蓝牙设备及其蓝牙设备的互搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610130169.8A CN107172717B (zh) | 2016-03-08 | 2016-03-08 | 蓝牙设备及其蓝牙设备的互搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107172717A CN107172717A (zh) | 2017-09-15 |
CN107172717B true CN107172717B (zh) | 2020-01-24 |
Family
ID=59848509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610130169.8A Expired - Fee Related CN107172717B (zh) | 2016-03-08 | 2016-03-08 | 蓝牙设备及其蓝牙设备的互搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107172717B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112218275A (zh) * | 2020-10-10 | 2021-01-12 | 新中音私人有限公司 | Midi装置及分组连接的方法 |
CN112291772B (zh) * | 2020-12-30 | 2021-03-30 | 北京维普无限智能技术有限公司 | 一种蓝牙装置及其通信方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8905855B2 (en) * | 2010-08-26 | 2014-12-09 | Blast Motion Inc. | System and method for utilizing motion capture data |
CN104348523A (zh) * | 2013-07-25 | 2015-02-11 | 普天信息技术研究院有限公司 | 一种无线传感器节点的数据传输方法 |
CN104348522A (zh) * | 2013-07-23 | 2015-02-11 | 普天信息技术研究院有限公司 | 一种适用于低功耗蓝牙设备的心跳保持的方法 |
CN105262512A (zh) * | 2015-09-17 | 2016-01-20 | 小米科技有限责任公司 | 切换主机的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012201170A1 (de) * | 2012-01-27 | 2013-08-01 | Dr. Johannes Heidenhain Gmbh | Vorrichtung zur Übertragung von Sensordaten |
-
2016
- 2016-03-08 CN CN201610130169.8A patent/CN107172717B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8905855B2 (en) * | 2010-08-26 | 2014-12-09 | Blast Motion Inc. | System and method for utilizing motion capture data |
CN104348522A (zh) * | 2013-07-23 | 2015-02-11 | 普天信息技术研究院有限公司 | 一种适用于低功耗蓝牙设备的心跳保持的方法 |
CN104348523A (zh) * | 2013-07-25 | 2015-02-11 | 普天信息技术研究院有限公司 | 一种无线传感器节点的数据传输方法 |
CN105262512A (zh) * | 2015-09-17 | 2016-01-20 | 小米科技有限责任公司 | 切换主机的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107172717A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240040456A1 (en) | V2X Message Sending Method, Apparatus, and System | |
KR101235496B1 (ko) | 메쉬 네트워크에서의 채널 검색방법 및 채널 검색시스템 | |
US7417998B2 (en) | Wireless network device and communication method using the wireless network device | |
US8457553B2 (en) | Removal of ambiguities in forming new piconet controller (PNC) when the current PNC controller is suddenly unavailable | |
EP3008952B1 (en) | Layered mobility | |
EP3269187A1 (en) | Method and apparatus for resource allocation in v2v communications system | |
JP2005006327A (ja) | 無線アドホック・ネットワーク環境におけるコーディネーターの交代方法およびこの方法を用いた通信システム | |
CN114503536A (zh) | 与应用服务器的改变有关的通信 | |
JP6143941B2 (ja) | 無線通信システム及び無線通信装置 | |
CN113455026B (zh) | 接入方法及通信装置 | |
US7450597B2 (en) | Wireless network device and method for reassociation between wireless networks using the wireless network device | |
CN107172717B (zh) | 蓝牙设备及其蓝牙设备的互搜索方法 | |
JP5897405B2 (ja) | 無線端末がアクセスポイントを探索するタイミングを制御するアクセスポイント発見方法、システム及び無線端末 | |
US20100040041A1 (en) | Switching role of apparatuses between controller (host) and participant (device) to schedule bi-directional data | |
WO2020001330A1 (zh) | 通信方法、设备和系统 | |
WO2016137198A1 (ko) | 무선 통신 시스템에서 데이터 전송을 위한 결합 방법 및 이를 이용한 기기 | |
US10609630B2 (en) | Discovery message processing method and apparatus | |
WO2021032288A1 (en) | Apparatus, method and computer program | |
CN111565398A (zh) | 一种通信方法、装置、系统及存储介质 | |
EP4013110A1 (en) | Sidelink radio bearing configuration method, terminal and network-side device | |
CN111510949B (zh) | 一种数据传输方法、装置和存储介质 | |
WO2016168978A1 (zh) | 一种资源切换方法、装置及系统 | |
CN114557120A (zh) | 侧链路传送连续性 | |
US11678257B2 (en) | Systems, methods, and devices for supplemental scanning in wireless networks | |
CN110913378B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200124 |