CN117939450A - 蓝牙mesh网络的连接方法、装置和蓝牙通信系统 - Google Patents
蓝牙mesh网络的连接方法、装置和蓝牙通信系统 Download PDFInfo
- Publication number
- CN117939450A CN117939450A CN202410111327.XA CN202410111327A CN117939450A CN 117939450 A CN117939450 A CN 117939450A CN 202410111327 A CN202410111327 A CN 202410111327A CN 117939450 A CN117939450 A CN 117939450A
- Authority
- CN
- China
- Prior art keywords
- target device
- target
- bluetooth
- public key
- identification information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000006854 communication Effects 0.000 title claims abstract description 35
- 238000004891 communication Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 83
- 230000006870 function Effects 0.000 claims description 43
- 239000003999 initiator Substances 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000013075 data extraction Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种蓝牙mesh网络的连接方法、装置和蓝牙通信系统,该方法包括:广播第一请求信息并接收第一反馈信息;在第一反馈信息为支持蓝牙低耗功能与mesh协议栈的情况下,获取第一标识信息并将第一标识信息和第一公钥发送至第一目标设备;在接收到第二标识信息与第二公钥的情况下,根据第二标识信息建立与第一目标设备之间的物理连接,并根据第二标识信息与第二公钥配置物理连接的连接参数实现第一目标设备与第二目标设备之间的数据传输。该方法解决了现有技术中蓝牙网络在某些节点失效的情况下或存在环境干扰的情况下,信息无法传递到整个网络的问题。
Description
技术领域
本发明涉及数据通信技术领域,具体而言,涉及一种蓝牙mesh网络的连接方法、装置、计算机可读存储介质和蓝牙通信系统。
背景技术
蓝牙Mesh网络是基于蓝牙低功耗(Bluetooth Low Energy,BLE)技术的网络通信标准,它为大规模设备网络提供了可靠的设备到设备通信解决方案。这项技术的核心特点是其Mesh拓扑结构,其中每个设备都可以与周围设备进行通信,并且可以作为中继节点,将数据包转发给更远的设备,从而实现整个网络的信息传递。这种点对点的消息传递机制允许网络自行组织和修复,极大增强了网络的鲁棒性和扩展性。
蓝牙Mesh网络能够确保即使在某些节点失效或环境干扰的情况下,系统仍然能够维持正常运作,因为消息可以通过多条路径在网络中传递。现有技术中缺乏一种应用于蓝牙Mesh网络的认证连接方式。
发明内容
本申请的主要目的在于提供一种蓝牙mesh网络的连接方法、装置、计算机可读存储介质和蓝牙通信系统,以至少解决现有技术中蓝牙网络在某些节点失效的情况下或存在环境干扰的情况下,信息无法传递到整个网络的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种蓝牙mesh网络的连接方法,包括:广播第一请求信息并接收第一反馈信息,所述第一请求信息用于搜索周围的可用蓝牙设备,所述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,所述第一目标设备为蓝牙连接的接收方;在接收到所述第一反馈信息的情况下,获取第一标识信息并将所述第一标识信息和第一公钥发送至所述第一目标设备,所述第一标识信息为第二目标设备的唯一地址,所述第一公钥为所述第二目标设备的加密公钥,所述第二目标设备为蓝牙连接的发起方;在接收到第二标识信息与第二公钥的情况下,根据所述第二标识信息建立与所述第一目标设备之间的物理连接,并根据所述第二标识信息与所述第二公钥配置所述物理连接的连接参数实现所述第一目标设备与所述第二目标设备之间的数据传输,所述第二标识信息至少包括所述第一目标设备的唯一地址,所述第二公钥为所述第一目标设备的加密公钥。
可选地,根据所述第二标识信息建立与所述第一目标设备之间的物理连接,包括:在接收到所述第二标识信息的情况下,根据所述第二公钥对第一认证信息进行加密得到第一广播包并将所述第一广播包发送至所述第一目标设备;在接收到第二广播包的情况下,根据第二私钥对所述第二广播包进行解密得到第二反馈信息,所述第二广播包为所述第一目标设备发送至所述第二目标设备的广播包,所述第二反馈信息包括所述第一目标设备是否认证成功以及第二认证信息,所述第二私钥为与所述第二公钥对应的私钥;对所述第二反馈信息进行数据提取得到所述第二认证信息,根据所述第二认证信息进行认证并在认证成功的情况下,根据所述第二标识信息向所述第一目标设备发起配对请求;在配对请求通过的情况下,建立与所述第一目标设备之间的物理连接。
可选地,根据所述第二标识信息与所述第二公钥配置所述物理连接的连接参数实现所述第一目标设备与所述第二目标设备之间的数据传输,包括:在所述第二目标设备与所述第一目标设备物理连接建立成功的情况下,根据所述第二标识信息读取所述mesh协议栈得到目标协议并根据所述目标协议确定目标接口,所述目标协议为GATT协议,所述目标接口为与所述目标协议对应的API接口;通过所述目标接口向所述第一目标设备发送第二请求信息并接收第三反馈信息,所述第二请求信息用于获取所述第一目标设备的属性表,所述第三反馈信息包括所述属性表,所述属性表用于存储所述第一目标设备提供的蓝牙服务和服务特性;根据所述第三反馈信息确定多个第一时长和多个第二时长,所述第一时长为所述第一目标设备为所述第二目标设备实现所述蓝牙服务时数据交互的间隔时长,所述第二时长为所述第一目标设备为所述第二目标设备实现所述蓝牙服务时数据交互的最大连接时长,所述第一时长与所述第二时长和所述蓝牙服务一一对应;根据所述第一时长和所述第二时长配置所述连接参数。
可选地,根据所述第一时长和所述第二时长配置所述连接参数,包括:根据所述第一时长和所述第二时长确定目标服务并通过所述目标接口抓取所述目标服务对应的目标特性的特性值得到第一目标值;根据所述第一时长和第二时长更新所述第一目标值得到第二目标值,并将所述第二目标值发送至所述第一目标设备。
可选地,在实现所述第一目标设备与所述第二目标设备之间的数据传输之后,所述方法还包括:在所述第二目标设备存在数据传输请求的情况下,获取第二标识信息和目标操作码,所述目标操作码用于表征所述第二目标设备计划发送的消息类型以及所述第二目标设备对所述第一目标设备进行的操作;根据所述第二标识信息和所述目标操作码构建数据包得到目标数据包,并基于AES对称加密算法对所述目标数据包进行加密得到第三广播包;通过蓝牙mesh网络对所述第三广播包进行广播;在预设时长内接收到第四反馈信息的情况下,确定数据传输成功,所述第四反馈信息用于表征所述第一目标设备成功接收所述第三广播包。
可选地,基于AES对称加密算法对所述目标数据包进行加密得到第三广播包,包括:根据所述目标数据包和所述第二公钥通过加密哈希函数进行运算得到消息认证码;通过所述第二公钥对所述消息认证码和所述目标数据包进行加密得到所述第三广播包。
可选地,在通过蓝牙mesh网络对所述第三广播包进行广播之后,所述方法还包括:在预设时长内未接收到第四反馈信息的情况下,获取第五反馈信息,所述第五反馈信息用于表征中继节点成功接收所述第三广播包;根据所述第五反馈信息确定第三目标设备和第四目标设备,所述第三目标设备为数据传输过程中距离当前时刻间隔时长最短的所述第五反馈信息对应的所述中继节点对应的设备,所述第四目标设备为所述第一目标设备对应的所述中继节点的上一中继节点对应的设备;向所述第四目标设备发送第三请求信息,所述第三请求信息用于指示所述第四目标设备向所述蓝牙mesh网络中除所述第三目标设备之外的设备广播所述第三广播包。
根据本申请的另一方面,提供了一种蓝牙mesh网络的连接装置,所述装置包括:第一接收单元,用于广播第一请求信息并接收第一反馈信息,所述第一请求信息用于搜索周围的可用蓝牙设备,所述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,所述第一目标设备为蓝牙连接的接收方;第一发送单元,用于在所述第一反馈信息为支持所述蓝牙低耗功能与所述mesh协议栈的情况下,获取第一标识信息并将所述第一标识信息和第一公钥发送至所述第一目标设备,所述第一标识信息为第二目标设备的唯一地址,所述第一公钥为所述第二目标设备的加密公钥,所述第二目标设备为蓝牙连接的发起方;配置单元,用于在接收到第二标识信息与第二公钥的情况下,根据所述第二标识信息建立与所述第一目标设备之间的物理连接,并根据所述第二标识信息与所述第二公钥配置所述物理连接的连接参数实现所述第一目标设备与所述第二目标设备之间的数据传输,所述第二标识信息至少包括所述第一目标设备的唯一地址,所述第二公钥为所述第一目标设备的加密公钥。
根据本申请的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的方法。
根据本申请的又一方面,提供了一种蓝牙通信系统,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
应用本申请的技术方案,在上述蓝牙mesh网络的连接方法中,首先,广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;然后,在上述第一反馈信息为支持上述蓝牙低耗功能与上述mesh协议栈的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;最后,在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。本申请提供了一种蓝牙mesh网络的连接方法,实现蓝牙mesh网络中的设备与设备之间的广播通信,任意一个设备都可以作为中继节点与其他设备进行通信,实现信息在整个网络中的传递,解决了现有技术中蓝牙网络在某些节点失效的情况下或存在环境干扰的情况下,信息无法传递到整个网络的问题。
附图说明
图1示出了根据本申请的实施例中提供的一种蓝牙mesh网络的连接方法的移动终端的硬件结构框图;
图2示出了根据本申请的实施例提供的一种蓝牙mesh网络的连接方法的流程示意图;
图3示出了根据本申请的一种实施例提供的一种具体蓝牙mesh网络的连接方法的流程示意图;
图4示出了根据本申请的实施例提供的一种蓝牙mesh网络的连接装置的结构框图。
其中,上述附图包括以下附图标记:
102、处理器;104、存储器;106、传输设备;108、输入输出设备。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
正如背景技术中所介绍的,现有技术中采用点对点连接,在环境存在干扰或距离较远的情况下,难以保证数据顺利传输,为解决现有技术中蓝牙网络在某些节点失效的情况下或存在环境干扰的情况下,信息无法传递到整个网络的问题,本申请的实施例提供了一种蓝牙mesh网络的连接方法、装置、计算机可读存储介质和蓝牙通信系统。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种蓝牙mesh网络的连接方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备信息的显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的蓝牙mesh网络的连接方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本申请实施例的蓝牙mesh网络的连接方法的流程图。如图2所示,该方法包括以下步骤:
步骤S201,广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;
具体地,在蓝牙设备,即上述第二目标设备存在蓝牙连接需求的情况下,在蓝牙mesh网络中进行广播以搜索周围可用的蓝牙设备,本申请中采用的蓝牙mesh网络是基于蓝牙低耗功能的通信标准,因此在通信之前,需要确定目标设备是否支持蓝牙低耗功能,以及是否支持mesh协议栈。蓝牙mesh网络中满足上述要求的其他蓝牙设备,即第一目标设备会向第二目标设备反馈信息,指示第二目标设备。
步骤S202,在接收到上述第一反馈信息的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;
具体地,上述第二目标设备接收到上述第一反馈信息的情况下,确定上述第一反馈信息对应的上述第一目标设备能够通过蓝牙mesh网络进行通信。进而获取第二目标设备的被分配到的唯一地址,得到上述第一标识信息,获取第二目标设备的公钥得到上述第一公钥,将上述第一标识信息和第一公钥广播至蓝牙mesh网络进行共享,以支持后续通信过程中的通信加密。
步骤S203,在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。
具体地,在第一目标设备接收到上述第一标识信息的情况下,会将上述第一目标设备的唯一地址和公钥共享至蓝牙mesh网络中,即为上述第二标识信息和上述第二公钥。根据双方的唯一地址和公钥可以建立GATT连接,实现双方之间的数据传输。具体包括,上述第一目标设备与上述第二目标设备之间建立物理拦截,然后第二目标设备根据第一目标设备的唯一地址提取第一目标设备的服务和特性,根据服务和特性对连接参数进行配置,以保证数据传输连接的稳定和高速。
通过本实施例,首先,广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;然后,在上述第一反馈信息为支持上述蓝牙低耗功能与上述mesh协议栈的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;最后,在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。本申请提供了一种蓝牙mesh网络的连接方法,实现蓝牙mesh网络中的设备与设备之间的广播通信,任意一个设备都可以作为中继节点与其他设备进行通信,实现信息在整个网络中的传递,解决了现有技术中蓝牙网络在某些节点失效的情况下或存在环境干扰的情况下,信息无法传递到整个网络的问题。
为了构建上述第一目标设备与上述第二目标设备之间的物理连接,在一种可选的实施方式中,上述步骤S203包括:
步骤S2031,在接收到上述第二标识信息的情况下,根据上述第二公钥对第一认证信息进行加密得到第一广播包并将上述第一广播包发送至上述第一目标设备;
具体地,在第一目标设备接收到第二目标设备的唯一地址的情况下,根据上述第二目标设备的公钥,即上述第二公钥对第一目标设备的认证信息进行加密得到上述第一广播包,并将上述第一广播包通过蓝牙mesh网络广播至上述第一目标设备。
步骤S2032,在接收到第二广播包的情况下,根据第二私钥对上述第二广播包进行解密得到第二反馈信息,上述第二广播包为上述第一目标设备发送至上述第二目标设备的广播包,上述第二反馈信息包括上述第一目标设备是否认证成功以及第二认证信息,上述第二私钥为与上述第二公钥对应的私钥;
具体地,上述第一目标设备在接收到上述第一广播包的情况下,根据第二公钥对应的第二私钥对上述第一广播包进行解密,并根据第一认证信息进行认证。并根据第一公钥对认证结果和第一目标设备的认证信息,即上述第二认证信息进行加密得到第二广播包,并发送至第二目标设备。上述第二目标设备根据第一目标设备的第二公钥对应的第二私钥对上述第二广播包进行解密,得到第二反馈信息。
步骤S2033,对上述第二反馈信息进行数据提取得到上述第二认证信息,根据上述第二认证信息进行认证并在认证成功的情况下,根据上述第二标识信息向上述第一目标设备发起配对请求;
具体地,第二目标设备根据上述第一目标设备对应的上述第二认证信息进行认证,并在认证成功的情况下,对上述第一目标设备发起配对,以保证进行连接的设备为授权的设备,方式非授权设备进行连接。
步骤S2034,在配对请求通过的情况下,建立与上述第一目标设备之间的物理连接。
具体地,在第一目标设备与第二目标设备成功配对的情况下,根据第一目标设备的唯一地址和第二目标设备的唯一地址,建立数据传输连接,即建立上述物理连接。
为了实现第一目标设备与第二目标设备之间高效稳定的数据传输,在一种可选的实施方式中,上述步骤S203包括:
步骤S2035,在上述第二目标设备与上述第一目标设备物理连接建立成功的情况下,根据上述第二标识信息读取上述mesh协议栈得到目标协议并根据上述目标协议确定目标接口,上述目标协议为GATT协议,上述目标接口为与上述目标协议对应的API接口;
具体地,在上述第二目标设备与上述第一目标设备成功建立物理连接的情况下,根据第一目标设备对应的唯一地址,读取上述mesh协议栈,确定与上述第一目标设备匹配的GATT协议得到上述目标协议,并确定能够应用于GATT协议数据传输的API接口,得到上述目标接口。
步骤S2036,通过上述目标接口向上述第一目标设备发送第二请求信息并接收第三反馈信息,上述第二请求信息用于获取上述第一目标设备的属性表,上述第三反馈信息包括上述属性表,上述属性表用于存储上述第一目标设备提供的蓝牙服务和服务特性;
具体地,上述第二目标设备通过上述目标接口向上述第一目标设备发起上述第二请求信息,开始服务发现过程,以查找上述第一目标设备提供的服务和特性。具体为获取上述第一目标设备的属性表,上述属性表列出上述第一目标设备所有可用的服务和特性,即上述蓝牙服务和对应的一个或多个服务特性。
步骤S2037,根据上述第三反馈信息确定多个第一时长和多个第二时长,上述第一时长为上述第一目标设备为上述第二目标设备实现上述蓝牙服务时数据交互的间隔时长,上述第二时长为上述第一目标设备为上述第二目标设备实现上述蓝牙服务时数据交互的最大连接时长,上述第一时长与上述第二时长和上述蓝牙服务一一对应;
具体地,根据上述属性表中的服务和特性,上述第二目标设备与上述第一目标设备协商连接参数,包括连接间隔,即上述第一时长,以及超时时间,即上述第二时长。
步骤S2038,根据上述第一时长和上述第二时长配置上述连接参数。
具体地,在连接参数确定的情况下,根据上述第一时长和第二时长完成上述第一目标设备和上述第二目标设备的参数配置。
为了完成上述连接参数配置,在一种可选的实施方式中,上述步骤S2038包括:
步骤S20381,根据上述第一时长和上述第二时长确定目标服务并通过上述目标接口抓取上述目标服务对应的目标特性的特性值得到第一目标值;
具体地,上述第一时长与上述第二时长与对应的服务一一对应,根据服务对应的配置参数,确定所需的API接口,即上述目标接口,通过上述目标接口抓取第一目标设备中对应的目标特性的特性值得到上述第一目标值。具体包括特性的值、描述符以及权限。
步骤S20382,根据上述第一时长和第二时长更新上述第一目标值得到第二目标值,并将上述第二目标值发送至上述第一目标设备。
具体地,根据上述第一时长和第二时长确定更新后的特性的值、描述符以及权限,进而将更新后的参数写入上述第一目标设备的对应位置完成连接参数的配置。
为了实现将数据从上述第二目标设备传输至上述第一目标设备,在一种可选的实施方式中,在实现上述第一目标设备与上述第二目标设备之间的数据传输之后,上述方法还包括:
步骤S301,在上述第二目标设备存在数据传输请求的情况下,获取第二标识信息和目标操作码,上述目标操作码用于表征上述第二目标设备计划发送的消息类型以及上述第二目标设备对上述第一目标设备进行的操作;
具体地,在上述第二目标设备需要进行数据传输的情况下,上述第二目标设备基于mesh网络的协议规则,根据协议规则确定上述第一目标设备的唯一地址和以及需要对第一目标设备进行的操作生成的目标操作码以及其他必要参数。
步骤S302,根据上述第二标识信息和上述目标操作码构建数据包得到目标数据包,并基于AES对称加密算法对上述目标数据包进行加密得到第三广播包;
具体地,根据上述唯一地址、上述目标操作码以及对应的必要参数进行构造,得到需要发送的消息得到上述目标数据包,进而基于AES对称加密算法对上述目标数据包进行加密得到上述第三广播包。
步骤S303,通过蓝牙mesh网络对上述第三广播包进行广播;
具体地,通过蓝牙mesh网络将上述第三广播包广播至上述第一目标设备。
步骤S304,在预设时长内接收到第四反馈信息的情况下,确定数据传输成功,上述第四反馈信息用于表征上述第一目标设备成功接收上述第三广播包。
具体地,上述第一目标设备接收上述第三广播包的情况下,会通过蓝牙mesh网络向上述第二目标设备反馈上述第四反馈信息。
为了确定传输过程中数据的安全性和完整性,在一种可选的实施方式中,上述步骤S302包括:
步骤S3021,根据上述目标数据包和上述第二公钥通过加密哈希函数进行运算得到消息认证码;
具体地,为了保证信息的安全,在发送之前本申请设置对信息进行加密。首先对信息进行编码,进而将编码后的信息和第一目标设备对应的上述第二公式通过加密哈希函数或者块密码算法进行运算生成消息认证码,即MAC值。
步骤S3022,通过上述第二公钥对上述消息认证码和上述目标数据包进行加密得到上述第三广播包。
具体地,将消息验证码附在消息上共同进行加密得到上述第三广播包。在上述第一目标设备接收到上述第三广播包的情况下,对上述第三广播包进行解密。进而根据解密后的消息和秘钥重新计算MAC值,若接收的MAC值和计算得到的MAC值一致,则确定数据包完整。
为了避免复杂环境和距离原因导致数据传输失败,在一种可选的实施方式中,在通过蓝牙mesh网络对上述第三广播包进行广播之后,上述方法还包括:
步骤S401,在预设时长内未接收到第四反馈信息的情况下,获取第五反馈信息,上述第五反馈信息用于表征中继节点成功接收上述第三广播包;
具体地,在预设时长内第二目标设备若没有接收到上述第一目标设备反馈的上述第四反馈信息的情况下,确定数据传输失败,进而获取传输过程中涉及的中继节点反馈的上述第五反馈信息,确定上述第三广播包在上述蓝牙mesh网络中的数据传输情况。
步骤S402,根据上述第五反馈信息确定第三目标设备和第四目标设备,上述第三目标设备为数据传输过程中距离当前时刻间隔时长最短的上述第五反馈信息对应的上述中继节点对应的设备,上述第四目标设备为上述第一目标设备对应的上述中继节点的上一中继节点对应的设备;
具体地,根据上述第五反馈信息的接收时间确定上述第三广播包在蓝牙mesh网络中的跳转顺序,进而确定数据传输过程中经过的最后一个中继节点,即上述第三目标设备,以及上述第三目标设备的上一个中继节点,即上述第四目标设备。
步骤S403,向上述第四目标设备发送第三请求信息,上述第三请求信息用于指示上述第四目标设备向上述蓝牙mesh网络中除上述第三目标设备之外的设备广播上述第三广播包。
具体地,在确定上述第三目标设备以及上述第四目标设备之后,确定上述第三目标设备暂时无法完成数据传输,进而上述第二目标设备向上述第四目标设备发送上述第三请求信息,进而控制上述第四目标设备选择其他路径进行跳转以实现数据传输。
为了使得本领域技术人员能够更加清楚地了解本申请的技术方案,以下将结合具体的实施例对本申请的蓝牙mesh网络的连接方法的实现过程进行详细说明。
本实施例涉及一种具体的蓝牙mesh网络的连接方法,如图3所示,包括如下步骤:
步骤S1:通过蓝牙搜索功能搜索蓝牙设备的设备名称,并在小程序中生成可用设备列表;
步骤S2:在可用设备列表中选择目标蓝牙设备,向目标蓝牙设备发起连接请求建立与目标蓝牙设备之间的GATT连接;
步骤S3:在建立GATT连接之后,通过小程序向目标蓝牙设备发送设备信息获取请求,发现目标蓝牙设备的服务以及特性;
步骤S4:基于服务与特性,协商连接参数,构建目标蓝牙设备与小程序之间的数据传输连接;
步骤S5:在连接存在器件,小程序与目标蓝牙设备之间的数据传输都需要进行加密以保证信息的安全性。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种蓝牙mesh网络的连接装置,需要说明的是,本申请实施例的蓝牙mesh网络的连接装置可以用于执行本申请实施例所提供的用于蓝牙mesh网络的连接方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
以下对本申请实施例提供的蓝牙mesh网络的连接装置进行介绍。
图4是根据本申请实施例的蓝牙mesh网络的连接装置的结构框图。如图4所示,该装置包括:
第一接收单元10,用于广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;
具体地,在蓝牙设备,即上述第二目标设备存在蓝牙连接需求的情况下,在蓝牙mesh网络中进行广播以搜索周围可用的蓝牙设备,本申请中采用的蓝牙mesh网络是基于蓝牙低耗功能的通信标准,因此在通信之前,需要确定目标设备是否支持蓝牙低耗功能,以及是否支持mesh协议栈。蓝牙mesh网络中满足上述要求的其他蓝牙设备,即第一目标设备会向第二目标设备反馈信息,指示第二目标设备。
第一发送单元20,用于在上述第一反馈信息为支持上述蓝牙低耗功能与上述mesh协议栈的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;
具体地,上述第二目标设备接收到上述第一反馈信息的情况下,确定上述第一反馈信息对应的上述第一目标设备能够通过蓝牙mesh网络进行通信。进而获取第二目标设备的被分配到的唯一地址,得到上述第一标识信息,获取第二目标设备的公钥得到上述第一公钥,将上述第一标识信息和第一公钥广播至蓝牙mesh网络进行共享,以支持后续通信过程中的通信加密。
配置单元30,用于在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。
具体地,在第一目标设备接收到上述第一标识信息的情况下,会将上述第一目标设备的唯一地址和公钥共享至蓝牙mesh网络中,即为上述第二标识信息和上述第二公钥。根据双方的唯一地址和公钥可以建立GATT连接,实现双方之间的数据传输。具体包括,上述第一目标设备与上述第二目标设备之间建立物理拦截,然后第二目标设备根据第一目标设备的唯一地址提取第一目标设备的服务和特性,根据服务和特性对连接参数进行配置,以保证数据传输连接的稳定和高速。
通过本实施例,第一接收单元广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;第一发送单元在上述第一反馈信息为支持上述蓝牙低耗功能与上述mesh协议栈的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;配置单元在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。本申请提供了一种蓝牙mesh网络的连接方法,实现蓝牙mesh网络中的设备与设备之间的广播通信,任意一个设备都可以作为中继节点与其他设备进行通信,实现信息在整个网络中的传递,解决了现有技术中蓝牙网络在某些节点失效的情况下或存在环境干扰的情况下,信息无法传递到整个网络的问题。
为了构建上述第一目标设备与上述第二目标设备之间的物理连接,在一种可选的实施方式中,上述配置单元包括:
第一加密模块,用于在接收到上述第二标识信息的情况下,根据上述第二公钥对第一认证信息进行加密得到第一广播包并将上述第一广播包发送至上述第一目标设备;
具体地,在第一目标设备接收到第二目标设备的唯一地址的情况下,根据上述第二目标设备的公钥,即上述第二公钥对第一目标设备的认证信息进行加密得到上述第一广播包,并将上述第一广播包通过蓝牙mesh网络广播至上述第一目标设备。
解密模块,用于在接收到第二广播包的情况下,根据第二私钥对上述第二广播包进行解密得到第二反馈信息,上述第二广播包为上述第一目标设备发送至上述第二目标设备的广播包,上述第二反馈信息包括上述第一目标设备是否认证成功以及第二认证信息,上述第二私钥为与上述第二公钥对应的私钥;
具体地,上述第一目标设备在接收到上述第一广播包的情况下,根据第二公钥对应的第二私钥对上述第一广播包进行解密,并根据第一认证信息进行认证。并根据第一公钥对认证结果和第一目标设备的认证信息,即上述第二认证信息进行加密得到第二广播包,并发送至第二目标设备。上述第二目标设备根据第一目标设备的第二公钥对应的第二私钥对上述第二广播包进行解密,得到第二反馈信息。
第一抓取模块,用于对上述第二反馈信息进行数据提取得到上述第二认证信息,根据上述第二认证信息进行认证并在认证成功的情况下,根据上述第二标识信息向上述第一目标设备发起配对请求;
具体地,第二目标设备根据上述第一目标设备对应的上述第二认证信息进行认证,并在认证成功的情况下,对上述第一目标设备发起配对,以保证进行连接的设备为授权的设备,方式非授权设备进行连接。
连接模块,用于在配对请求通过的情况下,建立与上述第一目标设备之间的物理连接。
具体地,在第一目标设备与第二目标设备成功配对的情况下,根据第一目标设备的唯一地址和第二目标设备的唯一地址,建立数据传输连接,即建立上述物理连接。
为了实现第一目标设备与第二目标设备之间高效稳定的数据传输,在一种可选的实施方式中,上述配置单元包括:
第一确定模块,用于在上述第二目标设备与上述第一目标设备物理连接建立成功的情况下,根据上述第二标识信息读取上述mesh协议栈得到目标协议并根据上述目标协议确定目标接口,上述目标协议为GATT协议,上述目标接口为与上述目标协议对应的API接口;
具体地,在上述第二目标设备与上述第一目标设备成功建立物理连接的情况下,根据第一目标设备对应的唯一地址,读取上述mesh协议栈,确定与上述第一目标设备匹配的GATT协议得到上述目标协议,并确定能够应用于GATT协议数据传输的API接口,得到上述目标接口。
发送模块,用于通过上述目标接口向上述第一目标设备发送第二请求信息并接收第三反馈信息,上述第二请求信息用于获取上述第一目标设备的属性表,上述第三反馈信息包括上述属性表,上述属性表用于存储上述第一目标设备提供的蓝牙服务和服务特性;
具体地,上述第二目标设备通过上述目标接口向上述第一目标设备发起上述第二请求信息,开始服务发现过程,以查找上述第一目标设备提供的服务和特性。具体为获取上述第一目标设备的属性表,上述属性表列出上述第一目标设备所有可用的服务和特性,即上述蓝牙服务和对应的一个或多个服务特性。
第二确定模块,用于根据上述第三反馈信息确定多个第一时长和多个第二时长,上述第一时长为上述第一目标设备为上述第二目标设备实现上述蓝牙服务时数据交互的间隔时长,上述第二时长为上述第一目标设备为上述第二目标设备实现上述蓝牙服务时数据交互的最大连接时长,上述第一时长与上述第二时长和上述蓝牙服务一一对应;
具体地,根据上述属性表中的服务和特性,上述第二目标设备与上述第一目标设备协商连接参数,包括连接间隔,即上述第一时长,以及超时时间,即上述第二时长。
配置模块,用于根据上述第一时长和上述第二时长配置上述连接参数。
具体地,在连接参数确定的情况下,根据上述第一时长和第二时长完成上述第一目标设备和上述第二目标设备的参数配置。
为了完成上述连接参数配置,在一种可选的实施方式中,上述配置模块包括:
确定子模块,用于根据上述第一时长和上述第二时长确定目标服务并通过上述目标接口抓取上述目标服务对应的目标特性的特性值得到第一目标值;
具体地,上述第一时长与上述第二时长与对应的服务一一对应,根据服务对应的配置参数,确定所需的API接口,即上述目标接口,通过上述目标接口抓取第一目标设备中对应的目标特性的特性值得到上述第一目标值。具体包括特性的值、描述符以及权限。
更新子模块,用于根据上述第一时长和第二时长更新上述第一目标值得到第二目标值,并将上述第二目标值发送至上述第一目标设备。
具体地,根据上述第一时长和第二时长确定更新后的特性的值、描述符以及权限,进而将更新后的参数写入上述第一目标设备的对应位置完成连接参数的配置。
为了实现将数据从上述第二目标设备传输至上述第一目标设备,上述装置还包括:
第一获取单元,用于在一种可选的实施方式中,在实现上述第一目标设备与上述第二目标设备之间的数据传输之后,在上述第二目标设备存在数据传输请求的情况下,获取第二标识信息和目标操作码,上述目标操作码用于表征上述第二目标设备计划发送的消息类型以及上述第二目标设备对上述第一目标设备进行的操作;
具体地,在上述第二目标设备需要进行数据传输的情况下,上述第二目标设备基于mesh网络的协议规则,根据协议规则确定上述第一目标设备的唯一地址和以及需要对第一目标设备进行的操作生成的目标操作码以及其他必要参数。
加密单元,用于根据上述第二标识信息和上述目标操作码构建数据包得到目标数据包,并基于AES对称加密算法对上述目标数据包进行加密得到第三广播包;
具体地,根据上述唯一地址、上述目标操作码以及对应的必要参数进行构造,得到需要发送的消息得到上述目标数据包,进而基于AES对称加密算法对上述目标数据包进行加密得到上述第三广播包。
第二发送单元,用于通过蓝牙mesh网络对上述第三广播包进行广播;
具体地,通过蓝牙mesh网络将上述第三广播包广播至上述第一目标设备。
第二接收单元,用于在预设时长内接收到第四反馈信息的情况下,确定数据传输成功,上述第四反馈信息用于表征上述第一目标设备成功接收上述第三广播包。
具体地,上述第一目标设备接收上述第三广播包的情况下,会通过蓝牙mesh网络向上述第二目标设备反馈上述第四反馈信息。
为了确定传输过程中数据的安全性和完整性,在一种可选的实施方式中,上述第二接收单元包括:
计算模块,用于根据上述目标数据包和上述第二公钥通过加密哈希函数进行运算得到消息认证码;
具体地,为了保证信息的安全,在发送之前本申请设置对信息进行加密。首先对信息进行编码,进而将编码后的信息和第一目标设备对应的上述第二公式通过加密哈希函数或者块密码算法进行运算生成消息认证码,即MAC值。
第二加密模块,用于通过上述第二公钥对上述消息认证码和上述目标数据包进行加密得到上述第三广播包。
具体地,将消息验证码附在消息上共同进行加密得到上述第三广播包。在上述第一目标设备接收到上述第三广播包的情况下,对上述第三广播包进行解密。进而根据解密后的消息和秘钥重新计算MAC值,若接收的MAC值和计算得到的MAC值一致,则确定数据包完整。
为了避免复杂环境和距离原因导致数据传输失败,在一种可选的实施方式中,上述装置还包括:
第二获取单元,用于在通过蓝牙mesh网络对上述第三广播包进行广播之后,在预设时长内未接收到第四反馈信息的情况下,获取第五反馈信息,上述第五反馈信息用于表征中继节点成功接收上述第三广播包;
具体地,在预设时长内第二目标设备若没有接收到上述第一目标设备反馈的上述第四反馈信息的情况下,确定数据传输失败,进而获取传输过程中涉及的中继节点反馈的上述第五反馈信息,确定上述第三广播包在上述蓝牙mesh网络中的数据传输情况。
确定单元,用于根据上述第五反馈信息确定第三目标设备和第四目标设备,上述第三目标设备为数据传输过程中距离当前时刻间隔时长最短的上述第五反馈信息对应的上述中继节点对应的设备,上述第四目标设备为上述第一目标设备对应的上述中继节点的上一中继节点对应的设备;
具体地,根据上述第五反馈信息的接收时间确定上述第三广播包在蓝牙mesh网络中的跳转顺序,进而确定数据传输过程中经过的最后一个中继节点,即上述第三目标设备,以及上述第三目标设备的上一个中继节点,即上述第四目标设备。
第三发送单元,用于向上述第四目标设备发送第三请求信息,上述第三请求信息用于指示上述第四目标设备向上述蓝牙mesh网络中除上述第三目标设备之外的设备广播上述第三广播包。
具体地,在确定上述第三目标设备以及上述第四目标设备之后,确定上述第三目标设备暂时无法完成数据传输,进而上述第二目标设备向上述第四目标设备发送上述第三请求信息,进而控制上述第四目标设备选择其他路径进行跳转以实现数据传输。
上述蓝牙mesh网络的连接装置包括处理器和存储器,上述第一接收单元、第一发送单元和配置单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来保证远距离的数据传输以及复杂环境下的数据传输。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述蓝牙mesh网络的连接方法。
具体地,蓝牙mesh网络的连接方法包括:
步骤S201,广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;
具体地,在蓝牙设备,即上述第二目标设备存在蓝牙连接需求的情况下,在蓝牙mesh网络中进行广播以搜索周围可用的蓝牙设备,本申请中采用的蓝牙mesh网络是基于蓝牙低耗功能的通信标准,因此在通信之前,需要确定目标设备是否支持蓝牙低耗功能,以及是否支持mesh协议栈。蓝牙mesh网络中满足上述要求的其他蓝牙设备,即第一目标设备会向第二目标设备反馈信息,指示第二目标设备。
步骤S202,在接收到上述第一反馈信息的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;
具体地,上述第二目标设备接收到上述第一反馈信息的情况下,确定上述第一反馈信息对应的上述第一目标设备能够通过蓝牙mesh网络进行通信。进而获取第二目标设备的被分配到的唯一地址,得到上述第一标识信息,获取第二目标设备的公钥得到上述第一公钥,将上述第一标识信息和第一公钥广播至蓝牙mesh网络进行共享,以支持后续通信过程中的通信加密。
步骤S203,在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。
具体地,在第一目标设备接收到上述第一标识信息的情况下,会将上述第一目标设备的唯一地址和公钥共享至蓝牙mesh网络中,即为上述第二标识信息和上述第二公钥。根据双方的唯一地址和公钥可以建立GATT连接,实现双方之间的数据传输。具体包括,上述第一目标设备与上述第二目标设备之间建立物理拦截,然后第二目标设备根据第一目标设备的唯一地址提取第一目标设备的服务和特性,根据服务和特性对连接参数进行配置,以保证数据传输连接的稳定和高速。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述蓝牙mesh网络的连接方法。
具体地,蓝牙mesh网络的连接方法包括:
步骤S201,广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;
具体地,在蓝牙设备,即上述第二目标设备存在蓝牙连接需求的情况下,在蓝牙mesh网络中进行广播以搜索周围可用的蓝牙设备,本申请中采用的蓝牙mesh网络是基于蓝牙低耗功能的通信标准,因此在通信之前,需要确定目标设备是否支持蓝牙低耗功能,以及是否支持mesh协议栈。蓝牙mesh网络中满足上述要求的其他蓝牙设备,即第一目标设备会向第二目标设备反馈信息,指示第二目标设备。
步骤S202,在接收到上述第一反馈信息的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;
具体地,上述第二目标设备接收到上述第一反馈信息的情况下,确定上述第一反馈信息对应的上述第一目标设备能够通过蓝牙mesh网络进行通信。进而获取第二目标设备的被分配到的唯一地址,得到上述第一标识信息,获取第二目标设备的公钥得到上述第一公钥,将上述第一标识信息和第一公钥广播至蓝牙mesh网络进行共享,以支持后续通信过程中的通信加密。
步骤S203,在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。
具体地,在第一目标设备接收到上述第一标识信息的情况下,会将上述第一目标设备的唯一地址和公钥共享至蓝牙mesh网络中,即为上述第二标识信息和上述第二公钥。根据双方的唯一地址和公钥可以建立GATT连接,实现双方之间的数据传输。具体包括,上述第一目标设备与上述第二目标设备之间建立物理拦截,然后第二目标设备根据第一目标设备的唯一地址提取第一目标设备的服务和特性,根据服务和特性对连接参数进行配置,以保证数据传输连接的稳定和高速。
本发明实施例提供了一种蓝牙通信系统,蓝牙通信系统包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S201,广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;
步骤S202,在接收到上述第一反馈信息的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;
步骤S203,在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S201,广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;
步骤S202,在接收到上述第一反馈信息的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;
步骤S203,在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的蓝牙mesh网络的连接方法,首先,广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;然后,在上述第一反馈信息为支持上述蓝牙低耗功能与上述mesh协议栈的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;最后,在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。本申请提供了一种蓝牙mesh网络的连接方法,实现蓝牙mesh网络中的设备与设备之间的广播通信,任意一个设备都可以作为中继节点与其他设备进行通信,实现信息在整个网络中的传递,解决了现有技术中蓝牙网络在某些节点失效的情况下或存在环境干扰的情况下,信息无法传递到整个网络的问题。
2)、本申请的蓝牙mesh网络的连接装置,第一接收单元广播第一请求信息并接收第一反馈信息,上述第一请求信息用于搜索周围的可用蓝牙设备,上述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,上述第一目标设备为蓝牙连接的接收方;第一发送单元在上述第一反馈信息为支持上述蓝牙低耗功能与上述mesh协议栈的情况下,获取第一标识信息并将上述第一标识信息和第一公钥发送至上述第一目标设备,上述第一标识信息为第二目标设备的唯一地址,上述第一公钥为上述第二目标设备的加密公钥,上述第二目标设备为蓝牙连接的发起方;配置单元在接收到第二标识信息与第二公钥的情况下,根据上述第二标识信息建立与上述第一目标设备之间的物理连接,并根据上述第二标识信息与上述第二公钥配置上述物理连接的连接参数实现上述第一目标设备与上述第二目标设备之间的数据传输,上述第二标识信息至少包括上述第一目标设备的唯一地址,上述第二公钥为上述第一目标设备的加密公钥。本申请提供了一种蓝牙mesh网络的连接方法,实现蓝牙mesh网络中的设备与设备之间的广播通信,任意一个设备都可以作为中继节点与其他设备进行通信,实现信息在整个网络中的传递,解决了现有技术中蓝牙网络在某些节点失效的情况下或存在环境干扰的情况下,信息无法传递到整个网络的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种蓝牙mesh网络的连接方法,其特征在于,包括:
广播第一请求信息并接收第一反馈信息,所述第一请求信息用于搜索周围的可用蓝牙设备,所述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,所述第一目标设备为蓝牙连接的接收方;
在接收到所述第一反馈信息的情况下,获取第一标识信息并将所述第一标识信息和第一公钥发送至所述第一目标设备,所述第一标识信息为第二目标设备的唯一地址,所述第一公钥为所述第二目标设备的加密公钥,所述第二目标设备为蓝牙连接的发起方;
在接收到第二标识信息与第二公钥的情况下,根据所述第二标识信息建立与所述第一目标设备之间的物理连接,并根据所述第二标识信息与所述第二公钥配置所述物理连接的连接参数实现所述第一目标设备与所述第二目标设备之间的数据传输,所述第二标识信息至少包括所述第一目标设备的唯一地址,所述第二公钥为所述第一目标设备的加密公钥。
2.根据权利要求1所述的方法,其特征在于,根据所述第二标识信息建立与所述第一目标设备之间的物理连接,包括:
在接收到所述第二标识信息的情况下,根据所述第二公钥对第一认证信息进行加密得到第一广播包并将所述第一广播包发送至所述第一目标设备;
在接收到第二广播包的情况下,根据第二私钥对所述第二广播包进行解密得到第二反馈信息,所述第二广播包为所述第一目标设备发送至所述第二目标设备的广播包,所述第二反馈信息包括所述第一目标设备是否认证成功以及第二认证信息,所述第二私钥为与所述第二公钥对应的私钥;
对所述第二反馈信息进行数据提取得到所述第二认证信息,根据所述第二认证信息进行认证并在认证成功的情况下,根据所述第二标识信息向所述第一目标设备发起配对请求;
在配对请求通过的情况下,建立与所述第一目标设备之间的物理连接。
3.根据权利要求2所述的方法,其特征在于,根据所述第二标识信息与所述第二公钥配置所述物理连接的连接参数实现所述第一目标设备与所述第二目标设备之间的数据传输,包括:
在所述第二目标设备与所述第一目标设备物理连接建立成功的情况下,根据所述第二标识信息读取所述mesh协议栈得到目标协议并根据所述目标协议确定目标接口,所述目标协议为GATT协议,所述目标接口为与所述目标协议对应的API接口;
通过所述目标接口向所述第一目标设备发送第二请求信息并接收第三反馈信息,所述第二请求信息用于获取所述第一目标设备的属性表,所述第三反馈信息包括所述属性表,所述属性表用于存储所述第一目标设备提供的蓝牙服务和服务特性;
根据所述第三反馈信息确定多个第一时长和多个第二时长,所述第一时长为所述第一目标设备为所述第二目标设备实现所述蓝牙服务时数据交互的间隔时长,所述第二时长为所述第一目标设备为所述第二目标设备实现所述蓝牙服务时数据交互的最大连接时长,所述第一时长与所述第二时长和所述蓝牙服务一一对应;
根据所述第一时长和所述第二时长配置所述连接参数。
4.根据权利要求3所述的方法,其特征在于,根据所述第一时长和所述第二时长配置所述连接参数,包括:
根据所述第一时长和所述第二时长确定目标服务并通过所述目标接口抓取所述目标服务对应的目标特性的特性值得到第一目标值;
根据所述第一时长和第二时长更新所述第一目标值得到第二目标值,并将所述第二目标值发送至所述第一目标设备。
5.根据权利要求1所述的方法,其特征在于,在实现所述第一目标设备与所述第二目标设备之间的数据传输之后,所述方法还包括:
在所述第二目标设备存在数据传输请求的情况下,获取第二标识信息和目标操作码,所述目标操作码用于表征所述第二目标设备计划发送的消息类型以及所述第二目标设备对所述第一目标设备进行的操作;
根据所述第二标识信息和所述目标操作码构建数据包得到目标数据包,并基于AES对称加密算法对所述目标数据包进行加密得到第三广播包;
通过蓝牙mesh网络对所述第三广播包进行广播;
在预设时长内接收到第四反馈信息的情况下,确定数据传输成功,所述第四反馈信息用于表征所述第一目标设备成功接收所述第三广播包。
6.根据权利要求5所述的方法,其特征在于,基于AES对称加密算法对所述目标数据包进行加密得到第三广播包,包括:
根据所述目标数据包和所述第二公钥通过加密哈希函数进行运算得到消息认证码;
通过所述第二公钥对所述消息认证码和所述目标数据包进行加密得到所述第三广播包。
7.根据权利要求5所述的方法,其特征在于,在通过蓝牙mesh网络对所述第三广播包进行广播之后,所述方法还包括:
在预设时长内未接收到第四反馈信息的情况下,获取第五反馈信息,所述第五反馈信息用于表征中继节点成功接收所述第三广播包;
根据所述第五反馈信息确定第三目标设备和第四目标设备,所述第三目标设备为数据传输过程中距离当前时刻间隔时长最短的所述第五反馈信息对应的所述中继节点对应的设备,所述第四目标设备为所述第一目标设备对应的所述中继节点的上一中继节点对应的设备;
向所述第四目标设备发送第三请求信息,所述第三请求信息用于指示所述第四目标设备向所述蓝牙mesh网络中除所述第三目标设备之外的设备广播所述第三广播包。
8.一种蓝牙mesh网络的连接装置,其特征在于,所述装置包括:
第一接收单元,用于广播第一请求信息并接收第一反馈信息,所述第一请求信息用于搜索周围的可用蓝牙设备,所述第一反馈信息用于表征第一目标设备能够支持蓝牙低耗功能与mesh协议栈,所述第一目标设备为蓝牙连接的接收方;
第一发送单元,用于在所述第一反馈信息为支持所述蓝牙低耗功能与所述mesh协议栈的情况下,获取第一标识信息并将所述第一标识信息和第一公钥发送至所述第一目标设备,所述第一标识信息为第二目标设备的唯一地址,所述第一公钥为所述第二目标设备的加密公钥,所述第二目标设备为蓝牙连接的发起方;
配置单元,用于在接收到第二标识信息与第二公钥的情况下,根据所述第二标识信息建立与所述第一目标设备之间的物理连接,并根据所述第二标识信息与所述第二公钥配置所述物理连接的连接参数实现所述第一目标设备与所述第二目标设备之间的数据传输,所述第二标识信息至少包括所述第一目标设备的唯一地址,所述第二公钥为所述第一目标设备的加密公钥。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的方法。
10.一种蓝牙通信系统,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410111327.XA CN117939450A (zh) | 2024-01-25 | 2024-01-25 | 蓝牙mesh网络的连接方法、装置和蓝牙通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410111327.XA CN117939450A (zh) | 2024-01-25 | 2024-01-25 | 蓝牙mesh网络的连接方法、装置和蓝牙通信系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117939450A true CN117939450A (zh) | 2024-04-26 |
Family
ID=90751967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410111327.XA Pending CN117939450A (zh) | 2024-01-25 | 2024-01-25 | 蓝牙mesh网络的连接方法、装置和蓝牙通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117939450A (zh) |
-
2024
- 2024-01-25 CN CN202410111327.XA patent/CN117939450A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601594B2 (en) | End-to-end service layer authentication | |
EP3432532B1 (en) | Key distribution and authentication method, apparatus and system | |
CN110474875B (zh) | 基于服务化架构的发现方法及装置 | |
US20160269176A1 (en) | Key Configuration Method, System, and Apparatus | |
WO2018040758A1 (zh) | 认证方法、认证装置和认证系统 | |
EP3537652B1 (en) | Method for securely controlling smart home appliance and terminal device | |
JP2017513327A (ja) | ソーシャルWi−Fiメッシュネットワークに加わるための安全で簡略化された手続き | |
EP3794852B1 (en) | Secure methods and systems for identifying bluetooth connected devices with installed application | |
WO2011142353A1 (ja) | 通信装置および通信方法 | |
CN112997447A (zh) | 用于无线设备的基于时间戳的接入处理 | |
CN111699706A (zh) | 用于通过蓝牙低能耗连接进行通信的主从系统 | |
CN114142995B (zh) | 面向区块链中继通信网络的密钥安全分发方法及装置 | |
CN111654481A (zh) | 一种身份认证方法、装置和存储介质 | |
JP5721183B2 (ja) | 無線lan通信システム、無線lan親機、通信接続確立方法、及びプログラム | |
CN106487761B (zh) | 一种消息传输方法和网络设备 | |
CN113271586B (zh) | 电力设备体域网安全通信方法及系统、存储介质 | |
CN117939450A (zh) | 蓝牙mesh网络的连接方法、装置和蓝牙通信系统 | |
CN111797417A (zh) | 文件的上传方法和装置、存储介质及电子装置 | |
CN109155913B (zh) | 网络连接方法、安全节点的确定方法及装置 | |
CN113194471B (zh) | 基于区块链网络的无线网络接入方法、装置和终端 | |
JP2014165919A (ja) | 制限エリア内で認証を行うモバイル装置、システム及び方法 | |
WO2017118269A1 (zh) | 一种空口标识的保护方法及装置 | |
CN112218171B (zh) | 基于接口的数据传输方法、电子设备及存储介质 | |
TW201705739A (zh) | 時間戳記認證系統及方法 | |
CN110234110B (zh) | 一种移动网络自动切换方法 |
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 |