本发明主要涉及无线通信,尤其涉及一种低功耗蓝牙广播方法、装置和电子设备。
背景技术:
1、蓝牙低能耗(bluetooth low energy,ble)技术是低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4ghz ism射频频段,具有ble4.0、ble4.1、ble4.2和ble5.0等多个协议版本。在ble4.2中,由于ble402协议规范限制,低功耗蓝牙广播信道的协议数据单元(pdu,protocol data unit)最大长度仅37字节,除去广播地址和相关控制字段后,实际可用的数据长度仅28字节,可见,ble广播设备通过蓝牙广播发送的数据长度十分有限。
2、现有技术中,一般只会通过广播方式发送通用访问配置文件(gap,genericaccess profile)协议中定义的格式数据,如uuid(universally uniqueidentifier,通用唯一识别码)、服务名称或厂商自定义数据等,这些数据长度不会超过ble协议限制。当ble设备间需要传输更长的数据时,一般不使用广播包,而是使用连接方式,从机(slave)和主机(master)间先建立连接,再使用单播方式收发数据。但某些应用场景下,接收设备的数量远多于广播设备,如果发送方向接收方发送的数据内容相同,此时广播方式的效率要高于单播交互。例如,一个ble基站向周围几百~几千个电子价签同步相同的配置数据,如果采用单播连接方式,则每个电子价签都需要与基站先建立蓝牙连接,基站再向电子价签逐一发送数据,这种场景通过广播方式显然效率更高。此时,如果需要广播同步的数据长度超过ble协议规定的广播信道pdu长度限制,广播设备不能将全部数据填充入ble广播包。因此,由于ble的广播报文存在pdu长度限制,ble广播设备无法直接广播更长的数据。
技术实现思路
1、本发明要解决的技术问题是提供一种低功耗蓝牙广播方法、装置和电子设备,即使在低功耗蓝牙广播信道pdu的长度限制下,也能够利用较短的数据长度传输较长的目标数据。
2、为解决上述技术问题,第一方面,本发明提供了一种低功耗蓝牙广播方法,应用于发送端,包括:将需要广播的目标数据分片成若干分片数据;其中所述分片数据的长度小于广播信道的限制长度;对每个所述分片数据进行组装,形成广播报文;其中所述广播报文包括所述分片数据和属性数据,所述属性数据表示所述分片数据的数据特征;循环广播所述广播报文。
3、可选地,所述将需要广播的目标数据分片成若干分片数据还包括:若所述分片数据分为n片,则其中n-1片所述分片数据的长度相同。
4、可选地,在长度相同的n-1片所述分片数据中,每片所述分片数据的长度为23字节。
5、可选地,所述属性数据包括:目标数据身份标识、分片数据身份标识和所述分片数据的数量。
6、可选地,所述循环广播所述广播报文包括:由所述目标数据形成的若干所述广播报文依次广播,完成所述目标数据的全部所述广播报文广播后,进行下一次循环广播。
7、可选地,所述循环广播所述广播报文包括:在不同的所述广播信道上传输相同的所述广播报文。
8、可选地,在不同的所述广播信道上传输相同的所述广播报文还包括:广播相邻两个所述广播报文的时间间隔大于广播间隔与随机时间延迟之和,其中所述广播间隔为两个相邻的广播事件时间差。
9、可选地,所述时间间隔t设置为t=3*(tin+tde),其中tin为所述广播间隔的设定值,tde为所述随机时间延迟的最大值。
10、可选地,在所述循环广播所述广播报文过程中,若循环广播时长已达到最大广播时间,则结束发送所述广播报文。
11、第二方面,本发明提供了一种低功耗蓝牙广播方法,应用于接收端,包括:在广播信道上监听广播报文;其中所述广播报文是由目标数据分片成若干分片数据,再将所述分片数据组装而成;若接收到的所述广播报文与已缓存的所述广播报文属于同一个所述目标数据,则对接收到的所述广播报文进行缓存,并继续监听未缓存的所述广播报文;若接收到的所述广播报文与已缓存的所述广播报文相同,则忽略当前接收到的所述广播报文;当接收到同一个所述目标数据的所有所述广播报文后,将所述广播报文中的所述分片数据重组成所述目标数据。
12、可选地,所述方法还包括:若接收到的所述广播报文与当前缓存的所述广播报文不属于同一个所述目标数据,则清空已缓存的所述广播报文。
13、可选地,所述方法还包括:以目标数据身份标识区分不同的所述目标数据,以分片数据身份标识区分不同的所述分片数据;所述目标数据身份标识相同,则表明所述广播报文属于同一个所述目标数据,所述分片数据身份标识相同,则表明所述分片数据相同。
14、第三方面,本发明提供了一种低功耗蓝牙广播装置,应用于发送端,其特征在于,包括:分片模块,用于将需要广播的目标数据分片成若干分片数据;其中所述分片数据的长度小于广播信道的限制长度;组装模块,用于对每个所述分片数据进行组装,形成广播报文;其中所述广播报文包括所述分片数据和属性数据,所述属性数据表示所述分片数据的数据特征;广播模块,用于循环广播所述广播报文。
15、第四方面,本发明提供了一种低功耗蓝牙广播装置,应用于接收端,其特征在于,包括:监听模块,用于在广播信道上监听广播报文;其中所述广播报文是由目标数据分片成若干分片数据,再将所述分片数据组装而成;缓存模块,用于若接收到的所述广播报文与已缓存的所述广播报文属于同一个所述目标数据,则对接收到的所述广播报文进行缓存,并继续监听未缓存的所述广播报文;若接收到的所述广播报文与已缓存的所述广播报文相同,则忽略当前接收到的所述广播报文;重组模块,用于当接收到同一个所述目标数据的所有所述广播报文后,将所述广播报文中的所述分片数据重组成所述目标数据。
16、第五方面,本发明提供了一种电子设备,包括:处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面或第二方面所述的低功耗蓝牙广播方法的步骤。
17、第六方面,本发明提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面或第二方面所述的低功耗蓝牙广播方法的步骤。
18、与现有技术相比,本发明具有以下优点:将需要广播的目标数据分片成若干分片数据,其中分片数据的长度小于广播信道的限制长度;对每个分片数据进行组装,形成广播报文,其中广播报文包括分片数据和属性数据,属性数据表示分片数据的数据特征;循环广播广播报文,使用该方式可以在低功耗蓝牙广播信道pdu的长度限制下,利用较短的数据长度传输较长的目标数据。
1.一种低功耗蓝牙广播方法,应用于发送端,其特征在于,包括:
2.如权利要求1所述的低功耗蓝牙广播方法,其特征在于,所述将需要广播的目标数据分片成若干分片数据还包括:
3.如权利要求2所述的低功耗蓝牙广播方法,其特征在于,在长度相同的n-1片所述分片数据中,每片所述分片数据的长度为23字节。
4.如权利要求1所述的低功耗蓝牙广播方法,其特征在于,所述属性数据包括:目标数据身份标识、分片数据身份标识和所述分片数据的数量。
5.如权利要求1所述的低功耗蓝牙广播方法,其特征在于,所述循环广播所述广播报文包括:由所述目标数据形成的若干所述广播报文依次广播,完成所述目标数据的全部所述广播报文广播后,进行下一次循环广播。
6.如权利要求1所述的低功耗蓝牙广播方法,其特征在于,所述循环广播所述广播报文包括:在不同的所述广播信道上传输相同的所述广播报文。
7.如权利要求6所述的低功耗蓝牙广播方法,其特征在于,在不同的所述广播信道上传输相同的所述广播报文还包括:广播相邻两个所述广播报文的时间间隔大于广播间隔与随机时间延迟之和,其中所述广播间隔为两个相邻的广播事件时间差。
8.如权利要求7所述的低功耗蓝牙广播方法,其特征在于,所述时间间隔t设置为t=3*(tin+tde),其中tin为所述广播间隔的设定值,tde为所述随机时间延迟的最大值。
9.如权利要求1所述的低功耗蓝牙广播方法,其特征在于,在循环广播所述广播报文过程中,若循环广播时长已达到最大广播时间,则结束发送所述广播报文。
10.一种低功耗蓝牙广播方法,应用于接收端,其特征在于,包括:
11.如权利要求10所述的低功耗蓝牙广播方法,其特征在于,所述方法还包括:若接收到的所述广播报文与当前缓存的所述广播报文不属于同一个所述目标数据,则清空已缓存的所述广播报文。
12.如权利要求11所述的低功耗蓝牙广播方法,其特征在于,所述方法还包括:以目标数据身份标识区分不同的所述目标数据,以分片数据身份标识区分不同的所述分片数据;所述目标数据身份标识相同,则表明所述广播报文属于同一个所述目标数据,所述分片数据身份标识相同,则表明所述分片数据相同。
13.一种低功耗蓝牙广播装置,应用于发送端,其特征在于,包括:
14.一种低功耗蓝牙广播装置,应用于接收端,其特征在于,包括:
15.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-12任一项所述的低功耗蓝牙广播方法的步骤。
16.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-12任一项所述的低功耗蓝牙广播方法的步骤。