CN110149631B - 一种适用于云音箱建立连接的方法及系统 - Google Patents
一种适用于云音箱建立连接的方法及系统 Download PDFInfo
- Publication number
- CN110149631B CN110149631B CN201910458880.XA CN201910458880A CN110149631B CN 110149631 B CN110149631 B CN 110149631B CN 201910458880 A CN201910458880 A CN 201910458880A CN 110149631 B CN110149631 B CN 110149631B
- Authority
- CN
- China
- Prior art keywords
- data
- preset
- field
- coding
- module
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种适用于云音箱建立连接的方法及系统;本方案采用对移动设备连接的网络名称进行编码的方式,得到编码后的网络名称的长度,根据编码后的网络名称和编码后的网络名称的长度进行数据包组包,将数据包发送给云音箱,云音箱接收并解析数据包,获取网络名称和密码连接网络,并与服务器建立连接成功。本发明解决了云音箱使用微信客户端的方式配网连接过程中组包失败的问题,从而解决了智能设备无法配网的问题,及云音箱与服务器连接失败的问题,提升了用户体验。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种适用于云音箱建立连接的方法及系统。
背景技术
随着移动互联网与物联网技术的发展,越来越多的设备具有了无线网络的接入能力。这些设备的特点是小型化以及低功耗,大多数类似的设备都没有配置屏幕以及键盘等输入外设,因此如何将无线网络的名称与密码传输到这类设备成为一大难题。
目前,为云音箱等智能设备配网的方式通常都是通过移动终端,将网络WiFi名称和密码通过广播包发送到空中,云音箱等智能设备接收到广播包进行配网;然而,云音箱等智能设备在使用微信客户端的方式配置设备配网连接过程中会存在组包失败的问题,从而造成智能设备无法配网,及与服务器建立连接失败。
发明内容
本发明提供了一种适用于云音箱建立连接的方法即系统,解决了上述技术问题。
本发明提供的一种适用于云音箱建立连接的方法,该方法包括:
S1、移动终端获取网络名称和密码;
S2、移动终端构造前导域数据;
S3、移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值;根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值;
可选地,移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据,具体为:移动终端顺序获取网络名称中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据;
优选的,移动终端获取网络名称中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码;
其中,将预设字符和统一码写入预设变量中之后还包括:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0;
可选地,根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值,具体为:将第一编码数据的长度作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
优选的,将第一编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第一编码数据;
可选地,获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据,具体为:移动终端顺序获取密码中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据;
优选地,获取密码中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中;
可选地,根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值,具体为:将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
其中,将第二编码数据变换后作为被除数具体为:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数长度相同位数的第二预设值,得到变换后的第二编码数据;
其中,预设编码方法具体为:
当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10;
优选的,将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
S4、移动终端将第一编码数据和第一校验值进行组合得到第一数据;将第二编码数据和第二校验值进行组合得到第二数据;将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
S5、移动终端根据前导域数据、第一数据、第二数据和第三数据拼接得到数据包,并将数据包发送给智能设备;
S6、智能设备接收并解析数据包,获取网络名称和密码并进行网络连接,网络连接成功后与服务器建立连接。
本发明提供的一种适用于云音箱建立连接的系统,该系统包括:移动终端和智能设备;
其中,移动终端包括:第一获取模块、构造模块、编码模块、计算模块、组合模块、发送模块;
具体地,第一获取模块,用于获取网络名称和密码;
具体地,构造模块,用于构造前导域数据;
具体地,第一获取模块,还用于获取网络名称的预设码;还用于获取密码的预设码;
可选地,第一获取模块包括第一获取子模块,第一获取子模块具体用于:顺序获取网络名称中每一个字段的预设码;
优选的,第一获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码;
其中,当第一获取子模块具体用于将预设字符和统一码写入预设变量中时,第一获取子模块具体用于:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
可选地,第一获取模块包括第二获取子模块,第二获取子模块具体用于:顺序获取密码中每一个字段的预设码;
优选的,第二获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
具体地,编码模块,用于将第一获取模块获取的网络名称的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;还用于将第一获取模块获取的密码的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;
可选地,编码模块包括第一编码子模块,第一编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据;
可选地,编码模块包括第二编码子模块,第二编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
其中,预设编码规则方法具体为:
当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
其中,第一编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,所述第一编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
第二编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,所述第二编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
具体地,计算模块,用于根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值;还用于根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值;
可选地,计算模块包括第一计算子模块,第一计算子模块用于将第一编码数据的长度作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
其中,当第一计算子模块用于将第一编码数据变换后作为被除数时,第一计算子模块具体用于:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值。
可选地,计算模块包括第二计算子模块,第二计算子模块用于将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
其中,当第二计算子模块用于将第二编码数据变换后作为被除数时,第二计算子模块具体用于:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数相同位数的第二预设值。
具体地,组合模块,用于将第一编码数据和第一校验值进行组合得到第一数据;还用于将第二编码数据和第二校验值进行组合得到第二数据;还用于将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
具体地,组合模块,还用于根据构造模块构造的前导域数据、第一数据、第二数据和第三数据拼接得到数据包;
具体地,发送模块,用于将组合模块拼接得到的数据包发送给智能设备;
其中,智能设备包括:接收模块、解析模块、第二获取模块、连接模块;
具体地,接收模块,用于接收移动终端发送的数据包;
具体地,解析模块,用于解析接收模块接收到的数据包;
具体地,第二获取模块,用于获取解析模块解析得到的数据包中的网络名称和密码;
具体地,连接模块,用于根据第二获取模块获取到的网络名称和密码进行网络连接;还用于网络连接成功后与服务器建立连接。
本发明的有益效果:本发明提供了一种适用于云音箱建立连接的方法及系统;本方案采用对移动设备连接的网络名称进行编码的方式,得到编码后的网络名称的长度,根据编码后的网络名称和编码后的网络名称的长度进行数据包组包,将数据包发送给云音箱,云音箱接收并解析数据包,获取网络名称和密码连接网络,并与服务器建立连接成功。本发明解决了云音箱使用微信客户端的方式配网连接过程中组包失败的问题,从而解决了智能设备无法配网的问题,及云音箱与服务器连接失败的问题,提升了用户体验。
附图说明
图1为本发明实施例二提供的一种适用于云音箱建立连接方法的流程图;
图2为本发明实施例三提供的一种适用于云音箱建立连接的系统框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种适用于云音箱建立连接的方法,该方法包括:
步骤S1、移动终端获取网络名称和密码;
步骤S2、移动终端构造前导域数据;
步骤S3、移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值;根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值;
步骤S4、移动终端将第一编码数据和第一校验值进行组合得到第一数据;将第二编码数据和第二校验值进行组合得到第二数据;将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
步骤S5、移动终端根据前导域数据、第一数据、第二数据和第三数据拼接得到数据包,并将数据包发送给智能设备;
步骤S6、智能设备接收并解析数据包,获取网络名称和密码并进行网络连接,网络连接成功后与服务器建立连接。
在本实施例中,移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据,具体为:移动终端顺序获取网络名称中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据。
在本实施例中,移动终端获取网络名称中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码。
可选地,将预设字符和统一码写入预设变量中之后还包括:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
在本实施例中,根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值,具体为:将第一编码数据的长度作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
可选地,将第一编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第一编码数据。
在本实施例中,获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据,具体为:移动终端顺序获取密码中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
在本实施例中,获取密码中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
在本实施例中,根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值,具体为:将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
可选地,将第二编码数据变换后作为被除数具体为:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数长度相同位数的第二预设值,得到变换后的第二编码数据。
在本实施例中,预设编码方法具体为:
当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
在本实施例中,将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
实施例二
本实施例提供了一种适用于云音箱建立连接的方法,如图1所示,该方法包括:
步骤101、移动终端获取网络名称和密码;
在本实施例中,网络名称为移动终端连接的WiFi名称,也可以是SSID,密码为移动终端连接的WiFi密码,也可以是password;
例如,WiFi名称ssid为:飞天;password为:ftsafe123456。
步骤102、移动终端构造前导域数据;
在本实施例中,前导域由4个字节组成,其值固定为{1,2,3,4};
步骤103、移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值;根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值;
在本实施例中,获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据,具体为:
a1.顺序获取网络名称中每一个字段的预设码;
获取网络名称中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码,判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码;
可选地,将统一码写入预设变量中之后还包括:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0;
具体地,预设的变量为:NSMutableString*s=[NSMutableStringstringWithCapacity:0];
例如,网络名称为:飞天;
网络名称中的‘飞’字段为中文,则获取‘飞’的统一码为98de,预设字符为“\u”,得到‘飞’字段的预设码:\u98de;
网络名称中的‘天’字段为中文,则获取‘天’的统一码为5929,预设字符为“\u”,得到‘天’字段的预设码:\u5929。
a2.将每一个字段的预设码转换为二进制数据;
具体地,例如,‘飞’字段的预设码转换为二进制数据为:1001100011011110;
‘天’字段的预设码转换为二进制数据为:101100100101001。
a3.根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,
在本实施例中,预设编码方法具体为:当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10;
具体地,第一预设区间为0000 0000-0000 007F;
第二预设区间为0000 0080-0000 07FF;
第三预设区间为0000 0800-0000 FFFF;
第四预设区间为0001 0000-0010 FFFF;
具体对应的编码形式如以下类型:
a.0000 0000-0000 007F|0xxxxxxx
b.0000 0080-0000 07FF|110xxxxx 10xxxxxx
c.0000 0800-0000 FFFF|1110xxxx 10xxxxxx 10xxxxxx
d.0001 0000-0010 FFFF|11110xxx 10xxxxxx 10xxxxxx 10xxxxxx;
可选地,将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中;
具体地,例如,‘飞’字段的预设码的值在0800-0000 FFFF区间中,则‘飞’字段的编码形式为类型c,将‘飞’字段的二进制数据1001100011011110写入编码形式c中,得到‘飞’字段的编码数据为:111010011010001110011110;
‘天’字段的预设码的值在0800-0000 FFFF区间中,则‘天’字段的编码形式为类型c,将‘天’字段的二进制数据101100100101001写入编码形式c中,得到‘飞’字段的编码数据为:111010011010001110011110;
a4.将每一个字段的编码数据进行组合得到第一编码数据。
具体地,将网络名称中‘飞’、‘天’的编码数据进行组合得到第一编码数据为:111010011010001110011110 111010011010001110011110。
在本实施例中,获取密码的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据,具体为:
b1.顺序获取密码中每一个字段的预设码;
获取密码中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码,判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
具体地,预设的变量为:NSMutableString*p=[NSMutableStringstringWithCapacity:0];
例如,密码为:ftsafe123456;
密码中的‘f’字段、‘t’字段、‘s’字段、‘a’字段、‘f’字段、‘e’字段均为英文,‘1’字段、‘2’字段、‘3’字段、‘4’字段、‘5’字段、‘6’字段均为数字,则将各个字段本身写入预设变量中,得到各个字段的预设码;
‘f’字段的预设码:f;
‘t’字段的预设码:t;
‘s’字段的预设码:s;
‘a’字段的预设码:a;
‘f’字段的预设码:f;
‘e’字段的预设码:e;
‘1’字段的预设码:1;
‘2’字段的预设码:2;
‘3’字段的预设码:3;
‘4’字段的预设码:4;
‘5’字段的预设码:5;
‘6’字段的预设码:6。
b2.将每一个字段的预设码转换为二进制数据;
具体地,例如,‘f’字段的预设码转换为二进制数据为:01100110;
‘t’字段的预设码转换为二进制数据为:01110100;
‘s’字段的预设码转换为二进制数据为:01110011;
‘a’字段的预设码转换为二进制数据为:01100001;
‘f’字段的预设码转换为二进制数据为:01100110;
‘e’字段的预设码转换为二进制数据为:01100101;
‘1’字段的预设码转换为二进制数据为:1;
‘2’字段的预设码转换为二进制数据为:10;
‘3’字段的预设码转换为二进制数据为:11;
‘4’字段的预设码转换为二进制数据为:100;
‘5’字段的预设码转换为二进制数据为:101;
‘6’字段的预设码转换为二进制数据为:110。
b3.根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,
在本实施例中,预设编码方法具体为:当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10;
具体地,第一预设区间为0000 0000-0000 007F;
第二预设区间为0000 0080-0000 07FF;
第三预设区间为0000 0800-0000 FFFF;
第四预设区间为0001 0000-0010 FFFF;
具体对应的编码形式如以下类型:
a.0000 0000-0000 007F|0xxxxxxx
b.0000 0080-0000 07FF|110xxxxx 10xxxxxx
c.0000 0800-0000 FFFF|1110xxxx 10xxxxxx 10xxxxxx
d.0001 0000-0010 FFFF|11110xxx 10xxxxxx 10xxxxxx 10xxxxxx;
可选地,将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中;
具体地,例如,‘f’字段的预设码的值在0000-007F区间中,则‘f’字段的编码形式为类型a,将‘f’字段的二进制数据01100110写入编码形式a中,得到‘f’字段的编码数据为:01100110;
‘t’字段的预设码的值在0000-007F区间中,则‘t’字段的编码形式为类型a,将‘t’字段的二进制数据01110100写入编码形式a中,得到‘t’字段的编码数据为:01110100;
‘s’字段的预设码的值在0000-007F区间中,则‘s’字段的编码形式为类型a,将‘s’字段的二进制数据01110011写入编码形式a中,得到‘s’字段的编码数据为:01110011;
‘a’字段的预设码的值在0000-007F区间中,则‘a’字段的编码形式为类型a,将‘a’字段的二进制数据01100001写入编码形式a中,得到‘a’字段的编码数据为:01100001;
‘f’字段的预设码的值在0000-007F区间中,则‘f’字段的编码形式为类型a,将‘f’字段的二进制数据01100110写入编码形式a中,得到‘f’字段的编码数据为:01100110;
‘e’字段的预设码的值在0000-007F区间中,则‘e’字段的编码形式为类型a,将‘e’字段的二进制数据01100101写入编码形式a中,得到‘e’字段的编码数据为:01100101;
‘1’字段的预设码的值在0000-007F区间中,则‘1’字段的编码形式为类型a,将‘1’字段的二进制数据1写入编码形式a中,得到‘1’字段的编码数据为:00000001;
‘2’字段的预设码的值在0000-007F区间中,则‘2’字段的编码形式为类型a,将‘2’字段的二进制数据10写入编码形式a中,得到‘2’字段的编码数据为:00000010;
‘3’字段的预设码的值在0000-007F区间中,则‘3’字段的编码形式为类型a,将‘3’字段的二进制数据11写入编码形式a中,得到‘3’字段的编码数据为:00000011;
‘4’字段的预设码的值在0000-007F区间中,则‘4’字段的编码形式为类型a,将‘4’字段的二进制数据100写入编码形式a中,得到‘4’字段的编码数据为00000100:;
‘5’字段的预设码的值在0000-007F区间中,则‘5’字段的编码形式为类型a,将‘5’字段的二进制数据101写入编码形式a中,得到‘5’字段的编码数据为:00000101;
‘6’字段的预设码的值在0000-007F区间中,则‘6’字段的编码形式为类型a,将‘6’字段的二进制数据110写入编码形式a中,得到‘6’字段的编码数据为:00000110。
b4.将每一个字段的编码数据进行组合得到第二编码数据。
具体地,将密码中‘f’字段、‘t’字段、‘s’字段、‘a’字段、‘f’字段、‘e’字段、‘1’字段、‘2’字段、‘3’字段、‘4’字段、‘5’字段、‘6’字段的编码数据进行组合得到第二编码数据为:01100110 01110100 01110011 01100001 01100110 01100101 000000010000001000000011 00000100 00000101 00000110。
在本实施例中,根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值,具体为:
将第一编码数据的长度的二进制数作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
将第一编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第一编码数据;
例如,第一编码数据为:111010011010001110011110111010011010001110011110;对应的十六进制数据为:e9a39ee5a4a9;
获取的第一编码数据的长度为:6字节;长度的二进制数据为:110;
二进制数据的位数为3位,第一预设值为1,第二预设值为0;则第一编码数据变换后为:111010011010001110011110 11101001101000111001111000;
得到的第一校验值为:0x22;
在本实施例中,根据第一预设算法对第二编码数据和第二编码数据的长度进行计算得到第二校验值,具体为:
将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
将第二编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第二编码数据;
例如,第二编码数据为:01100110 01110100 01110011 01100001 011001100110010100000001 00000010 00000011 00000100 00000101 00000110;
第二编码数据的长度为:12个字节;长度的二进制数据为1100;
二进制数据的位数为4位,第一预设值为1,第二预设值为0;则
第二编码数据变换后为:01100110 01110100 01110011 01100001 011001100110010100000001 00000010 00000011 00000100 00000101 00000110 000;
计算得到的第二校验值为:0xa3。
步骤104、移动终端将第一遍码数据和第一校验值进行组合得到第一数据;将第二编码数据和第二校验值进行组合得到第二数据;将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
在本实施例中,移动终端生成的随机数具体为:移动终端通过调用随机数产生函数arc4random()生成随机数;
具体地,第一数据为:0x01,0x13,0x22,0x32;
第二数据为:0x40,0x5c,0x6a,0x73;
第三数据为:66747361,66653132,33343536,6ee9a39e,e5a4a9。
步骤105、移动终端根据前导域数据、第一数据、第二数据和第三数据拼接得到数据包;
在本实施例中,拼接得到的数据包为: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。
步骤106、移动终端将数据包发送给智能设备。
本实施例中,智能设备具体为云音箱。
步骤107、智能设备开启混杂模式,监听信道;
在本实施例中,智能设备开启混杂模式之后,开始监听空中的无线信号,接收数据包。
步骤108、智能设备接收数据包,并解析数据包获取网络名称和密码,根据网络名称和密码连接网络;
在本实施例中,智能设备接收数据包,并解析数据包获取网络名称和密码具体为:
智能设备解析数据包获取数据包中的第一校验值;智能设备扫描得到可用网络名称,根据第二预设算法对任一可用网络名称和其长度进行计算得到可用网络名称的校验值;
智能设备将计算得到的校验值与获取的数据包中的第一校验值进行比对,若比对一致,则从数据包中获取网络名称对应的密码;
步骤109、智能设备与服务器建立连接。
实施例三
本发明实施例三提供了一种适用于云音箱建立连接的系统,该系统如图2所示,包括:移动终端100和智能设备200;
其中,移动终端100包括:第一获取模块11、构造模块12、编码模块13、计算模块14、组合模块15、发送模块16;
具体地,第一获取模块11,用于获取网络名称和密码;
具体地,构造模块12,用于构造前导域数据;
具体地,第一获取模块11,还用于获取网络名称的预设码;还用于获取密码的预设码;
可选地,第一获取模块11包括第一获取子模块,第一获取子模块具体用于:顺序获取网络名称中每一个字段的预设码;
第一获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码。
当第一获取子模块具体用于将预设字符和统一码写入预设变量中时,第一获取子模块具体用于:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
可选地,第一获取模块11包括第二获取子模块,第二获取子模块具体用于:顺序获取密码中每一个字段的预设码;
第二获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
具体地,编码模块13,用于将第一获取模块11获取的网络名称的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;还用于将第一获取模块11获取的密码的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;
可选地,编码模块13包括第一编码子模块,第一编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据。
当第一编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,第一编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
可选地,编码模块13包括第二编码子模块,第二编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
当第二编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,第二编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
可选地,预设编码规则方法具体为:
当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
具体地,计算模块14,用于根据第一预设算法对编码模块13编码得到的第一编码数据和第一编码数据的长度进行计算得到第一校验值;还用于根据第一预设算法对编码模块13编码得到的第二编码数据和第二编码数据的长度进行计算得到第二校验值;
可选地,计算模块14包括第一计算子模块,第一计算子模块用于将第一编码数据的长度作为除数,将第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
当第一计算子模块用于将第一编码数据变换后作为被除数时,第一计算子模块具体用于:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值。
可选地,计算模块14包括第二计算子模块,第二计算子模块用于将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
当第二计算子模块用于将第二编码数据变换后作为被除数时,第二计算子模块具体用于:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数相同位数的第二预设值。
具体地,组合模块15,用于将编码模块13编码得到的第一编码数据和计算模块14计算得到的第一校验值进行组合得到第一数据;还用于将编码模块13编码得到的第二编码数据和计算模块14计算得到的第二校验值进行组合得到第二数据;还用于将第一编码数据、第二编码数据和移动终端生成的随机数组合得到第三数据;
具体地,组合模块15,还用于根据构造模块12构造的前导域数据、第一数据、第二数据和第三数据拼接得到数据包;
具体地,发送模块16,用于将组合模块15拼接得到的数据包发送给智能设备200;
智能设备200包括:接收模块21、解析模块22、第二获取模块23、连接模块24;
具体地,接收模块21,用于接收移动终端发送的数据包;
具体地,解析模块22,用于解析接收模块21接收到的数据包;
具体地,第二获取模块23,用于获取解析模块22解析得到的数据包中的网络名称和密码;
具体地,连接模块24,用于根据第二获取模块23获取到的网络名称和密码进行网络连接;还用于网络连接成功后与服务器建立连接。
本发明提供了一种适用于云音箱建立连接的方法及系统;本发明提供了一种适用于云音箱配网过程中建立连接的组包方法及系统;本方案采用对移动设备连接的网络名称进行编码的方式,得到编码后的网络名称的长度,根据编码后的网络名称和编码后的网络名称的长度进行数据包组包,将数据包发送给云音箱,云音箱接收并解析数据包,获取网络名称和密码连接网络,并与服务器建立连接成功。本发明解决了云音箱使用微信客户端的方式配网连接过程中组包失败的问题,从而解决了智能设备无法配网的问题,及云音箱与服务器连接失败的问题,提升了用户体验。
Claims (12)
1.一种适用于云音箱建立连接的方法,其特征在于,包括:
S1、移动终端获取网络名称和密码;
S2、所述移动终端构造前导域数据;
S3、所述移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;获取密码的预设码,将预设码转换为二进制数据,根据所述预设编码方法将二进制数据进行编码,得到第二编码数据;根据第一预设算法对所述第一编码数据和第一编码数据的长度进行计算得到第一校验值;根据第一预设算法对所述第二编码数据和第二编码数据的长度进行计算得到第二校验值;
S4、所述移动终端将所述第一编码数据和所述第一校验值进行组合得到第一数据;将所述第二编码数据和所述第二校验值进行组合得到第二数据;将所述第一编码数据、所述第二编码数据和移动终端生成的随机数组合得到第三数据;
S5、所述移动终端根据所述前导域数据、所述第一数据、所述第二数据和所述第三数据拼接得到数据包,并将所述数据包发送给智能设备;
S6、所述智能设备接收并解析数据包,获取网络名称和密码并进行网络连接,网络连接成功后与服务器建立连接;
所述移动终端获取网络名称的预设码,将预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据,具体为:所述移动终端顺序获取网络名称中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据;
所述移动终端获取网络名称中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码;
所述根据第一预设算法对第一编码数据和第一编码数据的长度进行计算得到第一校验值,具体为:将所述第一编码数据的长度作为除数,将所述第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
所述将所述第一编码数据变换后作为被除数具体为:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值,得到变换后的第一编码数据;
所述根据第一预设算法对所述第二编码数据和第二编码数据的长度进行计算得到第二校验值,具体为:将第二编码数据的长度作为除数,将第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
将第二编码数据变换后作为被除数具体为:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数长度相同位数的第二预设值,得到变换后的第二编码数据。
2.根据权利要求1所述的方法,其特征在于,所述将预设字符和统一码写入预设变量中之后还包括:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
3.根据权利要求1所述的方法,其特征在于,所述获取密码的预设码,将预设码转换为二进制数据,根据所述预设编码方法将二进制数据进行编码,得到第二编码数据,具体为:所述移动终端顺序获取密码中每一个字段的预设码,将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
4.根据权利要求3所述的方法,其特征在于,所述获取密码中每一个字段的预设码具体为:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
5.根据权利要求1或3所述的方法,其特征在于,所述预设编码方法具体为:
当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
6.根据权利要求5所述的方法,其特征在于,所述将每一个字段的二进制数据写入对应的编码形式中,具体为:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
7.一种适用于云音箱建立连接的系统,其特征在于,所述系统包括:移动终端和智能设备;
所述移动终端包括:第一获取模块、构造模块、编码模块、计算模块、组合模块、发送模块;
所述第一获取模块,用于获取网络名称和密码;
所述构造模块,用于构造前导域数据;
所述第一获取模块,还用于获取网络名称的预设码;还用于获取密码的预设码;
所述编码模块,用于将所述第一获取模块获取的网络名称的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第一编码数据;还用于将所述第一获取模块获取的密码的预设码转换为二进制数据,根据预设编码方法将二进制数据进行编码,得到第二编码数据;
所述计算模块,用于根据第一预设算法对所述第一编码数据和第一编码数据的长度进行计算得到第一校验值;还用于根据第一预设算法对所述第二编码数据和第二编码数据的长度进行计算得到第二校验值;
所述组合模块,用于将所述第一编码数据和所述第一校验值进行组合得到第一数据;还用于将所述第二编码数据和所述第二校验值进行组合得到第二数据;还用于将所述第一编码数据、所述第二编码数据和移动终端生成的随机数组合得到第三数据;
所述组合模块,还用于根据所述构造模块构造的前导域数据、所述第一数据、所述第二数据和所述第三数据拼接得到数据包;
所述发送模块,用于将所述组合模块拼接得到的数据包发送给所述智能设备;
所述智能设备包括:接收模块、解析模块、第二获取模块、连接模块;
所述接收模块,用于接收移动终端发送的数据包;
所述解析模块,用于解析所述接收模块接收到的数据包;
所述第二获取模块,用于获取所述解析模块解析得到的数据包中的网络名称和密码;
所述连接模块,用于根据所述第二获取模块获取到的网络名称和密码进行网络连接;还用于网络连接成功后与服务器建立连接;
所述第一获取模块包括第一获取子模块,所述第一获取子模块具体用于:顺序获取网络名称中每一个字段的预设码;
所述编码模块包括第一编码子模块,所述第一编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第一编码数据;
所述第一获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中,当该字段为中文或字符,则获取该字段的统一码,将预设字符和统一码写入预设变量中,得到每一个字段的预设码;
所述计算模块包括第一计算子模块,所述第一计算子模块用于将所述第一编码数据的长度作为除数,将所述第一编码数据变换后作为被除数,用被除数除以除数得到的余数为第一校验值;
当所述第一计算子模块用于将所述第一编码数据变换后作为被除数时,所述第一计算子模块具体用于:获取第一编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第一编码数据后面加上与新的二进制位数相同位数的第二预设值;
所述计算模块包括第二计算子模块,所述第二计算子模块用于将所述第二编码数据的长度作为除数,将所述第二编码数据变换后作为被除数,用被除数除以除数得到的余数为第二校验值;
当所述第二计算子模块用于将所述第二编码数据变换后作为被除数时,所述第二计算子模块具体用于:获取第二编码数据的长度,计算长度的二进制数据,获取二进制数据的位数,将二进制数据的位数减去第一预设值得到新的二进制位数,在第二编码数据后面加上与新的二进制位数相同位数的第二预设值。
8.根据权利要求7所述的系统,其特征在于,当所述第一获取子模块具体用于将预设字符和统一码写入预设变量中时,所述第一获取子模块具体用于:判断预设变量的长度,当长度为4个字节,则在变量的第二位写入两个0,当长度为5个字节,则在变量的第二位写入一个0。
9.根据权利要求7所述的系统,其特征在于,其特征在于,所述第一获取模块包括第二获取子模块,所述第二获取子模块具体用于:顺序获取密码中每一个字段的预设码;
所述编码模块包括第二编码子模块,所述第二编码子模块具体用于:将每一个字段的预设码转换为二进制数据,根据预设编码方法确定每一个字段所对应的编码形式,将每一个字段的二进制数据写入对应的编码形式中,得到每一个字段的编码数据,将每一个字段的编码数据进行组合得到第二编码数据。
10.根据权利要求9所述的系统,其特征在于,所述第二获取子模块具体用于:预设一个变量,用于接收该字段的预设码;判断该字段的类型,当该字段为英文或数字,则将该字段本身写入预设变量中。
11.根据权利要求9所述的系统,其特征在于,所述预设编码方法具体为:
当字段对应预设码的值在第一预设区间,则编码形式为:最高位为0的一个字节;
当字段对应预设码的值在第二预设区间,则编码形式为:两个字节,第一个字节的前三位为110,第二个字节的前两位为10;
当字段对应预设码的值在第三预设区间,则编码形式为:三个字节,第一个字节的前四位为1110,后两个字节的前两位为10;
当字段对应预设码的值在第四预设区间,则编码形式为:四个字节,第一个字节的前五位为11110,后三个字节的前两位为10。
12.根据权利要求9或11所述的系统,其特征在于,当所述第二编码子模块或所述第一编码子模块具体用于将每一个字段的二进制数据写入对应的编码形式中时,所述第二编码子模块或所述第一编码子模块具体用于:将每一个字段的二进制数据按照倒序的方式从后往前写入对应的编码形式中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910458880.XA CN110149631B (zh) | 2019-05-29 | 2019-05-29 | 一种适用于云音箱建立连接的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910458880.XA CN110149631B (zh) | 2019-05-29 | 2019-05-29 | 一种适用于云音箱建立连接的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110149631A CN110149631A (zh) | 2019-08-20 |
CN110149631B true CN110149631B (zh) | 2023-06-13 |
Family
ID=67593766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910458880.XA Active CN110149631B (zh) | 2019-05-29 | 2019-05-29 | 一种适用于云音箱建立连接的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110149631B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415817B (zh) * | 2020-10-28 | 2024-05-07 | 北京小米移动软件有限公司 | 显示控制方法、电子设备及存储介质 |
CN116887250B (zh) * | 2023-09-07 | 2023-11-07 | 飞天诚信科技股份有限公司 | 一种智能设备的网络连接实现方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013190169A1 (en) * | 2012-06-18 | 2013-12-27 | Aplcomp Oy | Arrangement and method for accessing a network service |
CN104703176A (zh) * | 2015-03-18 | 2015-06-10 | 北京联盛德微电子有限责任公司 | 无线网络的配置方法、智能终端和无线网络设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465852B1 (en) * | 2007-08-02 | 2016-10-11 | Amazon Technologies, Inc. | Data format for processing information |
CN103684760B (zh) * | 2012-09-24 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 通信的加密和解密的方法、装置及系统 |
CN105450405B (zh) * | 2014-07-18 | 2018-10-02 | 阿里巴巴集团控股有限公司 | 一种密码设置和认证方法及系统 |
CN105682183B (zh) * | 2016-01-14 | 2017-06-16 | 美的集团股份有限公司 | 控制家电设备入网的方法和装置 |
CN105471917A (zh) * | 2016-01-14 | 2016-04-06 | 成都麦杰康科技有限公司 | 数据传输方法及系统 |
CN106357393B (zh) * | 2016-08-27 | 2019-09-13 | 飞天诚信科技股份有限公司 | 一种安全的数据传输方法及装置 |
CN107529168A (zh) * | 2017-08-08 | 2017-12-29 | 深圳市晶讯软件通讯技术有限公司 | WiFi终端及WiFi终端快速接入WiFi AP的方法和系统 |
CN108430091B (zh) * | 2017-12-27 | 2021-04-20 | 苏宁智能终端有限公司 | 一种高效的智能家居wifi配网方法及设备 |
-
2019
- 2019-05-29 CN CN201910458880.XA patent/CN110149631B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013190169A1 (en) * | 2012-06-18 | 2013-12-27 | Aplcomp Oy | Arrangement and method for accessing a network service |
CN104703176A (zh) * | 2015-03-18 | 2015-06-10 | 北京联盛德微电子有限责任公司 | 无线网络的配置方法、智能终端和无线网络设备 |
Non-Patent Citations (3)
Title |
---|
Using Reed-Solomon codes in the construction and an application to cryptography;Tillich J P 等;Proceedings of IEEE International Symposium on Information Theory;全文 * |
无线网络加密体制及算法研究;沈永林;;科技信息(第09期);全文 * |
蓝牙系统加密算法的改善方案;杨红丽,郑之光;郑州大学学报(理学版)(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110149631A (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933118B (zh) | 边缘计算网关安全通信方法、系统、终端设备及服务器 | |
CN105072665B (zh) | 联网控制、接入方法及相应的终端与设备 | |
CN109831409B (zh) | 数据传输方法、装置、计算机可读存储介质及电子设备 | |
CN110149631B (zh) | 一种适用于云音箱建立连接的方法及系统 | |
KR101773156B1 (ko) | 광 네트워크 시스템을 위한 통신 방법, 시스템 및 장치 | |
WO2014023197A1 (zh) | 一种数据传输方法及设备 | |
CN101964722A (zh) | 用于通信的方法和系统 | |
CN103327030A (zh) | 一种利用Wi-Fi报文长度进行信息传输的方法 | |
CN114338827A (zh) | 物联网协议适配网关、方法及可读存储介质 | |
CN1791070B (zh) | 一种在网络上传输文档的方法 | |
CN114614829A (zh) | 卫星数据帧的处理方法、装置、电子设备和可读存储介质 | |
CN106470212B (zh) | 一种基于lzw压缩算法对eigrp协议报文进行压缩和加密的方法 | |
CN105120012B (zh) | 智能设备及其联网接入方法、信息接收方法与装置 | |
CN112422565B (zh) | 消息处理方法、装置和存储介质及电子装置 | |
US11870727B2 (en) | Method for transmitting uplink signal and communications apparatus | |
CN111225077B (zh) | 物联网设备配网方法、装置和系统 | |
CN110719573B (zh) | 信息传输方法、装置、终端设备及存储介质 | |
CN112910568A (zh) | 一种数据通信方法、数据发送方法及数据接收方法 | |
US20230145725A1 (en) | Multi-channel audio signal encoding and decoding method and apparatus | |
CN106878054B (zh) | 一种业务处理方法和装置 | |
CN112118610B (zh) | 无线智能设备配网方法及系统 | |
CN105049129A (zh) | 基于声波的Wi-Fi配置系统及其配置方法 | |
CN106656353B (zh) | 应用于智能机器人的信息传输方法和装置 | |
CN112732810A (zh) | 数据发送系统及方法、装置、存储介质、电子装置 | |
CN106572080B (zh) | 一种基于lzw压缩算法对snmp报文进行压缩和加密的方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |