一种智能物联网平台蓝牙广播配网方法与流程
未命名
09-13
阅读:84
评论:0

1.本发明涉及数据传输技术领域,特别涉及一种智能物联网平台蓝牙广播配网方法。
背景技术:
2.在现有技术中,蓝牙ble协议,是蓝牙技术联盟设计和销售的一种个人局域网技术,旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙,低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。蓝牙ble广播:蓝牙设备通过广播表明自己的存在,等待被连接,两个蓝牙设备想要建立连接,第一步是从机(server)向外广播,主机(client)搜索到后发起请求。从机广播中包含设备的相关信息,比如设备名称,设备具有的服务uuid等。
3.与本发明接近的技术方案是使用ble协议通信配网流程:a与b两个ble设备,a发送广播,b通过扫描流程收到此广播,并得知了a的mac地址,名称和其它相关信息,并且发起连接请求,a收到了连接请求后回复接受此请求从而完成了链路的建立;接着a将已知的wifi热点的ssid和密码,通过物理链路和ble的自定义profile,发给b设备,从而,让b设备获得了wifi的信息,并且进行之后的连接操作。
4.现在常规的蓝牙配网方式,一般均是需要两个设备先通过蓝牙建立物理链路,然后才能进行wifi的信息传递,需要建立物理链路,并且需要在两个设备端分别创建蓝牙ble的profile服务接口,既增加了数据交互的流程和复杂度,又会因环境干扰而增加数据传输的不稳定性。
5.此外,现有技术中的常用术语如下:
6.1.物联网平台:一种主要用于小数据采集,命令控制的低数据量通信传输平台。
7.2.ble:蓝牙低能耗(bluetooth low energy,或称bluetooth le、ble,旧商标bluetooth smart)也称低功耗蓝牙。
8.3.广播包:蓝牙ble协议中的一种发送本设备信息的方式,旨在告知周边ble设备一些关键性信息,比如自己的mac地址,自己的设备名称等。
9.4.profile:蓝牙协议的基本框架与配置说明,能够完整描述蓝牙某功能协议的流程和设备角色等。
10.5.ssid:service set identifier的缩写,意思是:服务集标识。ssid技术可以将一个无线局域网分为几个需要不同身份验证的子网络,每一个子网络都需要独立的身份验证,只有通过身份验证的用户才可以进入相应的子网络,防止未被授权的用户进入本网络。ssid通常由ap广播出来,通过xp自带的扫描功能可以查看当前区域内的ssid。简单说,ssid就是一个局域网的名称,只有设置为名称相同ssid的值的电脑才能互相通信。
技术实现要素:
11.为了解决上述问题,本方法的目的在于:针对上述方案中的缺陷,进行弥补和改
善,当a设备需要向b设备传递wifi的连接信息时,仅需要通过广播数据进行传递,不需要之后的一系列建立链接、通信、profile服务接口的对接等工作。
12.具体地,本发明提供一种智能物联网平台蓝牙广播配网方法,所述方法是当ble的a设备需要向ble的b设备进行蓝牙配网的操作时,因为配网所需的数据量少,a与b设备能够不进行链路的建立,而是a设备仅仅通过发送广播包,b设备进行监听,将wifi热点的信息传递给b设备;所述广播包分为adv data和scan resp两个类型,每个类型能够发送31个字节,相加后,能够发送62个字节,对于wifi的ssid和密码这类数据量少的能够实现传递,如果数据字节数超过62个字节,仅仅需要做分包处理即可。
13.所述方法包括以下步骤:
14.s1,当ble的a设备需要向ble的b设备进行蓝牙配网的操作,a设备发送广播包,
15.s1.1,首先定义一个通信协议的流程与框架,包括广播包的数据结构:包括总包数、包序号、本包长度和wifi信息数据,其中,所述wifi信息数据包括ssid和密码;
16.s1.2,当所述a设备需要广播wifi的信息数据时,先判断ssid和密码的数据总长度,以确定是否需要分包;
17.s1.3,如果所述一个广播包能够包含广播的完整的wifi信息,则总包数为1,直接进行步骤s2;
18.如果所述一个广播包无法包含广播的完整的wifi信息,则需要拆分,并通过计算确定拆分为n个包,其中n为正整数;
19.s1.4,当所述a设备将所述n个包准备好后,开启广播,并将n个包进行轮询发送;
20.s2,所述b设备靠近a设备的广播范围并开启监听模式,s2.1,因为b设备可能是在a设备发任一包的时候开始监听,因此b设备需要通过总包数来判断数据包一共需要监听n个包才完整,并通过包序号来判断当前包是第几个;
21.s2.2,根据总包数获得需要收到n个包才能将数据组合完整,组合数据;s3,完成wifi配网。
22.所述步骤s1中,
23.所述的广播包协议格式:
24.1byte1byte1byte28bytes总包数包序号本包长度wifi信息数据
25.总包数:当wifi信息数据的长度超过28个字节时,就需要分包处理,总包数的意义就是告知接收端,一共要接收几个包的数据,才能完整得到wifi信息数据;
26.包序号:当进行了分包处理后,当前包属于总包数的第几个包,假如加入总包数是n,包序号是n-1,那么说明当前包是第n-1个包,还需要收到1,2,
……
n-2和n包才能将数据组合完整,其中n为正整数;
27.本包长度:描述了当前包的wifi信息数据的具体数据长度;
28.wifi信息数据:实际的wifi数据,包括ssid和密码,定义如下:
29.1bytem bytes1byten bytesssid字节长度mssid实际数据密码字节长度n密码实际数据
30.以上wifi信息数据的格式定义,能够将ssid和密码两个字段数据进行有效分隔,避免分隔符与字段数据实际内容重复或冲突,导致识别出错。
31.所述方法中假设wifi的信息数据总数据长度大于广播包单包的数据长度31个字节,ssid有32个字节,密码有32个字节,因此总长度是64个字节,一个广播包肯定无法包含,需要拆分成三个包进行发送。
32.所述三个包表示如下:
33.包1
34.总包数包序号本包长度wifi信息数据3128实际数据
35.包2
36.总包数包序号本包长度wifi信息数据3228实际数据
37.包3
38.总包数包序号本包长度wifi信息数据3310(8个实际数据+2个长度字节)实际数据
39.所述方法进一步包括:
40.s1.4,a设备将所述三个包准备好后,开启广播,并将所述三个包进行轮询发送,每个包发送100ms;
41.s2,b设备靠近a的广播范围并开启监听模式,所述三个包则300ms内将所有数据监听完毕,并得到wifi的信息数据。
42.所述方法wifi的信息数据如果都是通过明文传输的,对于安全性没有进行特别的处理和规范;如果针对安全性有要求,将wifi的信息数据进行加密处理,包括进行一个ascii码的加减处理,这样就能将明文变成密文提高传输的安全性。
43.由此,本技术的优势在于:本方法简单,易操作,并且ble设备间通信不需要建立物理链路;ble设备通过广播包即可进行wifi配网。极大的节省了通信逻辑的复杂度,并且受环境干扰的影响也会相应的降低,一举多得。
附图说明
44.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
45.图1是本发明方法的流程示意图。
具体实施方式
46.为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
47.如图1所示,本发明涉及一种智能物联网平台蓝牙广播配网方法,所述方法包括以下步骤:
48.s1,当ble的a设备需要向ble的b设备进行蓝牙配网的操作,a设备发送广播包,
49.s1.1,首先定义一个通信协议的流程与框架,包括广播包的数据结构:包括总包数、包序号、本包长度和wifi信息数据,其中,所述wifi信息数据包括ssid和密码;
50.s1.2,当所述a设备需要广播wifi的信息数据时,先判断ssid和密码的数据总长度,以确定是否需要分包;
51.s1.3,如果所述一个广播包能够包含广播的完整的wifi信息,则总包数为1,直接进行步骤s2;
52.如果所述一个广播包无法包含广播的完整的wifi信息,则需要拆分,并通过计算确定拆分为n个包,其中n为正整数;
53.s1.4,当所述a设备将所述n个包准备好后,开启广播,并将n个包进行轮询发送;
54.s2,所述b设备靠近a设备的广播范围并开启监听模式,
55.s2.1,因为b设备可能是在a设备发任一包的时候开始监听,因此b设备需要通过总包数来判断数据包一共需要监听n个包才完整,并通过包序号来判断当前包是第几个;
56.s2.2,根据总包数获得需要收到n个包才能将数据组合完整,组合数据;
57.s3,完成wifi配网。
58.具体地,所述方法还可以进一步描述如下:
59.当a设备需要向b设备进行蓝牙配网的操作时,因为配网所需的数据量较少,a与b设备可以不进行链路的建立,而是a设备仅仅通过发送广播包,b设备进行监听,将wifi热点的信息传递给b设备。广播包分为adv data和scan resp两个类型,每个类型可以发送31个字节,相加后,能够发送62个字节,对于像wifi的ssid和密码这类的少量数据的传递,是非常有效的,如果数据字节数超过62个字节,仅仅需要做简单的分包处理即可。这种方法既简化了数据交互的步骤和难度,又提高了抗干扰能力。
60.以下是针对蓝牙广播配网的流程,定义的一个具体通信协议的流程与框架,包括广播包的数据结构都做了具体的规划和定义:
61.广播包协议格式:
62.1byte1byte1byte28bytes总包数包序号本包长度wifi信息数据
63.总包数:当wifi信息数据的长度超过28个字节时,就需要分包处理,总包数的意义就是告知接收端,一共要接收几个包的数据,才能完整得到wifi信息数据.
64.包序号:当进行了分包处理后,当前包属于总包数的第几个包,假如总包数是4,包序号是3,那么说明当前包是第三个包,还需要收到1,2和4三个包才能将数据组合完整。
65.本包长度:描述了当前包的wifi信息数据的具体数据长度。
66.wifi信息数据:实际的wifi数据,包括ssid和密码,详细定义如下:
67.1bytem bytes1byten bytesssid字节长度mssid实际数据密码字节长度n密码实际数据
68.以上wifi信息数据的格式定义,可以有效的将ssid和密码两个字段数据进行有效分隔,避免分隔符与字段数据实际内容重复或冲突,导致识别出错。
69.下面基于以上广播格式,进行简单的通信流程描述:
70.当a设备需要广播wifi的信息数据时,首先先判断ssid和密码的数据总长度,然后进行分包,假设wifi的信息数据较长,ssid有32个字节(假设为:mywifissidisabcdefhijklmnopqrstu),密码有32个字节(假设为:mywifipasswdis1234567890!@#$%^&*),再加上两个长度字节2,因此总长度是66个字节,一个广播包肯定无法包含。需要拆分成三个包进行
发送:
71.包1
72.总包数包序号本包长度wifi信息数据3128实际数据
73.包1的实际数据是:[0x20]mywifissidisabcdefhijklmnop,其中[0x20]是ssid长度的16进制表示,在实际包中只占一个字节空间;
[0074]
包2
[0075]
总包数包序号本包长度wifi信息数据3228实际数据
[0076]
包2的实际数据是:qrstu[0x20]mywifipasswdis12345678其中[0x20]是密码长度的16进制表示,在实际包中只占一个字节空间;
[0077]
包3
[0078]
总包数包序号本包长度wifi信息数据338实际数据
[0079]
包3的实际数据是:90!@#$%^&*。
[0080]
a设备将以上三个包准备好后,开启广播,并将上面三个包进行轮询发送,每个包发送100ms左右。
[0081]
b设备靠近a的广播范围并开启监听模式,因为b可能是在a发任何包的时候开始监听,因此b设备需要通过总包数来判断数据包一共需要监听几个才完整,并通过包序号来判断当前包是第几个。以本例来讲,300ms内就可以将所有数据监听完毕,并得到wifi的信息数据。
[0082]
组合数据的过程:b设备根据包序号和各自包的长度将wifi信息数据进行拼接,得到整体的数据字段信息:
[0083]
[0x20]mywifissidisabcdefhijklmnopqrstu[0x20]mywifipasswdis1234567890!@#$%^&*,从上述信息中,第一个字节是ssid的长度字段,从而可以向后计算32个字节,从而得到ssid:mywifissidisabcdefhijklmnopqrstu,之后的一个字节是密码长度的字段,从而再向后计算32个字节,得到密码信息:mywifipasswdis1234567890!@#$%^&*。
[0084]
本例中,wifi的信息数据都是通过明文传输的,对于安全性没有进行特别的处理和规范。如果针对安全性有要求,可以将wifi的信息数据进行简单的加密处理,比如说进行一个ascii码的加减处理,这样就能一定程度的将明文变成密文,提高传输的安全可靠性。
[0085]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种智能物联网平台蓝牙广播配网方法,其特征在于,所述方法是当ble的a设备需要向ble的b设备进行蓝牙配网的操作时,因为配网所需的数据量少,a与b设备能够不进行链路的建立,而是a设备仅仅通过发送广播包,b设备进行监听,将wifi热点的信息传递给b设备;所述广播包分为adv data和scan resp两个类型,每个类型能够发送31个字节,相加后,能够发送62个字节,对于wifi的ssid和密码这类数据量少的能够实现传递,如果数据字节数超过62个字节,仅仅需要做分包处理即可。2.根据权利要求1所述的一种智能物联网平台蓝牙广播配网方法,其特征在于,所述方法进一步包括以下步骤:s1,当ble的a设备需要向ble的b设备进行蓝牙配网的操作,a设备发送广播包,s1.1,首先定义一个通信协议的流程与框架,包括广播包的数据结构:包括总包数、包序号、本包长度和wifi信息数据,其中,所述wifi信息数据包括ssid和密码;s1.2,当所述a设备需要广播wifi的信息数据时,先判断ssid和密码的数据总长度,以确定是否需要分包;s1.3,如果所述一个广播包能够包含广播的完整的wifi信息,则总包数为1,直接发送并进行步骤s2;如果所述一个广播包无法包含广播的完整的wifi信息,则需要拆分,并通过计算确定拆分为n个包,其中n为正整数;s1.4,当所述a设备将所述n个包准备好后,开启广播,并将n个包进行轮询发送;s2,所述b设备靠近a设备的广播范围并开启监听模式,s2.1,因为b设备可能是在a设备发任一包的时候开始监听,因此b设备需要通过总包数来判断数据包一共需要监听n个包才完整,并通过包序号来判断当前包是第几个;s2.2,根据总包数获得需要收到n个包才能将数据组合完整,组合数据;s3,完成wifi配网。3.根据权利要求2所述的一种智能物联网平台蓝牙广播配网方法,其特征在于,所述步骤s1中,所述的广播包协议格式:1byte1byte1byte28bytes总包数包序号本包长度wifi信息数据总包数:当wifi信息数据的长度超过28个字节时,就需要分包处理,总包数的意义就是告知接收端,一共要接收几个包的数据,才能完整得到wifi信息数据;包序号:当进行了分包处理后,当前包属于总包数的第几个包,假如加入总包数是n,包序号是n-1,那么说明当前包是第n-1个包,还需要收到1,2,
……
n-2和n包才能将数据组合完整,其中n为正整数;本包长度:描述了当前包的wifi信息数据的具体数据长度;wifi信息数据:实际的wifi数据,包括ssid和密码,定义如下:1bytem bytes1byten bytesssid字节长度mssid实际数据密码字节长度n密码实际数据以上wifi信息数据的格式定义,能够将ssid和密码两个字段数据进行有效分隔,避免分隔符与字段数据实际内容重复或冲突,导致识别出错。
4.根据权利要求3所述的一种智能物联网平台蓝牙广播配网方法,其特征在于,假设wifi的信息数据总数据长度大于广播包单包的数据长度31个字节,ssid有32个字节,密码有32个字节,因此总长度是64个字节,一个广播包肯定无法包含,需要拆分成三个包进行发送。5.根据权利要求4所述的一种智能物联网平台蓝牙广播配网方法,其特征在于,所述三个包表示如下:包1总包数包序号本包长度wifi信息数据3128实际数据包2总包数包序号本包长度wifi信息数据3228实际数据包3总包数包序号本包长度wifi信息数据3310(8个实际数据+2个长度字节)实际数据。6.根据权利要求5所述的一种智能物联网平台蓝牙广播配网方法,其特征在于,所述ssid有32个字节,假设为:mywifissidisabcdefhijklmnopqrstu,所述密码有32个字节,假设为:mywifipasswdis1234567890!@#$%^&*,ssid和密码总长度是64个字节,再加上两个长度字节,数据总长度为66个字节,需要拆分成三个包进行发送:包1总包数包序号本包长度wifi信息数据3128实际数据包1的实际数据是:[0x20]mywifissidisabcdefhijklmnop,其中[0x20]是ssid长度的16进制表示,在实际包中只占一个字节空间;包2总包数包序号本包长度wifi信息数据3228实际数据包2的实际数据是:qrstu[0x20]mywifipasswdis12345678其中[0x20]是密码长度的16进制表示,在实际包中只占一个字节空间;包3总包数包序号本包长度wifi信息数据3310(8个实际数据+2个长度字节)实际数据包3的实际数据是:90!@#$%^&*。7.根据权利要求6所述的一种智能物联网平台蓝牙广播配网方法,其特征在于,所述方法进一步包括:
s1.4,a设备将所述三个包准备好后,开启广播,并将所述三个包进行轮询发送,每个包发送100ms;s2,b设备靠近a的广播范围并开启监听模式,所述三个包则300ms内将所有数据监听完毕,并得到wifi的信息数据。8.根据权利要求7所述的一种智能物联网平台蓝牙广播配网方法,其特征在于,所述组合数据的过程如下:b设备根据包序号和各自包的长度将wifi信息数据进行拼接,得到整体的数据字段信息:[0x20]mywifissidisabcdefhijklmnopqrstu[0x20]mywifipasswdis1234567890!@#$%^&*,从上述信息中,第一个字节是ssid的长度字段,从而能够向后计算32个字节,从而得到ssid:mywifissidisabcdefhijklmnopqrstu,之后的一个字节是密码长度的字段,从而再向后计算32个字节,得到密码信息:mywifipasswdis1234567890!@#$%^&*。9.根据权利要求1所述的一种智能物联网平台蓝牙广播配网方法,其特征在于,所述方法中wifi的信息数据如果都是通过明文传输的,对于安全性没有进行特别的处理和规范;如果针对安全性有要求,将wifi的信息数据进行加密处理,包括进行一个ascii码的加减处理,即能将明文变成密文提高传输的安全性。
技术总结
本发明提供一种智能物联网平台蓝牙广播配网方法,当BLE的A设备需要向BLE的B设备进行蓝牙配网的操作时,因为配网所需的数据量少,A与B设备能够不进行链路的建立,而是A设备仅仅通过发送广播包,B设备进行监听,将WIFI热点的信息传递给B设备;所述广播包分为ADV DATA和SCAN RESP两个类型,每个类型能够发送31个字节,相加后,能够发送62个字节,对于像WIFI的SSID和密码这类的少量数据的传递能够实现有效传递,如果数据字节数超过62个字节,仅仅需要做分包处理即可。当A设备需要向B设备传递WIFI的连接信息时,仅需要通过广播数据进行传递,不需要之后的一系列复杂工作,极大的节省了通信逻辑的复杂度,并且受环境干扰的影响也会相应的降低,一举多得。一举多得。一举多得。
技术研发人员:姜从龙
受保护的技术使用者:北京君正集成电路股份有限公司
技术研发日:2022.03.04
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/