一种支持蓝牙设备自动组网的方法与流程

文档序号:27683003发布日期:2021-12-01 00:22阅读:80来源:国知局
1.本技术涉及终端和数据通信
技术领域
:,具体涉及终端和蓝牙通信技术,尤其涉及一种支持蓝牙设备自动组网的方法。
背景技术
::2.当今,大多智能终端设备都支持蓝牙通信技术。目前,每个蓝牙设备投入使用时都需要重新设置一遍配置数据,而无法做到将已配置好的数据自动复制到或传送给其他设备,使之自动匹配以供使用。3.究其基本原因在于,设备之间缺少可以相互通信的组网环境。具体地,设备之间缺少共享数据的蓝牙网络环境,因此不能为上层应用自动同步数据提供基础能力。4.因此,本领域中对于终端设备在通过蓝牙建立连接后,能够自动组建蓝牙网络,从而自动实现通信网络内终端设备间的收据共享存在极大的需求。技术实现要素:5.以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在标识出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以作为稍后给出的更加详细的描述之序。6.本技术在常用于蓝牙连接的lmp(linkmanagerprotocol,链路管理协议,用于链接设置和控制)基础协议和l2cap(logicallinkcontrolandadaptionprotocol,链路控制和适配协议)协议的基础上,通过自定义的用于蓝牙自动组网的zjbtprofile协议服务接口实现了蓝牙自动组网和数据共享(传输)的能力。7.本技术在lmp基础协议和l2cap协议基础上,通过自定义zjbnb协议,在终端设备通过蓝牙建立连接后自动组建蓝牙网络,从而顺利实现通信网内终端设备数据共享以及彼此通信。8.根据本技术的一方面,提供了一种用于蓝牙设备自动组建蓝牙网络的方法,该方法包括:将设备初始化;经由简单配对方式与其它设备建立蓝牙连接并进行认证;若认证成功,则加入现有蓝牙网络,否则,创建新的蓝牙网络。9.在本发明的优选实施例中,将设备初始化包括向设备提供网络id,其中该网络id由crm受理系统或者装维人员写入设备中。进行认证包括:搜集其它设备的网络id并比较是否与设备的网络id相同,若相同,则认证成功。加入现有蓝牙网络进一步包括:同步设备信息;以及更新本地路由表。同步设备信息包括:请求获取其它设备的信息并将其添加到本地网络设备信息列表中,以及更新本地路由表包括:获取其它设备的路由表并建立本地路由表,将本地路由表传送给其它设备使其同步更新路由表。10.在本发明的优选实施例中,设备、其它设备中的每一者在蓝牙协议栈中加载蓝牙组网协议配置文件,该蓝牙组网协议配置文件包括以下服务:11.datatransmitservice,用于为上层协议提供数据传送能力;12.routetableservice,用于通过查询蓝牙设备的本地路由表,为datatransmitservice服务数据的传送提供路由策略查询能力以提供下一跳设备信息;13.routetableupdateservice,用于为蓝牙网络维护更新设备的本地路由表,并通过datatransmitservice服务向其他设备通知本地路由表的更新;14.bluetoothnetservice,用于向上层协议提供网络信息查询接口能力;15.bluetoothnetupdateservice,用于在初始化以及网络更新时向上层协议提供网络信息更新。16.其中该蓝牙组网协议配置文件与蓝牙基础协议,诸如链路管理协议lmp和链路控制和适配协议l2cap是相兼容的。并且,创建新的蓝牙网络包括用网络id标识新网络并创建本地路由表。17.根据本技术的另一方面,提供了一种通过蓝牙在源设备与目的设备之间建立点对点通信的方法,包括:源设备查询本地路由表中的下一跳设备;若下一跳设备是目的设备,则建立与下一跳设备的点对点蓝牙通信并进行数据传送,流程结束,若下一跳设备不是目的设备,则执行以下操作:18.建立与下一跳设备的点对点蓝牙通信并进行数据传送,下一跳设备查询本地路由表以与其中的下一跳设备建立蓝牙配对连接并进行相应的认证过程;重复以上步骤直至数据传送给目的设备,流程结束。19.如果数据传送失败,则通知源设备使其更新其本地路由表,并同步路由信息。20.为能达成前述及相关目的,这一个或多个方面包括在下文中充分描述并在所附权利要求中特别指出的特征。以下描述和附图详细阐述了这一个或多个方面的某些解说性特征。但是,这些特征仅仅是指示了可采用各种方面的原理的各种方式中的若干种,并且本描述旨在涵盖所有此类方面及其等效方案。附图说明21.为了能详细理解本技术的以上陈述的特征所用的方式,可参照各方面来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中解说。然而应该注意,附图仅解说了本技术的某些典型方面,故不应被认为限定其范围,因为本描述可允许有其他等同有效的方面。22.在附图中:23.图1是解说用于蓝牙设备自动组建蓝牙网络的方法100的流程图;以及24.图2是解说通过蓝牙在源设备与目的设备之间建立点对点通信的方法200的流程图。25.详细描述26.以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文所描述的概念的仅有配置。本详细描述包括具体细节以提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在某些实例中,以框图形式示出众所周知的组件以便避免淡化此类概念。27.应当理解,基于本公开,其他实施例将是显而易见的,并且可以在不脱离本公开的范围的情况下做出系统、结构、过程或机械改变。28.如上所述,本技术在常用的蓝牙协议lmp和l2cap的基础上,通过自定义的用于蓝牙自动组网的zjbtprofile协议服务接口实现了蓝牙自动组网和数据共享(传输)的能力。29.本技术涉及的终端设备,需要支持蓝牙通信协议ssp(securesimplepairing,安全简单配对)的justworks模式。也就是说,蓝牙终端与手机等智能终端之间无需输入pin码即可建立连接。30.本技术所涉及的、支持蓝牙通信协议的终端设备需要在蓝牙协议栈中加载本技术提出的zjbtprofile(蓝牙组网协议)。其中本技术提出的zjbtprofile定义了:家居设备组建蓝牙网络所需要具备的基础能力;数据在蓝牙网络环境下进行通信的方法。31.众所周知,在蓝牙通信协议中,配置文件(profile)定义了设备如何实现一种连接或者应用。本技术涉及的zjbtprofile(蓝牙组网协议)基本结构如下表所示:[0032][0033][0034]zjbnbprofile的底层协议是lmp(链路管理)协议和l2cap(链路控制和适配)协议。lmp是标准蓝牙通信协议,用于蓝牙终端设备之间配对和认证,l2cap是标准蓝牙通信协议,用于建立蓝牙设备之间点对点数据传输通道。[0035]本发明提出的zjbnbprofile对外提供如下五个服务:[0036]datatransmitservice:数据传送服务;[0037]routetableservice:路由表查询服务;[0038]routetableupdateservice:路由表更新服务;[0039]bluetoothnetservice:蓝牙网络服务;以及[0040]bluetoothnetupdateservice:蓝牙网络更新服务。[0041]其中,datatransmitservice服务为上层协议(应用)提供数据传送能力,通过在服务中指定源设备、目标设备、下一跳设备等信息,将数据通过设备间建立的点对点l2cap蓝牙传输链路由源设备传送到目标设备。[0042]routetableservice服务通过查询蓝牙设备的本地路由表,为datatransmitservice服务数据的传送提供路由策略查询能力,提供下一跳设备信息。[0043]routetableupdateservice服务根据蓝牙网络中诸如新设备加入、老设备移出等情况维护更新设备本地路由表,并在蓝牙网络中通过datatransmitservice服务向其他设备通知路由表的更新。[0044]bluetoothnetservice服务用于向上层协议/应用提供网络信息查询接口能力,用于记录当前蓝牙网络信息,以及蓝牙网络中其他蓝牙设备的信息。[0045]bluetoothnetupdateservice服务用于:(1)当蓝牙设备初始化网络时,向上层协议/应用提供网络信息初始化接口能力;(2)当蓝牙设备网络信息更新时,向上层协议/应用提供网络信息更新的接口能力。其用于在初始化蓝牙设备的网络信息、及网络信息更新时调用。[0046]而basic_profile用于提供蓝牙设备之间彼此发现对方从而建立连接的基础能力,以及提供设备之间建立简单配对认证的基础能力。[0047]以下结合附图来详细描述采用lmp协议、l2cap协议以及本技术的zjbnbprofileprofile来实现蓝牙设备自动组网的过程。[0048]如图1所示,其中示出了支持蓝牙设备自动组网的方法100的流程图。该方法100主要包括以下步骤。[0049]步骤s101设备初始化[0050]蓝牙设备a在出厂时设置一个默认的蓝牙网络id,该网络id可以根据业务场景在crm(customerrelationshipmanagement,客户关系管理)受理时设置或者由安装维护人员现场设置,设置方式为通过crm受理系统或者安装维护app,通过本技术中定义的zjbtprofile协议所提供的bluetoothnetupdateservice服务将该网络id写入到设备a中。[0051]步骤s102配对/认证[0052]当设备a被启动时,使用蓝牙ssp-justworks简单配对的方式发送蓝牙广播,与其他设备之间无需输入pin码就可建立蓝牙配对连接,通过bluetoothnetservice服务同步网络id。[0053]如果设备a启动时没有与其他支持zjbnbprofile协议的设备配对连接,或者建立连接的其他设备的网络id与设备a不一致,设备a使用网络id新建蓝牙局域网执行步骤s103的操作。[0054]如果设备a与其他建立连接的设备有相同的网络id时,执行步骤s104加入当前网络。[0055]步骤s103创建新的组网环境[0056]新建网络,使用设备a的网络id来标识当前网络,新建本地路由表。当网络被新建时,路由表没有指向其他设备的路由信息。[0057]步骤s104[0058]步骤s104分为以下子步骤。[0059]步骤s104-1与本地网络设备建立连接并同步设备信息[0060]当设备a匹配到相同网络id的蓝牙设备b或其他设备后,使用bluetoothnetupdateservice服务将本地设备信息同步给设备b以及其他设备,同时请求获取其他设备的信息,并将其添加到设备a的本地网络设备信息列表中。[0061]步骤s104-2设备a和其它本地网络设备更新本地路由表[0062]设备a通过routetableservice服务和routetableupdateservice服务获取其他设备的路由表信息并建立本地路由表。然后,设备a将本地路由表信息通过datatransmitservice服务传送给其他本地网络设备,其他本地网络设备在接收到设备a的路由信息后,同步更新其本地路由表。[0063]当设备a完成蓝牙网络设备的信息同步和路由表的同步以后正式加入新的网络中。[0064]如本领域技术人员能够领会的,本技术中的所有数据都是通过zjbnbprofile协议的datatransmitservice服务来完成的。图2中示出了本技术中的蓝牙设备之间利用该服务进行通信的详细过程200。该过程200主要分为以下步骤。[0065]步骤s201主要分为以下子步骤。[0066]步骤s201-1[0067]当设备a发送请求给设备b时,首先通过routetableservice服务查询本地数据路由表中的下一跳设备和目标设备,并通过bluetoothnetservice服务查询下一跳设备信息和目标设备的信息。[0068]步骤s201-2[0069]如果下一跳设备就是b,则通过查询蓝牙网络设备信息表的设备b的信息,来建立与设备b之间的点对点l2cap蓝牙连接,并且将数据传送给设备b,数据传送完成。[0070]步骤s201-3[0071]如果下一跳设备是其他设备,诸如c时,则进行步骤s201-2中的操作将数据传送给设备c,并进行步骤s202的操作。[0072]步骤s202[0073]当数据被传送给设备c后,设备c根据数据的目的设备信息判断如果是发给自己的则进行接收,如果不是重复步骤s201-1至步骤s201-3以查询本地路由表,获取路由信息(即,目的设备为b的下一跳路由信息),调用接口传送数据,以此类推,直至数据发送至目的设备(设备b),如果数据发送失败进行步骤s203的操作。[0074]步骤s203[0075]如果发送失败(例如,设备b已经离线的情况),则将失败原因通知发送端,同时调用routetableupdateservice服务来更新数据路由表,并调用bluetoothnetupdateservice服务来更新设备信息列表。然后,将更新后的数据路由表和设备信息列表同步给蓝牙网络中的其他设备。然后,蓝牙网络内的其它设备更新本地路由表。过程结束。[0076]与现有技术相比,本技术所述的技术方案具有突出的实质性特点和显著的进步。[0077]1.蓝牙协议簇中pan(personalareanetwork,个人局域网)协议是本领域公知的蓝牙网络,其可以提供简单的基于tcp/ip的局域网络的搭建。与pan协议相比,本技术所采用的方案可以在如下两个方面弥补pan现有能力不足的情况。[0078]第一、基于pan的网络协议栈可以实现终端设备互联局域网的效果;原有的pan应用主要是以手机作为移动ap(accesspoint,接入点),pc作为接入设备的场景。这往往需要人为的配置操作,因此缺少自动入网的能力。[0079]第二、pan形成的局域网是tcp/ip的三层网络,并没有建立l2cap二层网络转发环境;而本技术解决了蓝牙设备之间基于二层蓝牙通信链路协议zjbtprofile进行自动连接,从而自动建立二层通信网络,并基于该网络来进行通信。这就减少了高层协议解析的过程,从而提高了通信转发的效率。[0080]第三、现有的蓝牙协议网络,比如l2cap和pan等,都是星状网络,如此形成的局域网缺少网络中继的能力,局域网中的设备必须都需要与中心路由ap相连,对于因户型较大等原因超出蓝牙设备与ap连接范围情况则无法通过中继的方式完成设备入网和数据的转发。而利用zjbnbprofile协议,就可以通过设备来中继扩大通信范围,解决蓝牙设备信号覆盖范围小的缺陷。[0081]2.本技术所使用的zjbnbprofile协议已经在智慧家庭平台上的终端设备广泛应用,上述设备在自动入网过程中所传送的设备配置信息、zjbnbprofile版本维护均在智慧家庭产品安全生态链内进行,信息安全有充分保障。从而解决了上层协议/应用配置信息的交换需求问题。基于zjbnbprofile协议,蓝牙设备的上层协议/应用之间可以共享信息,比如设备配置信息、设备绑定信息等,以达到如设备自动完成配置、自动绑定智慧家庭中的小翼管家等能力。[0082]3.生态环境优势,智慧家庭平台支持的所有蓝牙通信终端设备均可以使用zjbnbprofile协议实现自动加入蓝牙网络。因此,对于其它基于蓝舌设备的分布式应用而言,通过zjbnbprofile协议,可以提供基础的网络服务能力,为其后续的开发提供便利的通信网络环境。[0083]应该理解,所公开的方法中各步骤的具体次序或阶层是示例性过程的解说。基于设计偏好,应该理解,可以重新编排本文描述的方法或方法体系中各步骤的具体次序或阶层。所附方法权利要求以样本次序呈现各种步骤的要素,且并不意味着被限定于所呈现的具体次序或阶层,除非在本文中有特别叙述。[0084]提供先前描述是为了使本领域任何技术人员均能够实践本文中所述的各种方面。对这些方面的各种改动将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示出的各方面,而是应被授予与权利要求的语言相一致的全部范围,其中对要素的单数形式的引述并非旨在表示“有且仅有一个”(除非特别如此声明)而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一者”旨在涵盖:至少一个a;至少一个b;至少一个c;至少一个a和至少一个b;至少一个a和至少一个c;至少一个b和至少一个c;以及至少一个a、至少一个b和至少一个c。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1