首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 请求书 / 发明名称 / 一种适用于云音箱建立连接的方法及系统

一种适用于音箱建立连接的方法及系统

阅读:1031发布:2020-06-27

专利汇可以提供一种适用于音箱建立连接的方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种适用于 云 音箱建立连接的方法及系统;本方案采用对移动设备连接的网络名称进行编码的方式,得到编码后的网络名称的长度,根据编码后的网络名称和编码后的网络名称的长度进行数据包组包,将数据包发送给云音箱,云音箱接收并解析数据包,获取网络名称和密码连接网络,并与 服务器 建立连接成功。本发明解决了云音箱使用微信客户端的方式配网连接过程中组包失败的问题,从而解决了智能设备无法配网的问题,及云音箱与服务器连接失败的问题,提升了用户体验。,下面是一种适用于音箱建立连接的方法及系统专利的具体信息内容。

1.一种适用于音箱建立连接的方法,其特征在于,包括:
S1、移动终端获取网络名称和密码;
S2、所述移动终端构造前导域数据;
S3、所述移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;获取密码的预设码,将预设码转换为二进制数据,根据所述预设编码方法将二进制数据进行编码,得到第二编码数据;根据第一预设算法对所述第一编码数据和第一编码数据的长度进行计算得到第一校验值;根据第一预设算法对所述第二编码数据和第二编码数据的长度进行计算得到第二校验值;
S4、所述移动终端将所述第一编码数据和所述第一校验值进行组合得到第一数据;将所述第二编码数据和所述第二校验值进行组合得到第二数据;将所述第一编码数据、所述第二编码数据和移动终端生成的随机数组合得到第三数据;
S5、所述移动终端根据所述前导域数据、所述第一数据、所述第二数据和所述第三数据拼接得到数据包,并将所述数据包发送给智能设备;
S6、所述智能设备接收并解析数据包,获取网络名称和密码并进行网络连接,网络连接成功后与服务器建立连接。
2.根据权利要求1所述的方法,其特征在于,所述移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据,具体为:所述移动终端顺序获取网络名称中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据。
3.根据权利要求2所述的方法,其特征在于,所述移动终端获取网络名称中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码。
4.根据权利要求3所述的方法,其特征在于,所述将预设字符和统一码写入预设变量中之后还包括:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
5.根据权利要求1所述的方法,其特征在于,所述根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值,具体为:将所述第一编码数据的长度作为除数,将所述第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
所述将所述第一编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第一编码数据。
6.根据权利要求1所述的方法,其特征在于,所述获取密码的预设码,将预设码转换为二进制数据,根据所述预设编码方法将二进制数据进行编码,得到第二编码数据,具体为:
所述移动终端顺序获取密码中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
7.根据权利要求6所述的方法,其特征在于,所述获取密码中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
8.根据权利要求1所述的方法,其特征在于,所述根据第一预设算法对所述第二编码数据和第二编码数据的长度进行计算得到第二校验值,具体为:将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
将第二编码数据变换后作为被除数具体为:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数长度相同位数的第二预设值,得到变换后的第二编码数据。
9.根据权利要求2或6所述的方法,其特征在于,所述预设编码方法具体为:
当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
10.根据权利要求9所述的方法,其特征在于,所述将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
11.一种适用于云音箱建立连接的系统,其特征在于,所述系统包括:移动终端和智能设备;
所述移动终端包括:第一获取模、构造模块、编码模块、计算模块、组合模块、发送模块;
所述第一获取模块,用于获取网络名称和密码;
所述构造模块,用于构造前导域数据;
所述第一获取模块,还用于获取网络名称的预设码;还用于获取密码的预设码;
所述编码模块,用于将所述第一获取模块获取的网络名称的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;还用于将所述第一获取模块获取的密码的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;
所述计算模块,用于根据第一预设算法对所述第一编码数据和第一编码数据的长度进行计算得到第一校验值;还用于根据第一预设算法对所述第二编码数据和第二编码数据的长度进行计算得到第二校验值;
所述组合模块,用于将所述第一编码数据和所述第一校验值进行组合得到第一数据;
还用于将所述第二编码数据和所述第二校验值进行组合得到第二数据;还用于将所述第一编码数据、所述第二编码数据和移动终端生成的随机数组合得到第三数据;
所述组合模块,还用于根据所述构造模块构造的前导域数据、所述第一数据、所述第二数据和所述第三数据拼接得到数据包;
所述发送模块,用于将所述组合模块拼接得到的数据包发送给所述智能设备;
所述智能设备包括:接收模块、解析模块、第二获取模块、连接模块;
所述接收模块,用于接收移动终端发送的数据包;
所述解析模块,用于解析所述接收模块接收到的数据包;
所述第二获取模块,用于获取所述解析模块解析得到的数据包中的网络名称和密码;
所述连接模块,用于根据所述第二获取模块获取到的网络名称和密码进行网络连接;
还用于网络连接成功后与服务器建立连接。
12.根据权利要求11所述的系统,其特征在于,所述第一获取模块包括第一获取子模块,所述第一获取子模块具体用于:顺序获取网络名称中每一个字段的预设码;
所述编码模块包括第一编码子模块,所述第一编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据。
13.根据权利要求12所述的系统,其特征在于,所述第一获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码。
14.根据权利要求13所述的系统,其特征在于,当所述第一获取子模块具体用于将预设字符和统一码写入预设变量中时,所述第一获取子模块具体用于:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
15.根据权利要求11所述的系统,其特征在于,所述计算模块包括第一计算子模块,所述第一计算子模块用于将所述第一编码数据的长度作为除数,将所述第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
当所述第一计算子模块用于将所述第一编码数据变换后作为被除数时,所述第一计算子模块具体用于:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值。
16.根据权利要求11所述的系统,其特征在于,其特征在于,所述第一获取模块包括第二获取子模块,所述第二获取子模块具体用于:顺序获取密码中每一个字段的预设码;
所述编码模块包括第二编码子模块,所述第二编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
17.根据权利要求16所述的系统,其特征在于,所述第二获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
18.根据权利要求11所述的系统,其特征在于,所述计算模块包括第二计算子模块,所述第二计算子模块用于将所述第二编码数据的长度作为除数,将所述第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
当所述第二计算子模块用于将所述第二编码数据变换后作为被除数时,所述第二计算子模块具体用于:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数相同位数的第二预设值。
19.根据权利要求12或16所述的系统,其特征在于,所述预设编码规则方法具体为:
当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
20.根据权利要求19所述的系统,其特征在于,当所述第二编码子模块或所述第一编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,所述第二编码子模块或所述第一编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。

说明书全文

一种适用于音箱建立连接的方法及系统

技术领域

[0001] 本发明涉及互联网技术领域,特别涉及一种适用于云音箱建立连接的方法及系统。

背景技术

[0002] 随着移动互联网与物联网技术的发展,越来越多的设备具有了无线网络的接入能。这些设备的特点是小型化以及低功耗,大多数类似的设备都没有配置屏幕以及键盘等输入外设,因此如何将无线网络的名称与密码传输到这类设备成为一大难题。
[0003] 目前,为云音箱等智能设备配网的方式通常都是通过移动终端,将网络WiFi名称和密码通过广播包发送到空中,云音箱等智能设备接收到广播包进行配网;然而,云音箱等智能设备在使用微信客户端的方式配置设备配网连接过程中会存在组包失败的问题,从而造成智能设备无法配网,及与服务器建立连接失败。

发明内容

[0004] 本发明提供了一种适用于云音箱建立连接的方法即系统,解决了上述技术问题。
[0005] 本发明提供的一种适用于云音箱建立连接的方法,该方法包括:
[0006] S1、移动终端获取网络名称和密码;
[0007] S2、移动终端构造前导域数据;
[0008] S3、移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值;根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值;
[0009] 可选地,移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据,具体为:移动终端顺序获取网络名称中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据;
[0010] 优选的,移动终端获取网络名称中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码;
[0011] 其中,将预设字符和统一码写入预设变量中之后还包括:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0;
[0012] 可选地,根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值,具体为:将第一编码数据的长度作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
[0013] 优选的,将第一编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第一编码数据;
[0014] 可选地,获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据,具体为:移动终端顺序获取密码中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据;
[0015] 优选地,获取密码中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中;
[0016] 可选地,根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值,具体为:将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
[0017] 其中,将第二编码数据变换后作为被除数具体为:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数长度相同位数的第二预设值,得到变换后的第二编码数据;
[0018] 其中,预设编码方法具体为:
[0019] 当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
[0020] 当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
[0021] 当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
[0022] 当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10;
[0023] 优选的,将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
[0024] S4、移动终端将第一编码数据和第一校验值进行组合得到第一数据;将第二编码数据和第二校验值进行组合得到第二数据;将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
[0025] S5、移动终端根据前导域数据、第一数据、第二数据和第三数据拼接得到数据包,并将数据包发送给智能设备;
[0026] S6、智能设备接收并解析数据包,获取网络名称和密码并进行网络连接,网络连接成功后与服务器建立连接。
[0027] 本发明提供的一种适用于云音箱建立连接的系统,该系统包括:移动终端和智能设备;
[0028] 其中,移动终端包括:第一获取模、构造模块、编码模块、计算模块、组合模块、发送模块;
[0029] 具体地,第一获取模块,用于获取网络名称和密码;
[0030] 具体地,构造模块,用于构造前导域数据;
[0031] 具体地,第一获取模块,还用于获取网络名称的预设码;还用于获取密码的预设码;
[0032] 可选地,第一获取模块包括第一获取子模块,第一获取子模块具体用于:顺序获取网络名称中每一个字段的预设码;
[0033] 优选的,第一获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码;
[0034] 其中,当第一获取子模块具体用于将预设字符和统一码写入预设变量中时,第一获取子模块具体用于:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
[0035] 可选地,第一获取模块包括第二获取子模块,第二获取子模块具体用于:顺序获取密码中每一个字段的预设码;
[0036] 优选的,第二获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
[0037] 具体地,编码模块,用于将第一获取模块获取的网络名称的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;还用于将第一获取模块获取的密码的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;
[0038] 可选地,编码模块包括第一编码子模块,第一编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据;
[0039] 可选地,编码模块包括第二编码子模块,第二编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
[0040] 其中,预设编码规则方法具体为:
[0041] 当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
[0042] 当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
[0043] 当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
[0044] 当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
[0045] 其中,第一编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,所述第一编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
[0046] 第二编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,所述第二编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
[0047] 具体地,计算模块,用于根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值;还用于根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值;
[0048] 可选地,计算模块包括第一计算子模块,第一计算子模块用于将第一编码数据的长度作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
[0049] 其中,当第一计算子模块用于将第一编码数据变换后作为被除数时,第一计算子模块具体用于:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值。
[0050] 可选地,计算模块包括第二计算子模块,第二计算子模块用于将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
[0051] 其中,当第二计算子模块用于将第二编码数据变换后作为被除数时,第二计算子模块具体用于:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数相同位数的第二预设值。
[0052] 具体地,组合模块,用于将第一编码数据和第一校验值进行组合得到第一数据;还用于将第二编码数据和第二校验值进行组合得到第二数据;还用于将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
[0053] 具体地,组合模块,还用于根据构造模块构造的前导域数据、第一数据、第二数据和第三数据拼接得到数据包;
[0054] 具体地,发送模块,用于将组合模块拼接得到的数据包发送给智能设备;
[0055] 其中,智能设备包括:接收模块、解析模块、第二获取模块、连接模块;
[0056] 具体地,接收模块,用于接收移动终端发送的数据包;
[0057] 具体地,解析模块,用于解析接收模块接收到的数据包;
[0058] 具体地,第二获取模块,用于获取解析模块解析得到的数据包中的网络名称和密码;
[0059] 具体地,连接模块,用于根据第二获取模块获取到的网络名称和密码进行网络连接;还用于网络连接成功后与服务器建立连接。
[0060] 本发明的有益效果:本发明提供了一种适用于云音箱建立连接的方法及系统;本方案采用对移动设备连接的网络名称进行编码的方式,得到编码后的网络名称的长度,根据编码后的网络名称和编码后的网络名称的长度进行数据包组包,将数据包发送给云音箱,云音箱接收并解析数据包,获取网络名称和密码连接网络,并与服务器建立连接成功。本发明解决了云音箱使用微信客户端的方式配网连接过程中组包失败的问题,从而解决了智能设备无法配网的问题,及云音箱与服务器连接失败的问题,提升了用户体验。
附图说明
[0061] 图1为本发明实施例二提供的一种适用于云音箱建立连接方法的流程图
[0062] 图2为本发明实施例三提供的一种适用于云音箱建立连接的系统框图

具体实施方式

[0063] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0064] 实施例一
[0065] 本实施例提供了一种适用于云音箱建立连接的方法,该方法包括:
[0066] 步骤S1、移动终端获取网络名称和密码;
[0067] 步骤S2、移动终端构造前导域数据;
[0068] 步骤S3、移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值;根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值;
[0069] 步骤S4、移动终端将第一编码数据和第一校验值进行组合得到第一数据;将第二编码数据和第二校验值进行组合得到第二数据;将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
[0070] 步骤S5、移动终端根据前导域数据、第一数据、第二数据和第三数据拼接得到数据包,并将数据包发送给智能设备;
[0071] 步骤S6、智能设备接收并解析数据包,获取网络名称和密码并进行网络连接,网络连接成功后与服务器建立连接。
[0072] 在本实施例中,移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据,具体为:移动终端顺序获取网络名称中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据。
[0073] 在本实施例中,移动终端获取网络名称中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码。
[0074] 可选地,将预设字符和统一码写入预设变量中之后还包括:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
[0075] 在本实施例中,根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值,具体为:将第一编码数据的长度作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
[0076] 可选地,将第一编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第一编码数据。
[0077] 在本实施例中,获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据,具体为:移动终端顺序获取密码中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
[0078] 在本实施例中,获取密码中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
[0079] 在本实施例中,根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值,具体为:将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
[0080] 可选地,将第二编码数据变换后作为被除数具体为:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数长度相同位数的第二预设值,得到变换后的第二编码数据。
[0081] 在本实施例中,预设编码方法具体为:
[0082] 当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
[0083] 当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
[0084] 当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
[0085] 当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
[0086] 在本实施例中,将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
[0087] 实施例二
[0088] 本实施例提供了一种适用于云音箱建立连接的方法,如图1所示,该方法包括:
[0089] 步骤101、移动终端获取网络名称和密码;
[0090] 在本实施例中,网络名称为移动终端连接的WiFi名称,也可以是SSID,密码为移动终端连接的WiFi密码,也可以是password;
[0091] 例如,WiFi名称ssid为:飞天;password为:ftsafe123456。
[0092] 步骤102、移动终端构造前导域数据;
[0093] 在本实施例中,前导域由4个字节组成,其值固定为{1,2,3,4};
[0094] 步骤103、移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值;根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值;
[0095] 在本实施例中,获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据,具体为:
[0096] a1.顺序获取网络名称中每一个字段的预设码;
[0097] 获取网络名称中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码,判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码;
[0098] 可选地,将统一码写入预设变量中之后还包括:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0;
[0099] 具体地,预设的变量为:NSMutableString*s=[NSMutableStringstringWithCapacity:0];
[0100] 例如,网络名称为:飞天;
[0101] 网络名称中的‘飞’字段为中文,则获取‘飞’的统一码为98de,预设字符为“\u”,得到‘飞’字段的预设码:\u98de;
[0102] 网络名称中的‘天’字段为中文,则获取‘天’的统一码为5929,预设字符为“\u”,得到‘天’字段的预设码:\u5929。
[0103] a2.将每一个字段的预设码转换为二进制数据;
[0104] 具体地,例如,‘飞’字段的预设码转换为二进制数据为:1001100011011110;
[0105] ‘天’字段的预设码转换为二进制数据为:101100100101001。
[0106] a3.根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,
[0107] 在本实施例中,预设编码方法具体为:当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10;
[0108] 具体地,第一预设区间为0000 0000-0000 007F;
[0109] 第二预设区间为0000 0080-0000 07FF;
[0110] 第三预设区间为0000 0800-0000 FFFF;
[0111] 第四预设区间为0001 0000-0010 FFFF;
[0112] 具体对应的编码形式如以下类型:
[0113] a.0000 0000-0000 007F|0xxxxxxx
[0114] b.0000 0080-0000 07FF|110xxxxx 10xxxxxx
[0115] c.0000 0800-0000 FFFF|1110xxxx 10xxxxxx 10xxxxxx
[0116] d.0001 0000-0010 FFFF|11110xxx 10xxxxxx 10xxxxxx 10xxxxxx;
[0117] 可选地,将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中;
[0118] 具体地,例如,‘飞’字段的预设码的值在0800-0000 FFFF区间中,则‘飞’字段的编码形式为类型c,将‘飞’字段的二进制数据1001100011011110写入编码形式c中,得到‘飞’字段的编码数据为:111010011010001110011110;
[0119] ‘天’字段的预设码的值在0800-0000 FFFF区间中,则‘天’字段的编码形式为类型c,将‘天’字段的二进制数据101100100101001写入编码形式c中,得到‘飞’字段的编码数据为:111010011010001110011110;
[0120] a4.将每一个字段的编码数据进行组合得到第一编码数据。
[0121] 具体地,将网络名称中‘飞’、‘天’的编码数据进行组合得到第一编码数据为:111010011010001110011110 111010011010001110011110。
[0122] 在本实施例中,获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据,具体为:
[0123] b1.顺序获取密码中每一个字段的预设码;
[0124] 获取密码中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码,判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
[0125] 具体地,预设的变量为:NSMutableString*p=[NSMutableStringstringWithCapacity:0];
[0126] 例如,密码为:ftsafe123456;
[0127] 密码中的‘f’字段、‘t’字段、‘s’字段、‘a’字段、‘f’字段、‘e’字段均为英文,‘1’字段、‘2’字段、‘3’字段、‘4’字段、‘5’字段、‘6’字段均为数字,则将各个字段本身写入预设变量中,得到各个字段的预设码;
[0128] ‘f’字段的预设码:f;
[0129] ‘t’字段的预设码:t;
[0130] ‘s’字段的预设码:s;
[0131] ‘a’字段的预设码:a;
[0132] ‘f’字段的预设码:f;
[0133] ‘e’字段的预设码:e;
[0134] ‘1’字段的预设码:1;
[0135] ‘2’字段的预设码:2;
[0136] ‘3’字段的预设码:3;
[0137] ‘4’字段的预设码:4;
[0138] ‘5’字段的预设码:5;
[0139] ‘6’字段的预设码:6。
[0140] b2.将每一个字段的预设码转换为二进制数据;
[0141] 具体地,例如,‘f’字段的预设码转换为二进制数据为:01100110;
[0142] ‘t’字段的预设码转换为二进制数据为:01110100;
[0143] ‘s’字段的预设码转换为二进制数据为:01110011;
[0144] ‘a’字段的预设码转换为二进制数据为:01100001;
[0145] ‘f’字段的预设码转换为二进制数据为:01100110;
[0146] ‘e’字段的预设码转换为二进制数据为:01100101;
[0147] ‘1’字段的预设码转换为二进制数据为:1;
[0148] ‘2’字段的预设码转换为二进制数据为:10;
[0149] ‘3’字段的预设码转换为二进制数据为:11;
[0150] ‘4’字段的预设码转换为二进制数据为:100;
[0151] ‘5’字段的预设码转换为二进制数据为:101;
[0152] ‘6’字段的预设码转换为二进制数据为:110。
[0153] b3.根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,
[0154] 在本实施例中,预设编码方法具体为:当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10;
[0155] 具体地,第一预设区间为0000 0000-0000 007F;
[0156] 第二预设区间为0000 0080-0000 07FF;
[0157] 第三预设区间为0000 0800-0000 FFFF;
[0158] 第四预设区间为0001 0000-0010 FFFF;
[0159] 具体对应的编码形式如以下类型:
[0160] a.0000 0000-0000 007F|0xxxxxxx
[0161] b.0000 0080-0000 07FF|110xxxxx 10xxxxxx
[0162] c.0000 0800-0000 FFFF|1110xxxx 10xxxxxx 10xxxxxx
[0163] d.0001 0000-0010 FFFF|11110xxx 10xxxxxx 10xxxxxx 10xxxxxx;
[0164] 可选地,将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中;
[0165] 具体地,例如,‘f’字段的预设码的值在0000-007F区间中,则‘f’字段的编码形式为类型a,将‘f’字段的二进制数据01100110写入编码形式a中,得到‘f’字段的编码数据为:01100110;
[0166] ‘t’字段的预设码的值在0000-007F区间中,则‘t’字段的编码形式为类型a,将‘t’字段的二进制数据01110100写入编码形式a中,得到‘t’字段的编码数据为:01110100;
[0167] ‘s’字段的预设码的值在0000-007F区间中,则‘s’字段的编码形式为类型a,将‘s’字段的二进制数据01110011写入编码形式a中,得到‘s’字段的编码数据为:01110011;
[0168] ‘a’字段的预设码的值在0000-007F区间中,则‘a’字段的编码形式为类型a,将‘a’字段的二进制数据01100001写入编码形式a中,得到‘a’字段的编码数据为:01100001;
[0169] ‘f’字段的预设码的值在0000-007F区间中,则‘f’字段的编码形式为类型a,将‘f’字段的二进制数据01100110写入编码形式a中,得到‘f’字段的编码数据为:01100110;
[0170] ‘e’字段的预设码的值在0000-007F区间中,则‘e’字段的编码形式为类型a,将‘e’字段的二进制数据01100101写入编码形式a中,得到‘e’字段的编码数据为:01100101;
[0171] ‘1’字段的预设码的值在0000-007F区间中,则‘1’字段的编码形式为类型a,将‘1’字段的二进制数据1写入编码形式a中,得到‘1’字段的编码数据为:00000001;
[0172] ‘2’字段的预设码的值在0000-007F区间中,则‘2’字段的编码形式为类型a,将‘2’字段的二进制数据10写入编码形式a中,得到‘2’字段的编码数据为:00000010;
[0173] ‘3’字段的预设码的值在0000-007F区间中,则‘3’字段的编码形式为类型a,将‘3’字段的二进制数据11写入编码形式a中,得到‘3’字段的编码数据为:00000011;
[0174] ‘4’字段的预设码的值在0000-007F区间中,则‘4’字段的编码形式为类型a,将‘4’字段的二进制数据100写入编码形式a中,得到‘4’字段的编码数据为00000100:;
[0175] ‘5’字段的预设码的值在0000-007F区间中,则‘5’字段的编码形式为类型a,将‘5’字段的二进制数据101写入编码形式a中,得到‘5’字段的编码数据为:00000101;
[0176] ‘6’字段的预设码的值在0000-007F区间中,则‘6’字段的编码形式为类型a,将‘6’字段的二进制数据110写入编码形式a中,得到‘6’字段的编码数据为:00000110。
[0177] b4.将每一个字段的编码数据进行组合得到第二编码数据。
[0178] 具体地,将密码中‘f’字段、‘t’字段、‘s’字段、‘a’字段、‘f’字段、‘e’字段、‘1’字段、‘2’字段、‘3’字段、‘4’字段、‘5’字段、‘6’字段的编码数据进行组合得到第二编码数据为:01100110 01110100 01110011 01100001 01100110 01100101 0000000100000010 00000011 00000100 00000101 00000110。
[0179] 在本实施例中,根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值,具体为:
[0180] 将第一编码数据的长度的二进制数作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
[0181] 将第一编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第一编码数据;
[0182] 例 如 ,第一 编码 数据 为 :11 10 10 01 10 10 00 11 1 001 11 1 0 111010011010001110011110;对应的十六进制数据为:e9a39ee5a4a9;
[0183] 获取的第一编码数据的长度为:6字节;长度的二进制数据为:110;
[0184] 二进制数据的位数为3位,第一预设值为1,第二预设值为0;则第一编码数据变换后为:111010011010001110011110 11101001101000111001111000;
[0185] 得到的第一校验值为:0x22;
[0186] 在本实施例中,根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值,具体为:
[0187] 将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
[0188] 将第二编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第二编码数据;
[0189] 例如,第二编码数据为:01100110 01110100 01110011 01100001 01100110 0110010100000001 00000010 00000011 00000100 00000101 00000110;
[0190] 第二编码数据的长度为:12个字节;长度的二进制数据为1100;
[0191] 二进制数据的位数为4位,第一预设值为1,第二预设值为0;则
[0192] 第二编码数据变换后为:01100110 01110100 01110011 01100001 01100110 0110010100000001 00000010 00000011 00000100 00000101 00000110 000;
[0193] 计算得到的第二校验值为:0xa3。
[0194] 步骤104、移动终端将第一遍码数据和第一校验值进行组合得到第一数据;将第二编码数据和第二校验值进行组合得到第二数据;将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
[0195] 在本实施例中,移动终端生成的随机数具体为:移动终端通过调用随机数产生函数arc4random()生成随机数;
[0196] 具体地,第一数据为:0x01,0x13,0x22,0x32;
[0197] 第二数据为:0x40,0x5c,0x6a,0x73;
[0198] 第三数据为:66747361,66653132,33343536,6ee9a39e,e5a4a9。
[0199] 步骤105、移动终端根据前导域数据、第一数据、第二数据和第三数据拼接得到数据包;
[0200] 在本实施例中,拼接得到的数据包为:1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,
1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,
3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,
1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,
3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,19,34,50,1,19,
34,50,1,19,34,50,1,19,34,50,1,19,34,50,1,19,34,50,1,19,34,50,1,19,34,50,1,19,
34,50,1,19,34,50,1,19,34,50,1,19,34,50,1,19,34,50,1,19,34,50,1,19,34,50,1,19,
34,50,1,19,34,50,1,19,34,50,1,19,34,50,1,19,34,50,64,92,106,115,176,128,358,
372,371,353,175,129,358,357,305,306,178,130,307,308,309,310,183,131,366,489,
419,414,154,132,485,420,425,64,92,106,115,176,128,358,372,371,353,175,129,
358,357,305,306,178,130,307,308,309,310,183,131,366,489,419,414,154,132,485,
420,425,64,92,106,115,176,128,358,372,371,353,175,129,358,357,305,306,178,
130,307,308,309,310,183,131,366,489,419,414,154,132,485,420,425,64,92,106,
115,176,128,358,372,371,353,175,129,358,357,305,306,178,130,307,308,309,310,
183,131,366,489,419,414,154,132,485,420,425,64,92,106,115,176,128,358,372,
371,353,175,129,358,357,305,306,178,130,307,308,309,310,183,131,366,489,419,
414,154,132,485,420,425,64,92,106,115,176,128,358,372,371,353,175,129,358,
357,305,306,178,130,307,308,309,310,183,131,366,489,419,414,154,132,485,420。
[0201] 步骤106、移动终端将数据包发送给智能设备。
[0202] 本实施例中,智能设备具体为云音箱。
[0203] 步骤107、智能设备开启混杂模式,监听信道;
[0204] 在本实施例中,智能设备开启混杂模式之后,开始监听空中的无线信号,接收数据包。
[0205] 步骤108、智能设备接收数据包,并解析数据包获取网络名称和密码,根据网络名称和密码连接网络;
[0206] 在本实施例中,智能设备接收数据包,并解析数据包获取网络名称和密码具体为:
[0207] 智能设备解析数据包获取数据包中的第一校验值;智能设备扫描得到可用网络名称,根据第二预设算法对任一可用网络名称和其长度进行计算得到可用网络名称的校验值;
[0208] 智能设备将计算得到的校验值与获取的数据包中的第一校验值进行比对,若比对一致,则从数据包中获取网络名称对应的密码;
[0209] 步骤109、智能设备与服务器建立连接。
[0210] 实施例三
[0211] 本发明实施例三提供了一种适用于云音箱建立连接的系统,该系统如图2所示,包括:移动终端100和智能设备200;
[0212] 其中,移动终端100包括:第一获取模块11、构造模块12、编码模块13、计算模块14、组合模块15、发送模块16;
[0213] 具体地,第一获取模块11,用于获取网络名称和密码;
[0214] 具体地,构造模块12,用于构造前导域数据;
[0215] 具体地,第一获取模块11,还用于获取网络名称的预设码;还用于获取密码的预设码;
[0216] 可选地,第一获取模块11包括第一获取子模块,第一获取子模块具体用于:顺序获取网络名称中每一个字段的预设码;
[0217] 第一获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码。
[0218] 当第一获取子模块具体用于将预设字符和统一码写入预设变量中时,第一获取子模块具体用于:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
[0219] 可选地,第一获取模块11包括第二获取子模块,第二获取子模块具体用于:顺序获取密码中每一个字段的预设码;
[0220] 第二获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
[0221] 具体地,编码模块13,用于将第一获取模块11获取的网络名称的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;还用于将第一获取模块11获取的密码的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;
[0222] 可选地,编码模块13包括第一编码子模块,第一编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据。
[0223] 当第一编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,第一编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
[0224] 可选地,编码模块13包括第二编码子模块,第二编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
[0225] 当第二编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,第二编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
[0226] 可选地,预设编码规则方法具体为:
[0227] 当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
[0228] 当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
[0229] 当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
[0230] 当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
[0231] 具体地,计算模块14,用于根据第一预设算法对编码模块13编码得到的第一编码数据和第一编码数据的长度进行计算得到第一校验值;还用于根据第一预设算法对编码模块13编码得到的第二编码数据和第二编码数据的长度进行计算得到第二校验值;
[0232] 可选地,计算模块14包括第一计算子模块,第一计算子模块用于将第一编码数据的长度作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
[0233] 当第一计算子模块用于将第一编码数据变换后作为被除数时,第一计算子模块具体用于:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值。
[0234] 可选地,计算模块14包括第二计算子模块,第二计算子模块用于将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
[0235] 当第二计算子模块用于将第二编码数据变换后作为被除数时,第二计算子模块具体用于:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数相同位数的第二预设值。
[0236] 具体地,组合模块15,用于将编码模块13编码得到的第一编码数据和计算模块14计算得到的第一校验值进行组合得到第一数据;还用于将编码模块13编码得到的第二编码数据和计算模块14计算得到的第二校验值进行组合得到第二数据;还用于将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
[0237] 具体地,组合模块15,还用于根据构造模块12构造的前导域数据、第一数据、第二数据和第三数据拼接得到数据包;
[0238] 具体地,发送模块16,用于将组合模块15拼接得到的数据包发送给智能设备200;
[0239] 智能设备200包括:接收模块21、解析模块22、第二获取模块23、连接模块24;
[0240] 具体地,接收模块21,用于接收移动终端发送的数据包;
[0241] 具体地,解析模块22,用于解析接收模块21接收到的数据包;
[0242] 具体地,第二获取模块23,用于获取解析模块22解析得到的数据包中的网络名称和密码;
[0243] 具体地,连接模块24,用于根据第二获取模块23获取到的网络名称和密码进行网络连接;还用于网络连接成功后与服务器建立连接。
[0244] 本发明提供了一种适用于云音箱建立连接的方法及系统;本发明提供了一种适用于云音箱配网过程中建立连接的组包方法及系统;本方案采用对移动设备连接的网络名称进行编码的方式,得到编码后的网络名称的长度,根据编码后的网络名称和编码后的网络名称的长度进行数据包组包,将数据包发送给云音箱,云音箱接收并解析数据包,获取网络名称和密码连接网络,并与服务器建立连接成功。本发明解决了云音箱使用微信客户端的方式配网连接过程中组包失败的问题,从而解决了智能设备无法配网的问题,及云音箱与服务器连接失败的问题,提升了用户体验。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈