CN108769967A - 基于蓝牙gap层的服务设备发现方法 - Google Patents

基于蓝牙gap层的服务设备发现方法 Download PDF

Info

Publication number
CN108769967A
CN108769967A CN201810584078.0A CN201810584078A CN108769967A CN 108769967 A CN108769967 A CN 108769967A CN 201810584078 A CN201810584078 A CN 201810584078A CN 108769967 A CN108769967 A CN 108769967A
Authority
CN
China
Prior art keywords
equipment
service
service equipment
bluetooth
filtering
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
CN201810584078.0A
Other languages
English (en)
Other versions
CN108769967B (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.)
Suzhou BeeLinker Technology Co Ltd
Original Assignee
Suzhou BeeLinker Technology 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 Suzhou BeeLinker Technology Co Ltd filed Critical Suzhou BeeLinker Technology Co Ltd
Priority to CN201810584078.0A priority Critical patent/CN108769967B/zh
Publication of CN108769967A publication Critical patent/CN108769967A/zh
Application granted granted Critical
Publication of CN108769967B publication Critical patent/CN108769967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Abstract

本发明公开了一种基于蓝牙GAP层的服务设备发现方法,预先在蓝牙GAP层的设备发现程序中设置设备过滤模块,接收用户输入的过滤条件,该方法包括以下步骤:获取服务设备的广播数据;对所扫描到的服务设备,提取其有效的广播信息,并保存到设备信息表中;根据输入的过滤条件对设备信息表进行过滤,并显示过滤结果;将过滤完成的设备信息表中对应的设备地址加入到白名单;通过主动扫描获取设备的服务信息,并进行存储。仅对符合条件的服务设备及其信息进行存储,不仅节省了内存空间,而且简化了上层应用程序设备发现操作,提高了设备发现效率。

Description

基于蓝牙GAP层的服务设备发现方法
技术领域
本发明涉及低功耗蓝牙通讯技术领域,具体地涉及一种基于低功耗蓝牙GAP层的服务设备发现方法。
背景技术
低功耗蓝牙协议在设计之初,考虑到实际应用需求,采用了非对称的体系结构,目的是让能源更少的设备负担更少的事情。在实际应用中,这种非对称性体现在:外围服务设备一般只发送广播数据,处于广播状态,不可以主动发起连接;中心设备可以扫描外围设备,并可以通过主动扫描向广播者索取更多信息,只在必要时发起连接。这种非对称体系结构带来的结果之一,便是低功耗蓝牙的“一对多”拓扑结构,如图1所示。低功耗蓝牙Beacon是这项功能的一个绝佳案例。
随着物联网技术的发展,越来越多的移动终端服务设备被应用到人们的衣、食、住、行等各个方面。作为主流的物联网技术之一,低功耗蓝牙技术凭借其快速的连接性和极低的功耗,被广泛应用到工业控制、消费电子、汽车自动化、农业自动化和医用设备控制等领域,且其应用范围仍在不断扩大。众多的低功耗蓝牙服务设备的普及大大方便了人们的生活,但另一方面,数量众多的服务设备也在一定程度上增加了选择的难度。例如,在一个商场中,可能同时存在餐饮、服饰、娱乐等类型的服务设备,当用户开启手机蓝牙时,会收到这些服务设备的广播信息,用户需要从这些设备中间挑选某一类别的符合自身需求的设备,这无疑会耗费一定时间和精力。
现有的低功耗蓝牙服务设备的发现,大都是将在一定时间内扫描到的所有可用服务设备显示出来,而用户真正需要的往往只是某一类别或满足特定条件的服务设备。因此,设备信息存储、设备选择等工作就被留给上层应用或用户,从而带来额外的存储空间和时间消耗,且增加了开发的难度。
发明内容
为了解决上述存在的技术问题,本发明的目的是提出一种基于蓝牙GAP层的服务设备发现方法,仅对符合条件的服务设备及其信息进行存储,从而节省内存空间,简化上层应用程序服务设备发现操作,提高服务设备发现效率。
本发明的技术方案是:
一种基于蓝牙GAP层的服务设备发现方法,预先在蓝牙GAP层的设备发现程序中设置设备过滤模块,接收用户输入的过滤条件,该方法包括以下步骤:
S01:获取服务设备的广播数据;
S02:对所扫描到的服务设备,提取其有效的广播信息,并保存到设备信息表中。
S03:根据输入的过滤条件对设备信息表进行过滤,并显示过滤结果;
S04:将过滤完成的设备信息表中对应的设备地址加入到白名单;
S05:通过主动扫描获取设备的服务信息,并进行存储。
优选的技术方案中,所述步骤S01中通过被动扫描状态获取服务设备的广播数据。
优选的技术方案中,所述设备信息表中的类别至少包括设备名称、设备地址、服务类型、距离。
优选的技术方案中,所述设备信息表以阵列形式进行存储,包括纵列和横行,纵列表示设备编号,通过指针将发现设备按先后顺序链接起来,构成链表,横行表示每个设备的类别,通过指针挂载在相应设备后。
优选的技术方案中,所述过滤条件包括精确过滤、过滤并删除不符合类别的设备和某一距离范围内的过滤。
优选的技术方案中,所述过滤操作包括对设备信息表的查找、删除、排序操作,当过滤条件为精确过滤时,从服务设备信息链表的首端开始,对比每个服务设备相应类别的信息,如果符合过滤条件,则查找成功,否则,移动指针,直到链表尾部;
当过滤条件为过滤并删除不符合类别的设备时,从服务设备信息链表的首端开始,对比每个服务设备相应类别的信息,如果不符合所输入的过滤条件,则删除该节点设备,否则,移动指针,直到链表尾部;
当过滤条件为某一距离范围内的过滤时,从服务设备信息链表的首端开始,检查每个服务设备的距离信息,如果在距离范围内,则保留节点设备,否则,删除节点设备,直到链表尾部。
与现有技术相比,本发明的优点是:
1、在低功耗蓝牙GAP层的外围设备搜索服务设备过程中,加入设备信息存储和筛选功能,仅对符合条件的服务设备及其信息进行存储,不仅节省了内存空间,而且简化了上层应用程序设备发现操作,提高了设备发现效率。
2、通过主动扫描和扫描回复过程获取服务设备更多的服务信息,而不需要进行连接过程,进一步降低功耗。当用户在公共场合时,如商场、展会等,考虑到周围可能存在非常多的低功耗蓝牙服务设备,采用本发明方法进行设备搜索,所带来的快速性和高效性将更加明显。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1是低功耗蓝牙的“一对多”拓扑结构;
图2是本发明基于蓝牙GAP层的服务设备发现方法的流程图;
图3是本发明服务设备信息存储结构图;
图4是本发明过滤算法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
实施例:
本发明提出了一种基于蓝牙GAP层的服务设备发现方法,预先在蓝牙GAP层的设备发现程序中设置条件过滤模块,并接收用户输入过滤条件,如图2所示,包括以下步骤:
S1. 观察者开启蓝牙功能,扫描周围服务设备。
服务设备作为广播者,处于广播模式。中心设备作为观察者,使用观察程序来接收广播者的广播数据。这里,通过设置扫描参数命令设置观察者扫描类型为被动扫描,即不需要发送扫描请求包,且设置一次扫描时间为5s,扫描时间到以后停止扫描。之所以使用被动扫描状态,因为开始时观察者仅仅需要获取周围正处于广播模式的服务设备的广播数据。
S2. 提取服务设备广播信息中的有效数据。
经过S1,观察者已经扫描到一些服务设备,将它们的广播信息保存到低功耗蓝牙协议栈中。服务设备广播信息中可能包含设备名称、设备地址、服务类型等信息,为了后续筛选方便,需要对所扫描到的服务设备,提取其有效的广播信息,并保存为设备信息表,如表1所示。
表1 服务设备信息表
编号 设备地址 设备名称 服务类型 距离
1 xx:xx:xx:xx x x x
2 xx:xx:xx:xx x x x ….
...
为了后续筛选方便,将表1中的设备信息以图3所示的结构进行存储。在图3中,纵列表示编号1到n的设备,它们通过指针以所发现的先后顺序链接起来,构成链表,作为服务设备信息存储结构;横行表示每个服务设备的信息,包括设备地址、设备名称、服务类型、距离等,挂载在每个设备后面。其中,服务设备信息数据结构对应的伪代码如下:
struct device_info{
struct device_info *device; //指向下一个服务设备的指针
设备地址; //48位设备蓝牙设备地址
设备名称; //字符串
服务类型;
距离;
……
};
S3. 接收用户输入的筛选条件,作为设备过滤模块的输入。
根据用户需求,过滤条件分为三类,分别用符号表示为“==”、“()”、“>、>=、<、<=”。其中,“==”表示精确过滤,“()”表示过滤并删除不符合某一类别的设备,“>、>=、<、<=”表示某一范围内的过滤。用户可以选择输入某一类别的精确信息来进行精确过滤,如低功耗蓝牙设备的地址、名称等;也可以选择输入某一类别信息的范围实现模糊过滤,如所提供服务的类型、服务设备距离等;当然也可以是多个过滤条件的组合,如服务设备信息表中的一个或多个类别。在使用时,当用户知道目标服务设备的全称时,则可以在名称类别对应地输入该设备的名称,可以是全称也可以是部分关键字符串,从而实现对附近服务设备的精确过滤;当用户需要查找提供某服务类型的设备时,便可以通过输入设备服务类型来进行选择;还可以通过输入距离范围,过滤得到附近一定范围内的服务设备信息。
S4. 为设备过滤模块设计过滤算法,根据筛选条件,利用所设计的过滤算法,对设备信息表进行过滤,并显示过滤结果。
当检测到用户输入过滤条件完成以后,根据条件对服务设备信息表进行过滤。由于S2得到设备信息后,以链表的结构存储起来,因此对设备信息表进行过滤实际上就是对上述链表的筛选或过滤。结合S3所述过滤条件的种类,过滤算法也就是对链表的查找、删除、排序等操作的组合。例如,当用户筛选条件为服务设备地址或设备名称时,只需要在链表中进行查找操作,此时对应的过滤条件类别为“==”;当用户想要得到某个类别的服务设备时,就需要对链表进行删除操作,此时对应的过滤条件类别为“()”;而当用户筛选条件为一定范围内的蓝牙设备时,就需要对链表按特定条件进行排序,此时对应的过滤条件类别为“>、>=、<、<=”。上述三种过滤方法都是基于S2所得到的服务设备信息数据所进行的,它们组成的过滤算法流程如图4所示。
参照图4,当用户想要精确查找符合某一过滤条件的服务设备时,过滤算法执行最左边的过程:从服务设备信息链表的首端开始,对比每个服务设备相应类别的信息,如果符合过滤条件,则查找成功,否则,移动指针,直到链表尾部。
当用户想要得到符合过滤条件的多个服务设备时,过滤算法执行中间的过程:从服务设备信息链表的首端开始,对比每个服务设备相应类别的信息,如果不符合所输入的过滤条件,则删除该节点设备,否则,移动指针,直到链表尾部。
当用户想要过滤某一距离范围内的服务设备时,过滤算法执行最右边的过程:从服务设备信息链表的首端开始,检查每个服务设备的距离信息,如果在距离范围内,则保留节点设备,否则,删除节点设备,直到链表尾部。
这个过程可能会删除设备信息表中的数据,也可能会按照符合度高低对数据进行排序。最终得到的服务设备信息数据已经不同于S2,而是更接近用户需求。此步骤还包括,对筛选得到的结果进行显示,等待用户确认筛选结果。
S5. 如果用户不接受这个结果,则继续S3;如果用户接受过滤结果,则转到S6;
考虑到用户实际需求,可以在S4的结果之上,再次输入另外的过滤条件,进行二次筛选,这样便实现了一个多条件或复合条件过滤功能。此外,用户还可以通过选择重新筛选,开始新的一轮选择。
S6. 将最终得到的设备信息表中对应的设备地址加入到白名单。
白名单是低功耗蓝牙协议中最简单、直白的一种安全机制,所谓白名单,就是一组蓝牙地址。通过白名单,可以只允许特定的蓝牙设备扫描、连接本地设备,也可以只扫描、连接特定的蓝牙设备。例如,如果某个低功耗蓝牙设备只需要被受信任的某几个设备扫描、连接,就可以把这些受信任设备的蓝牙地址加入到该设备的白名单中。这里,当已经筛选出符合用户需求的服务设备后,就通过设置白名单命令,将它们加入到观察者的白名单中即可。
S7. 中心设备使用主动扫描状态,通过过滤政策为白名单的主动扫描,获取对应的服务设备更多的服务信息。
这里需要先进行扫描参数设置,将扫描类型设为主动扫描,将扫描过滤策略设为0x01,即只接收白名单中设备的扫描回复包。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (6)

1.一种基于蓝牙GAP层的服务设备发现方法,其特征在于,预先在蓝牙GAP层的设备发现程序中设置设备过滤模块,接收用户输入的过滤条件,该方法包括以下步骤:
S01:获取服务设备的广播数据;
S02:对所扫描到的服务设备,提取其有效的广播信息,并保存到设备信息表中;
S03:根据输入的过滤条件对设备信息表进行过滤,并显示过滤结果;
S04:将过滤完成的设备信息表中对应的设备地址加入到白名单;
S05:通过主动扫描获取设备的服务信息,并进行存储。
2.根据权利要求1所述的基于蓝牙GAP层的服务设备发现方法,其特征在于,所述步骤S01中通过被动扫描状态获取服务设备的广播数据。
3.根据权利要求1所述的基于蓝牙GAP层的服务设备发现方法,其特征在于,所述设备信息表中的类别至少包括设备名称、设备地址、服务类型、距离。
4.根据权利要求1所述的基于蓝牙GAP层的服务设备发现方法,其特征在于,所述设备信息表以阵列形式进行存储,包括纵列和横行,纵列表示设备编号,通过指针将发现设备按先后顺序链接起来,构成链表,横行表示每个设备的类别,通过指针挂载在相应设备后。
5.根据权利要求1所述的基于蓝牙GAP层的服务设备发现方法,其特征在于,所述过滤条件包括精确过滤、过滤并删除不符合类别的设备和某一距离范围内的过滤。
6.根据权利要求4所述的基于蓝牙GAP层的服务设备发现方法,其特征在于,所述过滤操作包括对设备信息表的查找、删除、排序操作,当过滤条件为精确过滤时,从服务设备信息链表的首端开始,对比每个服务设备相应类别的信息,如果符合过滤条件,则查找成功,否则,移动指针,直到链表尾部;
当过滤条件为过滤并删除不符合类别的设备时,从服务设备信息链表的首端开始,对比每个服务设备相应类别的信息,如果不符合所输入的过滤条件,则删除该节点设备,否则,移动指针,直到链表尾部;
当过滤条件为某一距离范围内的过滤时,从服务设备信息链表的首端开始,检查每个服务设备的距离信息,如果在距离范围内,则保留节点设备,否则,删除节点设备,直到链表尾部。
CN201810584078.0A 2018-06-08 2018-06-08 基于蓝牙gap层的服务设备发现方法 Active CN108769967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810584078.0A CN108769967B (zh) 2018-06-08 2018-06-08 基于蓝牙gap层的服务设备发现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810584078.0A CN108769967B (zh) 2018-06-08 2018-06-08 基于蓝牙gap层的服务设备发现方法

Publications (2)

Publication Number Publication Date
CN108769967A true CN108769967A (zh) 2018-11-06
CN108769967B CN108769967B (zh) 2021-11-12

Family

ID=64000468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810584078.0A Active CN108769967B (zh) 2018-06-08 2018-06-08 基于蓝牙gap层的服务设备发现方法

Country Status (1)

Country Link
CN (1) CN108769967B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112752243A (zh) * 2019-10-31 2021-05-04 杭州闪约科技有限公司 蓝牙设备识别方法、装置、存储介质及电子设备
CN113727313A (zh) * 2020-05-25 2021-11-30 深圳Tcl数字技术有限公司 一种蓝牙扫描控制方法、移动终端以及存储介质
CN114513778A (zh) * 2022-04-14 2022-05-17 广东南方电信规划咨询设计院有限公司 一种无线数据传输方法及系统
WO2022099711A1 (zh) * 2020-11-16 2022-05-19 Oppo广东移动通信有限公司 信息处理方法、终端设备、电子设备和信息处理系统
CN114786058A (zh) * 2022-04-27 2022-07-22 南京欧珀软件科技有限公司 多媒体数据展示方法、装置、终端及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003309486A (ja) * 2002-04-18 2003-10-31 Fuji Photo Film Co Ltd 通信装置
EP2026177A1 (en) * 2006-03-10 2009-02-18 YOSHIDA, Kenji System for input to information processing device
CN102149167A (zh) * 2010-02-10 2011-08-10 正崴精密工业股份有限公司 用于无线网络的自动配对方法
CN102299763A (zh) * 2010-06-24 2011-12-28 美国博通公司 通信方法和系统
US20140329467A1 (en) * 2013-03-15 2014-11-06 Server Technology, Inc. Wireless communications capable power distribution unit and techniques for communicating therewith
CN104918206A (zh) * 2015-04-30 2015-09-16 惠州Tcl移动通信有限公司 一种蓝牙设备快速配对连接的方法及系统
CN105450268A (zh) * 2015-12-02 2016-03-30 惠州Tcl移动通信有限公司 基于蓝牙的可穿戴设备与移动终端自动连接的方法及系统
WO2016187582A1 (en) * 2015-05-21 2016-11-24 Cloudtraq Llc Identification, location, and authentication systems and methods

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003309486A (ja) * 2002-04-18 2003-10-31 Fuji Photo Film Co Ltd 通信装置
EP2026177A1 (en) * 2006-03-10 2009-02-18 YOSHIDA, Kenji System for input to information processing device
CN102149167A (zh) * 2010-02-10 2011-08-10 正崴精密工业股份有限公司 用于无线网络的自动配对方法
CN102299763A (zh) * 2010-06-24 2011-12-28 美国博通公司 通信方法和系统
US20140329467A1 (en) * 2013-03-15 2014-11-06 Server Technology, Inc. Wireless communications capable power distribution unit and techniques for communicating therewith
CN104918206A (zh) * 2015-04-30 2015-09-16 惠州Tcl移动通信有限公司 一种蓝牙设备快速配对连接的方法及系统
WO2016187582A1 (en) * 2015-05-21 2016-11-24 Cloudtraq Llc Identification, location, and authentication systems and methods
CN105450268A (zh) * 2015-12-02 2016-03-30 惠州Tcl移动通信有限公司 基于蓝牙的可穿戴设备与移动终端自动连接的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
UGUR BOLAT等: "A hybrid indoor positioning solution based on Wi-Fi, magnetic field, and inertial navigation", 《2017 14TH WORKSHOP ON POSITIONING, NAVIGATION AND COMMUNICATIONS (WPNC)》 *
孙纬民等: "基于WiFi与蓝牙的室内定位技术探究", 《软件导刊》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112752243A (zh) * 2019-10-31 2021-05-04 杭州闪约科技有限公司 蓝牙设备识别方法、装置、存储介质及电子设备
CN113727313A (zh) * 2020-05-25 2021-11-30 深圳Tcl数字技术有限公司 一种蓝牙扫描控制方法、移动终端以及存储介质
WO2022099711A1 (zh) * 2020-11-16 2022-05-19 Oppo广东移动通信有限公司 信息处理方法、终端设备、电子设备和信息处理系统
CN114513778A (zh) * 2022-04-14 2022-05-17 广东南方电信规划咨询设计院有限公司 一种无线数据传输方法及系统
CN114786058A (zh) * 2022-04-27 2022-07-22 南京欧珀软件科技有限公司 多媒体数据展示方法、装置、终端及存储介质
CN114786058B (zh) * 2022-04-27 2024-02-06 南京欧珀软件科技有限公司 多媒体数据展示方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN108769967B (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN108769967A (zh) 基于蓝牙gap层的服务设备发现方法
US10187798B2 (en) Terminal device having subscriber identity device and method for selecting profile thereof
CN104980993B (zh) 一种网络接入方法、移动通信终端、网络服务器及网络接入系统
CN104902547B (zh) WiFi网络连接方法及装置
CN103124422B (zh) 关联设备的方法、装置及系统
CN103686788B (zh) 终端的网络参数配置方法、装置及终端
CN108432185A (zh) 在无线通信系统中基于应用类别的网络切片选择
CN103379480A (zh) 无线网络连接方法及装置
CN106304141A (zh) 基于ZigBee网络的入网管理方法和系统
US20120202492A1 (en) Method and apparatus for enabling identification of a rejecting network in connection with registration area updating
CN105393603A (zh) 选择公共陆地移动网络plmn的方法及其装置和设备
US20080136621A1 (en) Methods and apparatus for wlan management using rf tags
CN106131850A (zh) 一种伪基站识别方法及设备
CN106255106A (zh) 一种无线网络连接方法和装置
CN104853412B (zh) 一种网络接入方法及移动通信终端
CN106209769A (zh) 数据交互方法、云端服务器以及智能终端
CN105430597A (zh) 一种蓝牙设备及其蓝牙散射网组网方法和装置
CN101553043B (zh) 用于从双模式的移动终端建立通信的方法
CN113055501B (zh) 一种通过网口串联配置ip地址的方法及装置
CN109429302A (zh) 一种多卡终端脱网后的恢复方法及装置
CN106973369A (zh) 彩信发送方法、装置、移动终端及计算机可读存储介质
CN107005424A (zh) 用于云部署中的网络元件的网络过程的分布式追踪
CN109219049A (zh) 伪基站识别方法、装置及计算机可读存储介质
CN105847506A (zh) 移动终端的通信方法、装置和移动终端
CN108521665A (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