CN109286919B - Ble设备及其数据包接收方法、计算机可读存储介质 - Google Patents
Ble设备及其数据包接收方法、计算机可读存储介质 Download PDFInfo
- Publication number
- CN109286919B CN109286919B CN201710597806.7A CN201710597806A CN109286919B CN 109286919 B CN109286919 B CN 109286919B CN 201710597806 A CN201710597806 A CN 201710597806A CN 109286919 B CN109286919 B CN 109286919B
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- packet
- energy
- judging
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种BLE设备及其数据包接收方法、计算机可读存储介质,所述方法包括:接收数据包,并对所接收到的数据包进行解析;判断所述数据包中是否存在未解析的有效数据;当所述数据包中存在未解析的有效数据时,对所述数据包进行解析,直至检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。上述方案能够有效避免负载长度信息被误解析,提高BLE设备的吞吐量。
Description
技术领域
本发明实施例涉及蓝牙低功耗领域,尤其涉及一种BLE设备及其数据包接收方法、计算机可读存储介质。
背景技术
蓝牙低功耗(Bluetooth Low Energy,BLE)技术是低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz ISM射频频段。
在BLE 5.0中,包括两种数据包:广播信道协议数据单元(advertising channelprotocol data unit)以及数据信道协议数据单元(data channel protocol data unit)。针对广播信道协议数据单元以及数据信道协议数据单元,负载(payload)的长度(length)均由包头中的最后8比特决定。
在无线通信环境下,如果空口环境较为嘈杂,可能会存在负载的长度信息被误解析的情况,例如,将短包误解析为长包,或者将长包误解析为短包,导致BLE设备吞吐恶化。
发明内容
本发明实施例解决的是如何避免负载长度信息被误解析,提高BLE设备吞吐量。
为解决上述技术问题,本发明实施例提供一种BLE设备的数据包接收方法,包括:接收数据包,并对所接收到的数据包进行解析;判断所述数据包中是否存在未解析的有效数据;当所述数据包中存在未解析的有效数据时,对所述数据包进行解析,直至检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
可选的,所述判断所述数据包中是否存在未解析的有效数据,包括:判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据。
可选的,所述判断所述数据包是否存在有效数据,包括:判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据。
可选的,所述判断所述数据包的信号能量是否大于预设能量,包括:判断所述数据包的接收信号强度指示是否大于预设值;当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
本发明实施例还提供了一种BLE设备,包括:接收单元,用于接收数据包;判断单元,用于判断所述数据包中是否存在未解析的有效数据;解析单元,用于对所接收到的数据包进行解析,直至所述判断单元检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
可选的,所述判断单元,用于判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据。
可选的,所述判断单元,用于判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据。
可选的,所述判断单元,用于判断所述数据包的接收信号强度指示是否大于预设值;当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种所述的BLE设备的数据包接收方法的步骤。
本发明实施例还提供了一种BLE设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一种所述的BLE设备的数据包接收方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在对接收到的数据包进行解析的过程中,判断接收到的数据包中是否存在未解析的有效数据。当数据包中存在未解析的有效数据时,继续对数据包进行解析,直至检测到数据包中不存在未解析的有效数据。由于在对数据包的解析过程中实时检测是否存在未解析的有效数据,因此即便负载长度信息被误解析,也可以正常对数据包进行解析,因此可以提高BLE设备吞吐量。
附图说明
图1是本发明实施例中的一种BLE设备的数据包接收方法的流程图;
图2是本发明实施例中的一种BLE设备的结构示意图。
具体实施方式
在BLE 5.0中,针对广播信道协议数据单元以及数据信道协议数据单元,负载(payload)的长度(length)均由包头中的最后8比特决定。在无线通信环境下,如果空口环境较为嘈杂,可能会存在负载的长度信息被误解析的情况。例如,将短包误解析为长包,或者将长包误解析为短包。当将负载的长度信息由短包误解析为长包时,由于一个长包的最长的包长可达17040μs,因此会导致最大17040μs的空口时间的浪费,造成BLE设备的吞吐量恶化。当将负载的长度信息由长包误解析为短包时,在空口资源还没有被完全释放时占用空口资源,导致空口资源利用率低下。
在本发明实施例中,在对数据包的解析过程中实时检测是否存在未解析的有效数据,因此即便负载长度信息被误解析,也可以正常对数据包进行解析,因此可以提高BLE设备吞吐量。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供了一种BLE设备的数据包接收方法,参照图1,以下通过具体步骤进行详细说明。
步骤S101,接收数据包,并对所接收到的数据包进行解析。
在实际应用中可知,蓝牙设备在进行通信时,由主设备进行设备查找,查找当前工作范围内所存在的从设备。主设备在找到从设备后,发起配对,与查找到的从设备建立通信。蓝牙设备在进行通信的过程中,主设备向从设备发送数据包,从设备接收主设备发送的数据包。在通信的过程中,主设备与从设备之间的主从关系可以互换。
在具体实施中,BLE设备在接收到主设备发送的数据包之后,即可对接收到的数据包进行解析。
步骤S102,判断所述数据包中是否存在未解析的有效数据。
在具体实施中,在对数据包进行解析的过程中,可以实时判断数据包中是否存在未解析的有效数据。当判定数据包中仍存在未解析的有效数据时,执行步骤S103;当判定数据包中存在未解析的有效数据时,执行步骤S104。
在实际应用中可知,BLE设备发送的数据包通常由前导码(Preamble)、接入地址(Access Address)、协议数据单元(Protocol Data Unit,PDU)以及循环冗余校验(CyclicRedundancy Check,CRC)等部分组成,且上述几个部分在数据包中所占位置的顺序依次为:前导码、接入地址、PDU以及CRC。
在对接收到的数据包进行解析时,先解析前导码,再解析接入地址、PDU等,因此,在判断接收到的数据包中是否存在未解析的有效数据之前,可以先判断是否解析到接收到的数据包中的PDU的包头(header)。当检测到解析到数据包中的PDU包头时,即可判断数据包中是否存在未解析的有效数据。反之,当检测到尚未解析到数据包中的PDU包头时,则无需执行步骤S102。
在具体实施中,在判断数据包中是否存在有效数据时,可以判断在对数据包进行解析时,数据包的信号能量是否大于预设能量。当数据包的信号能量不小于预设能量时,判定数据包中存在有效数据;反之,当数据包的信号能量小于预设能量时,判定数据包中不存在有效数据。
在实际应用中可知,当信号中携带有效数据时,其对应的信号能量要大于信号中没有携带有效数据时对应的信号能量。因此,预先设置一个能量阈值作为预设能量,通过判断数据包的信号能量是否大于预设能量来检测数据包中是否存在未解析的有效数据。
在设置预设能量时,可以根据应用场景进行设置。预设能量应大于噪声信号对应的信号能量且小于有效数据对应的信号能量。
在判断数据包的信号能量是否大于预设能量时,可以判断数据包的接收信号强度指示(Received Signal Strength Indication,RSSI)是否大于预设值。当数据包的RSSI大于预设值时,判定数据包的信号能量不小于预设能量;当数据包的RSSI小于预设值时,判定数据包的信号能量小于预设能量。
步骤S103,对所述数据包进行解析。
在具体实施中,当检测到数据包中仍存在未解析的有效数据时,继续对数据包进行解析。并在解析过程中,继续执行步骤S102,也即在解析过程中实时检测是否存在未解析的有效数据,
步骤S104,完成所述数据包接收。
在具体实施中,当检测到数据包中不存在未解析的有效数据时,则可以判定完成对接收到的数据包的解析,此时即可完成对数据包的接收。
在现有技术中,在无线通信环境下,当空口环境噪声较大时,可能会出现PDU负载的长度信息被误解析的情况。例如,当空口环境噪声较大时,将负载的长度信息由长包误解析为短包,或者将负载的长度信息由短包误解析为长包,造成空口资源利用率低下,BLE设备吞吐量低下。
而在本发明实施例中,在对接收到的数据包进行解析的过程中,判断接收到的数据包中是否存在未解析的有效数据。当数据包中存在未解析的有效数据时,继续对数据包进行解析,直至检测到数据包中不存在未解析的有效数据。也就是说,在本发明实施例中,在对数据包进行解析时,并不根据所解析得到的负载长度信息来对数据包进行相应长度信息的解析,而是根据数据包中是否仍存在有效数据来进行解析。当数据包中存在有效数据时,继续对数据包进行解析;当数据包中不存在有效数据时,则完成数据包接收。
当空口环境的噪声较大时,假设解析得到的负载长度信息由短包被误解析为长包,由于并不根据解析得到的负载长度信息对数据包进行相应长度信息的解析,而是直接对负载进行解析,并在解析过程中实时检测是否存在未解析的有效数据。由于负载的实际是短包,因此,在正常的短包解析时间内即可完成对有效数据的解析,而不是根据长包的解析时间来对接收到的数据包进行解析,因此可以有效避免将短包误解析为长包而导致的空口资源浪费。
相应地,当空口环境的噪声较大时,假设解析得到的负载长度信息由长包误解析为短包,在达到正常的短包解析时间时,检测到数据包中仍存在未解析的有效数据,因此继续对数据包进行解析,而不是在达到短包解析时间时就结束对数据包的解析,因此可以提高空口资源的利用率。
参照图2,本发明实施例提供了一种BLE设备,包括:接收单元201、判断单元202以及解析单元203,其中:
接收单元201,用于接收数据包;
判断单元202,用于判断所述数据包中是否存在未解析的有效数据;
解析单元203,用于对所接收到的数据包进行解析,直至所述判断单元检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
在具体实施中,所述判断单元202,可以用于判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据。
在具体实施中,所述判断单元202,可以用于判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据。
在具体实施中,所述判断单元202,可以用于判断所述数据包的接收信号强度指示是否大于预设值;当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行本发明上述实施例中提供的BLE设备的数据包接收方法的步骤。
本发明实施例还提供了另一种BLE设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行本发明上述实施例中提供的BLE设备的数据包接收方法的步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (6)
1.一种BLE设备的数据包接收方法,其特征在于,包括:
接收数据包,并对所接收到的数据包进行解析;
判断所述数据包中是否存在未解析的有效数据,包括:判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据;所述判断所述数据包是否存在有效数据,包括:判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据;
当所述数据包中存在未解析的有效数据时,对所述数据包进行解析,直至检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
2.如权利要求1所述的BLE设备的数据包接收方法,其特征在于,所述判断所述数据包的信号能量是否大于预设能量,包括:
判断所述数据包的接收信号强度指示是否大于预设值;
当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
3.一种BLE设备,其特征在于,包括:
接收单元,用于接收数据包;
判断单元,用于判断所述数据包中是否存在未解析的有效数据,包括:判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据;所述判断所述数据包是否存在有效数据,包括:判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据;
解析单元,用于对所接收到的数据包进行解析,直至所述判断单元检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
4.如权利要求3所述的BLE设备,其特征在于,所述判断单元,用于判断所述数据包的接收信号强度指示是否大于预设值;当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
5.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1或2所述的BLE设备的数据包接收方法的步骤。
6.一种BLE设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1或2所述的BLE设备的数据包接收方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710597806.7A CN109286919B (zh) | 2017-07-20 | 2017-07-20 | Ble设备及其数据包接收方法、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710597806.7A CN109286919B (zh) | 2017-07-20 | 2017-07-20 | Ble设备及其数据包接收方法、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109286919A CN109286919A (zh) | 2019-01-29 |
CN109286919B true CN109286919B (zh) | 2021-09-14 |
Family
ID=65185052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710597806.7A Active CN109286919B (zh) | 2017-07-20 | 2017-07-20 | Ble设备及其数据包接收方法、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109286919B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095907B (zh) * | 2021-10-28 | 2024-07-02 | 东集技术股份有限公司 | 蓝牙连接的控制方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958902A (zh) * | 2010-09-30 | 2011-01-26 | 北京锐安科技有限公司 | 一种网络数据包的解析方法与装置 |
CN103973387A (zh) * | 2013-01-30 | 2014-08-06 | 电信科学技术研究院 | 一种维护时隙状态信息的方法及装置 |
CN106658576A (zh) * | 2016-10-19 | 2017-05-10 | 北京三快在线科技有限公司 | 一种数据处理方法、装置以及网络*** |
CN106658513A (zh) * | 2017-01-11 | 2017-05-10 | 深圳市金立通信设备有限公司 | 一种无线网络的安全检测方法、终端及服务器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9577796B2 (en) * | 2013-05-24 | 2017-02-21 | Aruba Networks, Inc. | Mitigating interference in wireless systems |
US20160162980A1 (en) * | 2014-12-09 | 2016-06-09 | Opnia LLC | Internet of things device management platform |
US9734682B2 (en) * | 2015-03-02 | 2017-08-15 | Enovate Medical, Llc | Asset management using an asset tag device |
CN205484454U (zh) * | 2016-01-08 | 2016-08-17 | 辽宁北方节能股份有限公司 | 一种ble蓝牙低功耗智能电能表 |
CN105676860A (zh) * | 2016-03-17 | 2016-06-15 | 歌尔声学股份有限公司 | 一种可穿戴设备、无人机控制装置和控制实现方法 |
-
2017
- 2017-07-20 CN CN201710597806.7A patent/CN109286919B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958902A (zh) * | 2010-09-30 | 2011-01-26 | 北京锐安科技有限公司 | 一种网络数据包的解析方法与装置 |
CN103973387A (zh) * | 2013-01-30 | 2014-08-06 | 电信科学技术研究院 | 一种维护时隙状态信息的方法及装置 |
CN106658576A (zh) * | 2016-10-19 | 2017-05-10 | 北京三快在线科技有限公司 | 一种数据处理方法、装置以及网络*** |
CN106658513A (zh) * | 2017-01-11 | 2017-05-10 | 深圳市金立通信设备有限公司 | 一种无线网络的安全检测方法、终端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109286919A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9867140B2 (en) | Random access techniques for fixed devices in mobile broadband networks | |
WO2018000841A1 (zh) | 一种harq重传的指示方法及相关设备 | |
US20180109970A1 (en) | Method and apparatus for performing a fine timing measurement in a wireless network | |
US20170201985A1 (en) | Transmission Method and Communications Device | |
US10149202B2 (en) | System and method for response frame type indication | |
US10827412B2 (en) | Ultra-reliable communication reliability and detection in mobile networks | |
CN108123775B (zh) | 传输数据包的方法和设备 | |
CN106658756B (zh) | 一种终端设备与热点连接的识别方法及装置 | |
US11172442B2 (en) | Method and apparatus for indicating a system information block change | |
US9473961B2 (en) | Method and apparatus for handling address conflict | |
US9603154B2 (en) | Method for transmitting data signal and user equipment | |
CN102938903B (zh) | 一种避免测量时机与数据传输时机冲突的方法及装置 | |
US9560674B2 (en) | Virtual busy-tone for full-duplex wireless networks | |
CN114362885A (zh) | 物联网数据传输方法、装置、设备和介质 | |
JP2019161290A (ja) | センサ装置、無線品質分析装置、無線品質監視システム、データ取得方法、および、プログラム | |
CN113260021A (zh) | 接入控制方法、装置、用户设备及存储介质 | |
CN109286919B (zh) | Ble设备及其数据包接收方法、计算机可读存储介质 | |
US10499423B2 (en) | Channel allocation system and method for accommodating multiple nodes in sensor network | |
EP2840838B1 (en) | Network discovery method, access point, and terminal device | |
KR20170126879A (ko) | 믹싱된 무선 통신 시스템에서의 선택적 경합을 위한 방법들 및 장치 | |
US9838907B2 (en) | Methods and devices for transmitting frame in network | |
CN112953674B (zh) | 一种速率匹配方法、网络设备以及用户设备 | |
EP4319410A1 (en) | Method for detecting pscch, and communication apparatus | |
CN113973331B (zh) | 一种异常终端设备的检测方法及装置 | |
US20210410223A1 (en) | Signaling transmission method and device, signaling reception 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 |