基于蓝牙的数据通信方法、存储介质和电子设备技术

技术编号:22060899 阅读:43 留言:0更新日期:2019-09-07 18:16
本发明专利技术实施例提供一种基于蓝牙的数据通信方法、存储介质和电子设备。基于蓝牙的数据通信方法包括:通过蓝牙模块接收定向给本设备的广播消息;确定所述广播消息发自符合白名单过滤规则的外部设备;构建附有数据载荷字段的扫描请求数据包,将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备。由此,能够在蓝牙网络的低功耗设备自省电状态进入工作状态时,在从低功耗设备接收到定向给好友设备的广播消息之后,在低功耗设备及其好友设备之间实现双向的数据通信,从而提高数据通信的效率,为低功耗设备节省功耗。

Data Communication Method, Storage Media and Electronic Equipment Based on Bluetooth

【技术实现步骤摘要】
基于蓝牙的数据通信方法、存储介质和电子设备
本专利技术实施例涉及无线通信技术,尤其涉及一种基于蓝牙的数据通信方法、存储介质和电子设备。
技术介绍
低功耗蓝牙(BLE)的广播具有可连接(connectable)、可扫描(scannable)、是否定向(directed)等三种属性。这些属性相互组合,构成了低功耗蓝牙的以下七种广播事件:·可连接可扫描非定向(aconnectableandscannableundirectedevent);·可连接非定向(aconnectableundirectedevent);·可连接定向(aconnectabledirectedevent);·不可连接不可扫描非定向(anon-connectableandnon-scannableundirectedevent);·不可连接不可扫描定向(anon-connectableandnon-scannabledirectedevent);·可扫描非定向(ascannableundirectedevent);·可扫描定向(ascannabledirectedevent)。其中,对于可扫描广播,发送方的流程为:1.发送可扫描广播;2.等待一定时间间隔(T_IFS);3.在同一信道上尝试接收扫描请求;4.如果收到了扫描请求,并且符合过滤条件,则发送扫描响应数据包。可扫描广播的扫描方(处于ActiveScanning模式下)在接收到可扫描广播后的处理流程为:1.等待一定时间间隔(T_IFS);2.在同一信道上发送扫描请求;3.等待一定时间间隔(T_IFS);4.在同一信道上尝试开始接收扫描响应。蓝牙网状规范(BluetoothMeshProfile)提供了一种基于低功耗蓝牙的网状网络解决方案。在蓝牙网状规范中,一个节点可以有中继(Relay)、代理(Proxy)、低功耗(Lowpower)、好友(Friend)等4种特性。除代理(Proxy)及基于GATT的配网(Provision)使用连接模式传输数据以外,在其它情况下均使用不可连接不可扫描非定向的广播传输数据。低功耗节点可以与支持好友特性的节点建立好友关系,然后低功耗节点即可进入低功耗工作模式,期间由好友节点缓存其它节点要发送给该低功耗节点的消息。由此,低功耗节点可以较低的频率发送轮询请求从好友获取数据,不再需要长时间监听来自其它节点的消息,降低了功耗。然而,现有的方案存在这样的问题:低功耗节点在发送轮询请求后,仍需要在一定时间内(由接收窗口参数决定,范围为1~255ms)处于扫描模式,由此将继续产生功耗。
技术实现思路
本专利技术实施例的目的在于,提供一种基于广播的数据通信方案,以在低功耗节点和好友节点之间实现双向数据通信,节省功耗。根据本专利技术实施例的第一方面,提供一种基于蓝牙的数据通信方法,包括:通过蓝牙模块接收定向给本设备的广播消息;确定所述广播消息发自符合白名单过滤规则的外部设备;构建附有数据载荷字段的扫描请求数据包,将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备。可选地,所述待传输消息中含有指示是否存在其他待传输消息的数据标记;所述将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,还包括:确定是否存在待传输给所述外部设备的其他待传输消息;根据是否存在待传输给所述外部设备的其他待传输消息的确定结果,在所述待传输消息中写入所述数据标记的值。可选地,所述符合白名单过滤规则的外部设备为蓝牙网状网中与本设备具有好友关系的低功耗设备,所述广播消息为FriendPoll消息,所述待传输消息为FriendUpdate消息,所述数据标记为所述FriendUpdate消息中的MD域。可选地,所述构建附有数据载荷字段的扫描请求数据包,将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备,包括:如果确定网络安全参数正在更新或已更新,则构建附有数据载荷字段的扫描请求数据包,将相应的FriendUpdate消息作为待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备,其中,根据本设备缓存的待传输给所述外部设备的消息队列是否为空,写入所述FriendUpdate消息中的MD域的值。可选地,所述构建附有数据载荷字段的扫描请求数据包,将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备,还包括:如果确定当前网络安全参数没有正在更新或没有已被更新,且所述消息队列不为空,则执行以下消息发送处理:构建附有数据载荷字段的扫描请求数据包;从所述消息队列取出一条FriendUpdate消息;将该FriendUpdate消息的Flags域设置为0;如果取出的FriendUpdate消息不是所述消息队列中的最后一条消息,则该FriendUpdate消息的MD域设置为1;如果取出的FriendUpdate消息是所述消息队列中的最后一条消息,则该FriendUpdate消息的MD域设置为0;将该FriendUpdate消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备。根据本专利技术实施例的第二方面,提供一种基于蓝牙的数据通信方法,包括:通过蓝牙模块发送定向给符合白名单过滤规则的外部设备的第一广播消息;接收第一扫描请求数据包;如果确定接收到的第一扫描请求数据包发自符合白名单过滤规则的外部设备,则发送与所述第一扫描请求数据包相应的第一扫描响应数据包,并且如果所述第一扫描请求数据包附有数据载荷字段,则从所述第一扫描请求数据包中的所述数据载荷字段提取第一待处理消息,并且对所述第一待处理消息进行处理。可选地,所述第一待处理消息中含有指示是否存在其他待处理消息的数据标记;所述对所述第一待处理消息进行处理,包括:获取所述第一待处理消息中的数据标记的数据;如果所述数据标记的数据指示存在其他待处理消息,则通过蓝牙模块再次发送定向给所述外部设备的第二广播消息,并且从接收的第二扫描请求数据包中的所述数据载荷字段提取第二待处理消息,直到所述第二待处理消息中的数据标记指示不存在其他待处理消息为止。可选地,所述符合白名单过滤规则的外部设备为蓝牙网状网中与本设备具有好友关系的设备,所述广播消息为FriendPoll消息,所述第一待处理消息和第二待处理消息均为FriendUpdate消息,所述FriendUpdate消息中含有指示是否存在其他待处理消息的MD域。根据本专利技术实施例的第三方面,提供一种第一计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现前述第一方面的任一基于蓝牙的数据通信方法的步骤。根据本专利技术实施例的第四方面,提供一种第二计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现前述第二方面的任一基于蓝牙的数据通信方法的步骤。根据本专利技术实施例的第五方面,提供一种第一电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;本文档来自技高网
...

【技术保护点】
1.一种基于蓝牙的数据通信方法,包括:通过蓝牙模块接收定向给本设备的广播消息;确定所述广播消息发自符合白名单过滤规则的外部设备;构建附有数据载荷字段的扫描请求数据包,将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备。

【技术特征摘要】
1.一种基于蓝牙的数据通信方法,包括:通过蓝牙模块接收定向给本设备的广播消息;确定所述广播消息发自符合白名单过滤规则的外部设备;构建附有数据载荷字段的扫描请求数据包,将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备。2.根据权利要求1所述的方法,其中,所述待传输消息中含有指示是否存在其他待传输消息的数据标记;所述将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,还包括:确定是否存在待传输给所述外部设备的其他待传输消息;根据是否存在待传输给所述外部设备的其他待传输消息的确定结果,在所述待传输消息中写入所述数据标记的值。3.根据权利要求2所述的方法,其中,所述符合白名单过滤规则的外部设备为蓝牙网状网中与本设备具有好友关系的低功耗设备,所述广播消息为FriendPoll消息,所述待传输消息为FriendUpdate消息,所述数据标记为所述FriendUpdate消息中的MD域。4.根据权利要求3所述的方法,其中,所述构建附有数据载荷字段的扫描请求数据包,将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备,包括:如果确定网络安全参数正在更新或已更新,则构建附有数据载荷字段的扫描请求数据包,将相应的FriendUpdate消息作为待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备,其中,根据本设备缓存的待传输给所述外部设备的消息队列是否为空,写入所述FriendUpdate消息中的MD域的值。5.根据权利要求4所述的方法,其中,所述构建附有数据载荷字段的扫描请求数据包,将待传输给所述外部设备的待传输消息写入构建的扫描请求数据包中的数据载荷字段,并且将所述扫描请求数据包发送给所述外部设备,还包括:如果确定当前网络安全参数没有正在更新或没有已被更新,且所述消息队列不为空,则执行以下消息发送处理:构建附有数据载荷字段的扫描请求数据包;从所述消息队列取出一条FriendUpdate消息;将该FriendUpdate消息的Flags域设置为0;如果取出的FriendUpdate消息不是所述消息队列中的最后一条消息,则该FriendUpdate消息的MD域设置为1;如果取出的FriendUpdate消息是所述消息队列中的最后一条消息,则该Friend...

【专利技术属性】
技术研发人员:厉正吉王治平
申请(专利权)人:桃芯科技苏州有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1