CN114286290B - 一种ble广播发送和接收方法、装置及*** - Google Patents
一种ble广播发送和接收方法、装置及*** Download PDFInfo
- Publication number
- CN114286290B CN114286290B CN202111490498.0A CN202111490498A CN114286290B CN 114286290 B CN114286290 B CN 114286290B CN 202111490498 A CN202111490498 A CN 202111490498A CN 114286290 B CN114286290 B CN 114286290B
- Authority
- CN
- China
- Prior art keywords
- data
- event
- broadcasting
- ble broadcast
- ble
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种BLE广播发送和接收方法、装置及***,该方法在广播设备和扫描设备进行信息交互的过程中分别采用了随机算法:广播设备通过随机算法选取随机广播事件直接发送扫描应答数据,在其它的广播事件中接收到扫描请求数据后再发送扫描应答数据;而扫描设备通过随机算法选取随机广播事件发送扫描请求数据,在其它的广播事件中等待接收扫描应答数据。相比较于现有技术将忽略扫描请求数据进行直接的扫描应答数据的发送和接收,本发明可以降低扫描请求碰撞的概率,以及提高主动扫描成功完成的概率,并以此来减少广播设备和扫描设备在信息交互中所产生的功耗,延长了设备使用寿命,并节约了广播成本。
Description
技术领域
本发明涉及BLE广播领域,尤其涉及一种BLE广播发送和接收方法、装置及***。
背景技术
物联网技术,是将物品通过定好协议的信息传感设备进行网络连接,从而实现信息交互。物联网是在互联网基础上的延伸和拓展的网络,将信息传感设备与网络相互结合从而构成了巨大网络。而物联网包括了智能化识别、定位、跟踪、监控和管理,并根据这些特点广泛应用于实际生活中,如智能家居、智能交通、公共安全等领域。物联网技术的发展有利于构建智能化生活,有效的推动了各领域的发展,从而提高了行业的效率和效益。对于信息传感设备的要求通常是成本低——既能省电同时也便宜,因此使用蓝牙作为连接的设备是性价比较高的选择。蓝牙有着全球互联互通性好的优点,许多电子设备都运用了蓝牙技术作为无线连接的信息交互,而蓝牙的底层技术离不开BLE广播。BLE广播在实际生活应用中通常是一个广播设备对多个扫描设备的情况,例如景点信息获取、车站站内通知以及公共场合的定位,都是通过一个或少量的广播设备进行广播数据的发送,由大量的扫描设备接收广播,再通过相应的软件进行解析。当大量的扫描设备接收到同一个广播包并同时发送扫描请求时,会造成电磁干扰阻碍了广播设备接收扫描请求,因此无法发出扫描响应,影响了数据传输的效率。
对于BLE广播增效方法,现有技术包括:由黄成、刘昊等提出的“一种面向BLE主动扫描的快速发现机制”(CN201911421931.8),该技术在发送广播包ADV_IND后无需等待请求响应直接发送扫描响应SCAN_RSP,直接忽略了扫描请求SCAN_REQ,进一步加快了广播设备和扫描设备间的扫描应答效率。
本发明人在实施本发明的过程中发现,现有技术存在以下技术问题:在广播设备和扫描设备交互的过程中,每个广播设备在每个广播事件中都强制向扫描设备发送SCAN_RSP,增加了BLE数据交互中的能量损耗。
发明内容
本发明实施例提供一种BLE广播发送和接收方法、装置及***,增加了主动扫描的完成概率,降低了BLE广播数据的传输能耗。
为了解决上述问题,本发明一实施例提供一种BLE广播发送和接收方法,包括:
在执行第一个广播事件时,根据在一个发送周期内预设的广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的广播事件标记为第一广播事件;其中,每个广播事件根据事件序号的顺序依次产生并执行;
在所述发送周期内,按照事件序号的顺序,依次执行各广播事件;
当执行所述第一广播事件时,向扫描设备发送第一数据后直接发送第三数据;其中在发送第一数据后,间隔第一预设时间向所述扫描设备直接发送第三数据;
当执行其他未被标记的广播事件时,向所述扫描设备发送所述第一数据后,根据所述扫描设备反馈的第二数据,发送第三数据;若在发送所述第一数据间隔第二预设时间后,仍未收到所述第二数据,则结束所述未被标记的广播事件。
进一步的,所述根据在一个发送周期内预设的广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的广播事件标记为第一广播事件,具体为:
通过蓝牙时钟和函数计算生成一个随机数;
根据所述随机数对所述预设的广播事件个数进行求模,获取余数,所述余数为所述随机编号;
标记与所述随机编号相同的事件序号的广播事件,从而标记为所述第一广播事件。
进一步的,所述在所述发送周期内,按照事件序号的顺序,依次执行各广播事件,还包括:
在每个广播事件中,向所述扫描设备发送所述第一数据后,间隔所述第二预设时间后结束本次广播事件,并进行下一广播事件的执行。
进一步的,所述向所述扫描设备发送所述第一数据后,根据所述扫描设备反馈的第二数据,发送第三数据,具体为:
向所述扫描设备发送所述第一数据,以使所述扫描设备在间隔第三预设时间后发送第二数据;
根据所述第二数据,在间隔所述第三预设时间后向所述扫描设备发送第三数据;其中,接收由所述扫描设备发出的第二数据需要占用第四预设时间。
进一步的,所述以使所述扫描设备在间隔第三预设时间后发送第二数据,具体为:
所述第二数据由所述扫描设备在执行第一个广播事件时,根据在一个接收周期内预设的广播事件个数,计算一个随机编号,并在与所述随机编号相同的事件序号对应的广播事件中发送;
相应的,本发明实施例还提供一种广播设备,包括:第一事件标记模块、第一广播模块、第一发送模块和第二发送模块;
其中,所述第一事件标记模块用于在执行第一个广播事件时,根据在一个发送周期内预设的广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的广播事件标记为第一广播事件;其中,每个广播事件根据事件序号的顺序依次产生并执行;
所述第一广播模块用于在所述发送周期内,按照事件序号的顺序,依次执行各广播事件;
所述第一发送模块用于当执行所述第一广播事件时,向扫描设备发送第一数据后直接发送第三数据;其中在发送第一数据后,间隔第一预设时间向所述扫描设备直接发送第三数据;
所述第二发送模块用于当执行其他未被标记的广播事件时,向所述扫描设备发送所述第一数据后,根据所述扫描设备反馈的第二数据,发送第三数据;若在发送所述第一数据间隔第二预设时间后,仍未收到所述第二数据,则结束所述未被标记的广播事件。
相应的,本发明实施例还提供了一种BLE广播接收方法,包括:
在一个接收周期内,接收由广播设备按照事件序号的顺序依次发送的各广播事件,且在接收第一个广播事件后,根据在一个接收周期内预设的广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的广播事件标记为第二广播事件;其中,每个广播事件根据事件序号的顺序依次产生并执行;
当接收到的第二广播事件时,根据所述第二广播事件对应的第四数据,向所述广播设备发送第五数据,并接收由所述广播设备反馈的第六数据;其中,所述第六数据是由所述广播设备根据所述第五数据而响应发送;
当接收到的其他未被标记的广播事件时,接收所述未被标记的广播事件对应的第四数据,并等待第五预设时间接收所述广播设备发出所述未被标记的广播事件对应的第六数据;若在间隔第六预设时间后,仍未收到所述第六数据,则结束所述未被标记的广播事件。
进一步的,根据所述第二广播事件对应的第四数据,向所述广播设备发送第五数据,并接收由所述广播设备反馈的第六数据,具体为:
接收由所述广播设备发出的第四数据,并间隔第七预设时间后发送第五数据;
在发送所述第五数据后,间隔所述第七预设时间后接收由广播设备反馈的第六数据;其中,向所述广播设备发送所述第五数据需要占用第八预设时间。
相应的,本发明实施例还提供了一种扫描设备,包括:第二广播模块、第一接收模块和第二接收模块;
其中,所述第二广播模块用于在一个接收周期内,接收由广播设备按照事件序号的顺序依次发送的各广播事件,且在接收第一个广播事件后,根据在一个接收周期内预设的广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的广播事件标记为第二广播事件;其中,每个广播事件根据事件序号的顺序依次产生并执行;
所述第一接收模块用于当接收到的第二广播事件时,根据所述第二广播事件对应的第四数据,生成并向所述广播设备发送第五数据,并接收由所述广播设备反馈的第六数据;其中,所述第六数据是由所述广播设备根据所述第五数据而响应生成;
所述第二接收模块用于当接收到的其他未被标记的广播事件时,接收所述未被标记的广播事件对应的第四数据,并等待第五预设时间接收所述广播设备发出所述未被标记的广播事件对应的第六数据;若在间隔第六预设时间后,仍未收到所述第六数据,则结束所述未被标记的广播事件。
相应的,本发明实施例还提供了一种BLE广播发送和接收***,包括:一个广播设备和多个扫描设备,所述扫描设备需要处于所述广播设备的辐射范围内;其中,所述广播设备应用于如本发明所述的广播设备;以及所述扫描设备应用于本发明所述的扫描设备。
由上可见,本发明具有如下有益效果:
本发明提供了一种BLE广播发送和接收方法、装置及***,该方法在广播设备和扫描设备进行信息交互的过程中分别采用了随机算法:广播设备通过随机算法选取随机广播事件直接发送扫描应答数据,在其它的广播事件中接收到扫描请求数据后再发送扫描应答数据;而扫描设备通过随机算法选取随机广播事件发送扫描请求数据,在其它的广播事件中等待接收扫描应答数据。相比较于现有技术将忽略扫描请求数据进行直接的扫描应答数据的发送和接收,本发明可以降低扫描请求碰撞的概率,以及提高主动扫描成功完成的概率,并以此来减少广播设备和扫描设备在信息交互中所产生的功耗,延长了设备使用寿命,并节约了广播成本。
附图说明
图1是本发明一实施例提供BLE广播发送方法的流程示意图;
图2是本发明一实施例提供BLE广播接收方法的流程示意图;
图3是本发明一实施例提供的BLE广播发送装置的结构示意图;
图4是本发明一实施例提供的BLE广播接收装置的结构示意图;
图5是本发明另一实施例提供BLE广播发送方法的流程示意图;
图6是本发明另一实施例提供BLE广播接收方法的流程示意图;
图7是本发明一实施例提供BLE广播发送和接收方法的流程示意图;
图8是本发明一实施例提供BLE广播发送和接收***的结构示意图;
图9是本发明一实施例提供BLE广播发送和接收时序的流程示意图;
图10是本发明一实施例提供的一种终端设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明一实施例提供BLE广播发送方法的流程示意图,如图1所示,该方法包括步骤101至步骤104,各步骤具体如下:
步骤101:在执行第一个广播事件时,根据在一个发送周期内预设的广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的广播事件标记为第一广播事件;其中,每个广播事件根据事件序号的顺序依次产生并执行。
在本实施例中,通过蓝牙时钟和函数计算生成一个随机数,根据随机数对预设的广播事件个数进行求模,获取余数,所述余数为随机编号。
标记与随机编号相同的事件序号的广播事件,从而标记为第一广播事件。
作为优选的,使用Rand随机函数,并以广播设备的蓝牙时钟CLK作为种子,生成随机数除以预设的广播事件个数N,并获取余数K,则K为随机事件的编号;其中,公式为:K=Rand(CLK)%N。
作为优选的,预设的广播事件个数N可以通过不同的使用场景进行设置,例如:一个公交站点的等候人数最多有20人,则在广播设备中预设的广播事件个数为20。
步骤102:在所述发送周期内,按照事件序号的顺序,依次执行各广播事件。
在本实施例中,连续两个广播事件之间的间隔固定,为第九预设时间。
作为优选的,第一数据为ADV_IND类型的数据包或者ADV_SCAN_IND类型的数据包,第九预设时间的选择范围为20ms至10.24s,单位为625us。
作为优选的,广播设备在第九预设时间内、广播事件占用时间外的时间里,可以进行休眠或待机以节省功耗。
步骤103:当执行所述第一广播事件时,向扫描设备发送第一数据后直接发送第三数据;其中在发送第一数据后,间隔第一预设时间向所述扫描设备直接发送第三数据。
在本实施例中,步骤103具体为:第一预设时间可以为476us。
作为优选的,广播设备可以在第一预设时间内进入休眠或待机以节省功耗。
步骤104:当执行其他未被标记的广播事件时,向所述扫描设备发送所述第一数据后,根据所述扫描设备反馈的第二数据,发送第三数据;若在发送所述第一数据间隔第二预设时间后,仍未收到所述第二数据,则结束所述未被标记的广播事件。
作为优选的,第二预设时间可以为152us。
在本实施例中,步骤104具体为:向所述扫描设备发送所述第一数据,以使所述扫描设备在间隔第三预设时间后发送第二数据。
根据所述第二数据,在间隔所述第三预设时间后向所述扫描设备发送第三数据;其中,接收由所述扫描设备发出的第二数据需要占用第四预设时间。
作为优选的,第二数据可以为SCAN_REQ类型的数据包,第三数据可以为SCAN_RSP类型的数据包,第三预设时间可以为150us,第四预设时间可以为176us。
参见图2,图2是本发明一实施例提供BLE广播接收方法的流程示意图,如图2所示,该方法包括步骤201至步骤203,各步骤具体如下:
步骤201:在一个接收周期内,接收由广播设备按照事件序号的顺序依次发送的各广播事件,且在接收第一个广播事件后,根据在一个接收周期内预设的广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的广播事件标记为第二广播事件;其中,每个广播事件根据事件序号的顺序依次产生并执行。
在本实施例中,步骤201具体为:通过蓝牙时钟和函数计算生成一个随机数,根据随机数对预设的广播事件个数进行求模,获取余数,所述余数为随机编号。
标记与随机编号相同的事件序号的广播事件,从而标记为第二广播事件。
作为优选的,使用Rand随机函数,并以扫描设备的蓝牙时钟CLK作为种子,生成随机数除以预设的广播事件个数M,并获取余数S,则S为随机事件的编号;其中,公式为:S=Rand(CLK)%M。
作为优选的,预设的广播事件个数M可以同一设置为一个固定值,如:20个。
作为优选的,预设的广播事件个数M可以在接收到填充了广播事件个数为N的ADV_IND类型数据包后,再选择一个小于N的正整数作为预设的广播事件个数M。
作为优选的,预设的广播事件M可使用扫描设备上携带的软件进行手动设置。
步骤202:当接收到的第二广播事件时,根据所述第二广播事件对应的第四数据,向所述广播设备发送第五数据,并接收由所述广播设备反馈的第六数据;其中,所述第六数据是由所述广播设备根据所述第五数据而响应发送。
在本实施例中,步骤202具体为:接收由广播设备发出的第四数据,并间隔第七预设时间后发送第五数据。
在发送第五数据后,间隔第七预设时间后接收由广播设备反馈的第六数据;其中,向所述广播设备发送所述第五数据需要占用第八预设时间。
在本实施例中,第四数据可以为ADV_IND类型的数据包,第五数据可以为SCAN_REQ类型的数据包,第六数据可以为SCAN_RSP类型的数据包,第七预设时间可以与第三预设时间同为150us,第八预设时间可以与第四预设时间同为176us。
步骤203:当接收到的其他未被标记的广播事件时,接收所述未被标记的广播事件对应的第四数据,并等待第五预设时间接收所述广播设备发出所述未被标记的广播事件对应的第六数据;若在间隔第六预设时间后,仍未收到所述第六数据,则结束所述未被标记的广播事件。
在本实施例中,步骤203具体为:第五预设时间的选择范围可以与第一预设时间同为476us,第六预设时间可以为478us。
作为优选的,扫描设备可以在第五预设时间内进行休眠或待机以节省功耗。
参见图3,图3是本发明一实施例提供的BLE广播发送装置的结构示意图,如图2所示,该装置包括:第一事件标记模块301、第一广播模块302、第一发送模块303和第二发送模块304。
其中,第一事件标记模块301用于在执行第一个广播事件时,根据在一个发送周期内预设的广播事件个数,计算一个随机编号,并将与随机编号相同的事件序号对应的广播事件标记为第一广播事件;其中,每个广播事件根据事件序号的顺序依次产生并执行。
第一广播模块302用于在发送周期内,按照事件序号的顺序,依次执行各广播事件。
第一发送模块303用于当执行第一广播事件时,向扫描设备发送第一数据后直接发送第三数据;其中在发送第一数据后,间隔第一预设时间向扫描设备直接发送第三数据。
第二发送模块304用于当执行其他未被标记的广播事件时,向扫描设备发送所述第一数据后,根据扫描设备反馈的第二数据,发送第三数据;若在发送所述第一数据间隔第二预设时间后,仍未收到所述第二数据,则结束所述未被标记的广播事件。
作为优选的,第一事件标记模块301包括:随机数生成单元、求模单元和标记单元。
其中,随机数生成单元用于通过蓝牙时钟和函数计算生成一个随机数。
求模单元用于根据所述随机数对所述预设的广播事件个数进行求模,获取余数,所述余数为所述随机编号。
标记单元用于标记与所述随机编号相同的事件序号的广播事件,从而标记为所述第一广播事件。
作为优选的,第二发送模块304包括:第一响应单元和第二响应单元。
其中,第一响应单元用于向所述扫描设备发送第一数据,以使扫描设备在间隔第三预设时间后发送第二数据。
第二响应单元用于根据第二数据,在间隔第三预设时间后向扫描设备发送第三数据;其中,接收由扫描设备发出的第二数据需要使用第四预设时间。
参见图4,图4是本发明一实施例提供的BLE广播接收装置的结构示意图,如图4所示,该装置包括:第二广播模块401、第一接收模块402和第二接收模块403。
其中,第二广播模块401用于在一个接收周期内,接收由广播设备按照事件序号的顺序依次发送的各广播事件,且在接收第一个广播事件后,根据在一个接收周期内预设的广播事件个数,计算一个随机编号,并将与随机编号相同的事件序号对应的广播事件标记为第二广播事件;其中,每个广播事件根据事件序号的顺序依次产生并执行。
第一接收模块402用于当接收到的第二广播事件时,根据第二广播事件对应的第四数据,生成并向所述广播设备发送第五数据,并接收由广播设备反馈的第六数据;其中,所述第六数据是由广播设备根据第五数据而响应生成。
第二接收模块403用于当接收到的其他未被标记的广播事件时,接收未被标记的广播事件对应的第四数据,并等待第五预设时间接收广播设备发出未被标记的广播事件对应的第六数据;若在间隔第六预设时间后,仍未收到所述第六数据,则结束所述未被标记的广播事件。
作为优选的,第一接收模块402包括:第三响应单元和第四响应单元。
第三响应单元用于接收由所述广播设备发出的第四数据,并间隔第七预设时间后发送第五数据。
第四响应单元用于在发送所述第五数据后,间隔所述第七预设时间后接收由广播设备反馈的第六数据;其中,向所述广播设备发送所述第五数据需要占用第八预设时间。
参见图5,图5是本发明另一实施例提供BLE广播发送方法的流程示意图,如图5所示,该方法具体为:启动广播后,根据公式:K=Rand(CLK)%N求得K值,此时K表示为随机选择的直接发送SCAN_RSP类型的数据包的事件编号。
记录广播事件发生的次数为n,对n值进行判断:若n值不等于K+1值,则该广播事件在发送ADV_IND类型的数据包后,接收到SCAN_REQ类型的数据包后才发送SCAN_RSP类型的数据包;若n值等于K+1值,则标记该广播事件在发送ADV_IND类型的数据包后直接发送SCAN_RSP类型的数据包。
对n值再次进行判断:若n值小于N值,则进行下一事件,即n+1;若n值大于等于N值,则进入下一个N周期,此时将n、K分别置零,重新计算K值。
参见图6,图6是本发明另一实施例提供BLE广播接收方法的流程示意图,如图6所示,该方法具体为:根据公式:K=Rand(CLK)%M求得S值,此时S表示为随机选择的直接发送SCAN_RSP类型的数据包的事件编号。
记录广播事件发生的次数为m,对m值进行判断:若m值等于S+1值,则该广播事件向广播设备发送SCAN_REQ类型的数据包后以请求更多的数据;若m值不等于S+1值,则发送ADV_IND类型的数据包后不发送SCAN_REQ类型的数据包,间隔476us后接收SCAN_RSP类型的数据包。
对m值再次进行判断:若m值小于M值,则进行下一事件,即m+1;若m值大于等于M值,则进入下一个M周期,此时将m、S分别置零,重新计算S值。
参见图7,图7是本发明一实施例提供BLE广播发送和接收方法的流程示意图,在本实施例中,本方法具体为:在广播事件Event A里,若广播设备不满足广播事件n=K+1的条件,则不是直接发送SCAN_RSP类型数据包的事件;若扫描设备1本次接收到ADV_IND类型数据包后满足广播事件m=S+1的条件,需要发送SCAN_REQ类型数据包,而扫描设备2和扫描设备3不满足广播事件m=S+1的条件,不发送SCAN_REQ类型数据包,广播设备接收到扫描设备1发送的SCAN_REQ类型数据包,回应SCAN_RSP类型数据包给扫描设备1,该SCAN_RSP类型数据包也可以被扫描设备2和扫描设备3同时接收到。
在广播事件Event B里,若广播设备不满足广播事件n=K+1的条件,则不是直接发送SCAN_RSP类型数据包事件;若扫描设备2本次接收到ADV_IND类型数据包后满足广播事件m=S+1的条件,需要发送SCAN_REQ类型数据包,而扫描设备1和扫描设备3不满足广播事件m=S+1的条件,不发送SCAN_REQ类型数据包,广播设备接收到扫描设备2发送的SCAN_REQ类型数据包,回应SCAN_RSP类型数据包给扫描设备2,该SCAN_RSP类型数据包也可以被扫描设备1和扫描设备3同时接收到。
在广播事件Event K里,若扫描设备1、2、3本次接收到ADV_IND类型数据包不满足广播事件m=S+1的条件,不发送SCAN_REQ类型数据包;若广播设备满足广播事件n=K+1的条件,则直接发送SCAN_RSP类型数据包,该SCAN_RSP类型数据包可以被扫描设备1、2、3同时接收到。
参见图8,图8是本发明一实施例提供BLE广播发送和接收***的结构示意图,如图8所示,在本实施例中,本***具体为:由一个广播设备和多个扫描设备组成,其中扫描设备需要处于广播设备的辐射范围内。
参见图9,图9是本发明一实施例提供BLE广播发送和接收时序的流程示意图,如图9所示,具体如下:
在本实施例中,主动扫描:广播设备发送ADV_IND类型数据包(第一数据)给扫描设备,扫描设备在接收到ADV_IND类型数据包(第一数据)后,间隔第七预设时间发送SCAN_REQ类型数据包(第二数据)给广播设备,广播设备接收SCAN_REQ类型数据包(第二数据)需要占用第八预设时间,广播设备在接收到SCAN_REQ类型数据包(第二数据)后间隔第三预设时间发送SCAN_RSP类型数据包(第三数据)给扫描设备;若广播设备在发出ADV_IND类型数据包(第一数据)后间隔第二预设时间并未接收到扫描设备发出的SCAN_REQ类型数据包(第二数据),则结束广播事件。
强制扫描:广播设备发送ADV_IND类型数据包(第一数据)给扫描设备,间隔第一预设时间后直接向扫描设备发送SCAN_RSP类型数据包(第三数据);扫描设备接收到广播设备发出的ADV_IND类型数据包(第一数据)后,间隔第五预设时间直接接收广播设备发出的SCAN_RSP类型数据包(第三数据);若扫描设备在接收到ADV_IND类型数据包(第一数据)后间隔第六预设时间并未接收到广播设备发出的SCAN_RSP类型数据包(第三数据),则结束广播事件。
作为优选的,第一预设时间与第五预设时间同为476us,第二预设时间可以为152us,第三预设时间与第七预设时间同为150us,第四预设时间与第八预设时间同为176us,第六预设时间可以为478us。
参见图10,图10是本发明一实施例提供的终端设备结构示意图,如图10所示,具体为:
该实施例的一种终端设备包括:处理器901、存储器902以及存储在所述存储器902中并可在所述处理器901上运行的计算机程序。所述处理器901执行所述计算机程序时实现上述各个BLE广播发送和接收方法在实施例中的步骤,例如图1和图2所示的BLE广播发送和接收方法的所有步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如:图3和图4所示的BLE广播发送和接收装置的所有模块。
另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任一实施例所述的BLE广播发送和接收方法。
本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器901可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器901是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
所述存储器902可用于存储所述计算机程序和/或模块,所述处理器901通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器902内的数据,实现所述终端设备的各种功能。所述存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上可见,本发明提供了一种BLE广播发送和接收方法、装置及***,本发明通过随机算法的设置,增加了主动扫描的概率,特别是针对BLE设备,由于扫描设备接收广播设备的数据对于实时性要求不高,当存在多个扫描设备收到同一个ADV_IND类型数据包时,只要有一个扫描设备发出SCAN_REQ类型数据包,其他扫描设备接下来都可以接收SCAN_RSP类型数据包,从而完成广播数据的快速接收,提高用户体验。所以通过本发明的技术方案,降低了数据传输过程中的功耗,从而达到节能环保的目的。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种BLE广播发送方法,其特征在于,所述方法包括:
在执行第一个BLE广播事件时,根据在一个发送周期内预设的BLE广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的BLE广播事件标记为第一BLE广播事件;其中,每个BLE广播事件根据事件序号的顺序依次产生并执行;
在所述发送周期内,按照事件序号的顺序,依次执行各BLE广播事件;
当执行所述第一BLE广播事件时,向扫描设备发送第一数据后直接发送第三数据;其中在发送第一数据后,间隔第一预设时间向所述扫描设备直接发送第三数据;第一数据为ADV_IND类型的数据包或者ADV_SCAN_IND类型的数据包;第三数据为SCAN_RSP类型的数据包;
当执行其他未被标记的BLE广播事件时,向所述扫描设备发送所述第一数据后,根据所述扫描设备反馈的第二数据,发送第三数据;若在发送所述第一数据间隔第二预设时间后,仍未收到所述第二数据,则结束所述未被标记的BLE广播事件;其中,第二数据为SCAN_REQ类型的数据包。
2.根据权利要求1所述的BLE广播发送方法,其特征在于,所述根据在一个发送周期内预设的BLE广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的BLE广播事件标记为第一BLE广播事件,具体为:
通过蓝牙时钟和函数计算生成一个随机数;
根据所述随机数对所述预设的BLE广播事件个数进行求模,获取余数,所述余数为所述随机编号;
标记与所述随机编号相同的事件序号的BLE广播事件,从而标记为所述第一BLE广播事件。
3.根据权利要求1所述的BLE广播发送方法,其特征在于,所述在所述发送周期内,按照事件序号的顺序,依次执行各BLE广播事件,还包括:
连续两个BLE广播事件之间的间隔固定,设置为第九预设时间。
4.根据权利要求1所述的BLE广播发送方法,其特征在于,所述向所述扫描设备发送所述第一数据后,根据所述扫描设备反馈的第二数据,发送第三数据,具体为:
向所述扫描设备发送所述第一数据,以使所述扫描设备在间隔第三预设时间后发送第二数据;
根据所述第二数据,在间隔所述第三预设时间后向所述扫描设备发送第三数据;其中,接收由所述扫描设备发出的第二数据需要占用第四预设时间。
5.根据权利要求4所述的BLE广播发送方法,其特征在于,所述以使所述扫描设备在间隔第三预设时间后发送第二数据,具体为:
所述第二数据由所述扫描设备在执行第一个BLE广播事件时,根据在一个接收周期内预设的BLE广播事件个数,计算一个随机编号,并在与所述随机编号相同的事件序号对应的BLE广播事件中发送。
6.一种广播设备,其特征在于,包括:第一事件标记模块、第一广播模块、第一发送模块和第二发送模块;
其中,所述第一事件标记模块用于在执行第一个BLE广播事件时,根据在一个发送周期内预设的BLE广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的BLE广播事件标记为第一BLE广播事件;其中,每个BLE广播事件根据事件序号的顺序依次产生并执行;
所述第一广播模块用于在所述发送周期内,按照事件序号的顺序,依次执行各BLE广播事件;
所述第一发送模块用于当执行所述第一BLE广播事件时,向扫描设备发送第一数据后直接发送第三数据;其中在发送第一数据后,间隔第一预设时间向所述扫描设备直接发送第三数据;
所述第二发送模块用于当执行其他未被标记的BLE广播事件时,向所述扫描设备发送所述第一数据后,根据所述扫描设备反馈的第二数据,发送第三数据;若在发送所述第一数据间隔第二预设时间后,仍未收到所述第二数据,则结束所述未被标记的BLE广播事件。
7.一种BLE广播接收方法,其特征在于,包括:
在一个接收周期内,接收由广播设备按照事件序号的顺序依次发送的各BLE广播事件,且在接收第一个BLE广播事件后,根据在一个接收周期内预设的BLE广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的BLE广播事件标记为第二BLE广播事件;其中,每个BLE广播事件根据事件序号的顺序依次产生并执行;
当接收到的第二BLE广播事件时,根据所述第二BLE广播事件对应的第四数据,向所述广播设备发送第五数据,并接收由所述广播设备反馈的第六数据;其中,所述第六数据是由所述广播设备根据所述第五数据而响应发送;其中,第四数据为ADV_IND类型的数据包;第五数据为SCAN_REQ类型的数据包;第六数据为SCAN_RSP类型的数据包;
当接收到的其他未被标记的BLE广播事件时,接收所述未被标记的BLE广播事件对应的第四数据,并等待第五预设时间接收所述广播设备发出所述未被标记的BLE广播事件对应的第六数据;若在间隔第六预设时间后,仍未收到所述第六数据,则结束所述未被标记的BLE广播事件。
8.根据权利要求7所述的BLE广播接收方法,其特征在于,根据所述第二BLE广播事件对应的第四数据,向所述广播设备发送第五数据,并接收由所述广播设备反馈的第六数据,具体为:
接收由所述广播设备发出的第四数据,并间隔第七预设时间后发送第五数据;
在发送所述第五数据后,间隔所述第七预设时间后接收由广播设备反馈的第六数据;其中,向所述广播设备发送所述第五数据需要占用第八预设时间。
9.一种扫描设备,其特征在于,包括:第二广播模块、第一接收模块和第二接收模块;
其中,所述第二广播模块用于在一个接收周期内,接收由广播设备按照事件序号的顺序依次发送的各BLE广播事件,且在接收第一个BLE广播事件后,根据在一个接收周期内预设的BLE广播事件个数,计算一个随机编号,并将与所述随机编号相同的事件序号对应的BLE广播事件标记为第二BLE广播事件;其中,每个BLE广播事件根据事件序号的顺序依次产生并执行;
所述第一接收模块用于当接收到的第二BLE广播事件时,根据所述第二BLE广播事件对应的第四数据,生成并向所述广播设备发送第五数据,并接收由所述广播设备反馈的第六数据;其中,所述第六数据是由所述广播设备根据所述第五数据而响应生成;
所述第二接收模块用于当接收到的其他未被标记的BLE广播事件时,接收所述未被标记的BLE广播事件对应的第四数据,并等待第五预设时间接收所述广播设备发出所述未被标记的BLE广播事件对应的第六数据;若在间隔第六预设时间后,仍未收到所述第六数据,则结束所述未被标记的BLE广播事件。
10.一种BLE广播发送和接收***,其特征在于,包括:一个广播设备和多个扫描设备,所述扫描设备需要处于所述广播设备的辐射范围内;其中,所述广播设备应用于如权利要求6所述的广播设备;以及所述扫描设备应用于如权利要求9所述的扫描设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490498.0A CN114286290B (zh) | 2021-12-08 | 2021-12-08 | 一种ble广播发送和接收方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490498.0A CN114286290B (zh) | 2021-12-08 | 2021-12-08 | 一种ble广播发送和接收方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114286290A CN114286290A (zh) | 2022-04-05 |
CN114286290B true CN114286290B (zh) | 2023-03-14 |
Family
ID=80871250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111490498.0A Active CN114286290B (zh) | 2021-12-08 | 2021-12-08 | 一种ble广播发送和接收方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114286290B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115884150B (zh) * | 2022-12-08 | 2024-04-05 | 重庆邮电大学 | 一种提高密集性ble主动扫描公平性的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635943A (zh) * | 2015-12-21 | 2016-06-01 | 中颖电子股份有限公司 | 一种基于低功耗蓝牙技术的数据交互方法以及采用该方法的信标装置和信标数据交互装置 |
CN108781410A (zh) * | 2017-03-14 | 2018-11-09 | 华为技术有限公司 | 一种扫描方法及设备 |
CN111343634A (zh) * | 2020-03-05 | 2020-06-26 | 深圳市丰鑫科技服务有限公司 | 低功耗蓝牙设备间安全连接方法及数据传输方法 |
CN111343614A (zh) * | 2019-12-31 | 2020-06-26 | 东南大学 | 一种面向ble主动扫描的快速发现机制 |
CN112672328A (zh) * | 2019-10-16 | 2021-04-16 | 阿里巴巴集团控股有限公司 | 数据传输方法、装置及设备及环境数据的获取方法 |
CN113748691A (zh) * | 2019-04-16 | 2021-12-03 | 华为技术有限公司 | 用于认证用户设备与车辆之间的连接的***和方法 |
-
2021
- 2021-12-08 CN CN202111490498.0A patent/CN114286290B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635943A (zh) * | 2015-12-21 | 2016-06-01 | 中颖电子股份有限公司 | 一种基于低功耗蓝牙技术的数据交互方法以及采用该方法的信标装置和信标数据交互装置 |
CN108781410A (zh) * | 2017-03-14 | 2018-11-09 | 华为技术有限公司 | 一种扫描方法及设备 |
CN113748691A (zh) * | 2019-04-16 | 2021-12-03 | 华为技术有限公司 | 用于认证用户设备与车辆之间的连接的***和方法 |
CN112672328A (zh) * | 2019-10-16 | 2021-04-16 | 阿里巴巴集团控股有限公司 | 数据传输方法、装置及设备及环境数据的获取方法 |
CN111343614A (zh) * | 2019-12-31 | 2020-06-26 | 东南大学 | 一种面向ble主动扫描的快速发现机制 |
CN111343634A (zh) * | 2020-03-05 | 2020-06-26 | 深圳市丰鑫科技服务有限公司 | 低功耗蓝牙设备间安全连接方法及数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114286290A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200205115A1 (en) | Wireless positioning method and system using the same | |
CN104471987B (zh) | 用于使用fils信标的ap发现的***和方法 | |
JP5658260B2 (ja) | 無線ネットワークの省電力動作のための遊休タイムアウトの報知時間のための方法及びシステム | |
CN105532065B (zh) | 用于OFDMA PS-Poll传输的***和方法 | |
CN103702391B (zh) | 一种无线通信的广播方法及设备、扫描方法及设备 | |
US11671918B2 (en) | Implementation of traffic coexistence for collocated transceivers including Bluetooth transceivers | |
US9628979B2 (en) | Method and apparatus for utilizing advertisements in conjunction with device discovery | |
US20190273545A1 (en) | 802.11 network-based csi obtaining method and apparatus | |
CN109963325B (zh) | 一种基于基站的定位方法、装置及设备 | |
CN114286290B (zh) | 一种ble广播发送和接收方法、装置及*** | |
CN103533606A (zh) | 无线局域网的信息传输方法及终端、接入设备 | |
US20240007947A1 (en) | Wireless fidelity wi-fi communication method and apparatus | |
CN103686610B (zh) | 一种无线通信的广播方法及设备 | |
US11121802B2 (en) | CSI obtaining method, server, terminal, and AP | |
CN103428815B (zh) | 无线局域网的接入方法、装置及*** | |
CN104754601A (zh) | 一种隐藏节点检测方法、网络节点及服务器 | |
CN114143864B (zh) | 通信方法及装置 | |
CN109104756B (zh) | 唤醒方法、接入点和站点 | |
US20240098692A1 (en) | Method for indicating validity of reference signal transmission occasion, and user equipment | |
CN112383386B (zh) | 数据传输方法、装置、计算机设备及计算机可读存储介质 | |
CN114828218A (zh) | 参考信号传输时机有效性的确定方法和用户设备 | |
WO2023024388A1 (zh) | 一种信息处理方法及通信装置 | |
WO2024041309A1 (zh) | 一种通信方法及装置 | |
CN110233630B (zh) | 移动终端数据处理方法、移动终端及存储介质 | |
US20210410004A1 (en) | Signaling transmission method and device, signaling receiption method and device, storage medium and terminal |
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 |