一种连接建立方法及Wi-Fi模块
技术领域
本申请涉及通信技术领域,尤其涉及一种连接建立方法及Wi-Fi模块。
背景技术
随着电子科技的发展与大众生活水平的提高,智能家居逐步走入了大众的生活。为了便于用户采用更方便的手段管理家庭设备,智能家居一般配置有智能控制通信模块。由于Wi-Fi模块具有通信无需布线,控制相对灵活等优点,因此Wi-Fi模块成为智能控制通信模块中应用最为普及的模块之一。由于现有的Wi-Fi模块支持的接口协议单一,且不同厂家的智能家居采用不同的接口协议,导致一个厂家的Wi-Fi模块只能与具有相同接口协议的智能家居控制系统建立通信连接,而不能与其它大多数厂家的智能家居控制系统建立通信连接。可见,现有的Wi-Fi模块存在兼容性较差,使用范围受限等问题。
发明内容
本申请提供一种连接建立方法及Wi-Fi模块,用于解决现有的Wi-Fi模块存在的兼容性较差,使用范围受限等问题。
为达到上述目的,本申请提供如下技术方案:
第一方面,本申请提供一种连接建立方法,所述方法应用于支持至少两种接口协议的Wi-Fi模块,所述方法包括:
所述Wi-Fi模块获取微控制单元(Microcontroller Unit,MCU)的接口协议标识;
所述Wi-Fi模块查询所述MCU的接口协议标识是否存在于预设的接口协议数据库中,所述接口协议数据库用于存储所述Wi-Fi模块支持的接口协议对应的接口协议标识;
若所述MCU的接口协议标识存在于所述接口协议数据库中,则所述Wi-Fi模块使用目标接口协议与所述MCU建立通信连接,所述目标接口协议为存在于所述接口协议数据库中的所述MCU的接口协议标识对应的接口协议;
若所述MCU的接口协议标识不存在于所述接口协议数据库中,则所述Wi-Fi模块尝试使用所述Wi-Fi模块支持的接口协议与所述MCU建立通信连接,直至所述Wi-Fi模块与所述MCU成功建立通信连接,或者所述Wi-Fi模块支持的所有接口协议均被使用过。
第二方面,本申请提供一种Wi-Fi模块,所述Wi-Fi模块支持至少两种接口协议,所述Wi-Fi模块包括:
获取单元,用于获取微处理单元MCU的接口协议标识;
查询单元,用于查询所述MCU的接口协议标识是否存在于存储单元中;
所述存储单元,用于存储所述Wi-Fi模块支持的接口协议对应的接口协议标识;
连接单元,用于在所述查询单元确定所述MCU的接口协议标识存在于所述存储单元中的情况下,使用目标接口协议与所述MCU建立通信连接,所述目标接口协议为存在于所述存储单元中的所述MCU的接口协议标识对应的接口协议;
所述连接单元,还用于在所述查询单元确定所述MCU的接口协议标识不存在于所述存储单元中的情况下,尝试使用所述Wi-Fi模块支持的接口协议与所述MCU建立通信连接,直至所述Wi-Fi模块与所述MCU成功建立通信连接,或者所述Wi-Fi模块支持的所有接口协议均被使用过。
本申请提供一种连接建立方法及Wi-Fi模块,Wi-Fi模块支持至少两种接口协议,Wi-Fi模块获取MCU的接口协议标识,然后,查询所述MCU的接口协议标识是否存在于预设的接口协议数据库中,若所述MCU的接口协议标识存在于所述接口协议数据库中,则说明所述Wi-Fi模块与所述MCU均支持同一种接口协议,所述Wi-Fi模块使用目标接口协议与所述MCU建立通信连接,所述目标接口协议为存在于所述接口协议数据库中的所述MCU的接口协议标识对应的接口协议。若所述MCU的接口协议标识不存在于所述接口协议数据库中,则说明Wi-Fi模块不支持所述MCU的接口协议标识对应的接口协议。这种情况下,所述Wi-Fi模块尝试使用所述Wi-Fi模块支持的接口协议与所述MCU建立通信连接,直至所述Wi-Fi模块与所述MCU成功建立通信连接,或者所述Wi-Fi模块支持的所有接口协议均被使用过。从而,在本申请中,支持多种接口协议的Wi-Fi模块能够与多种支持不同接口协议的智能家居控制系统建立通信连接,解决了现有的Wi-Fi模块存在的兼容性较差,使用范围受限等问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种连接建立方法的流程图;
图2为本申请实施例提供的另一种连接建立方法的流程图;
图3为本申请实施例提供的一种Wi-Fi模块的结构示意图;
图4为本申请实施例提供的另一种Wi-Fi模块的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
如图1所示,本申请实施例提供一种连接建立方法,所述方法应用于支持至少两种接口协议的Wi-Fi模块,所述方法包括:
101、所述Wi-Fi模块获取MCU的接口协议标识。
可以理解的是,所述MCU为智能家居控制系统的MCU,或者其他外部设备的MCU。
其中,所述接口协议标识与接口协议存在唯一对应的关系。所述接口协议包括但不限于:异步串口通信(Universal Asynchronous Transmitter,UART)协议、集成电路总线(Inter-Integrated Circuit,IIC)协议、通用串行总线(Universal Serial Bus,USB)协议和串行外设接口(Serial Peripheral Interface,SPI)协议。
示例性的,表1示出接口协议标识与接口协议的对应关系。
表1
接口协议标识 |
接口协议 |
XX00 |
UART协议 |
XX01 |
IIC协议 |
XX10 |
USB协议 |
XX11 |
SPI协议 |
在本申请实施例中,在Wi-Fi模块与MCU建立物理连接后,Wi-Fi模块从MCU的接口处获取所述MCU的接口协议标识,所述MCU的接口协议标识用于表征所述MCU支持的接口协议。
可以理解的是,在所述MCU支持至少两种接口协议的情况下,所述MCU可以保存有至少两个接口协议标识,相应的,Wi-Fi模块可以从所述MCU的接口处获取到至少两个所述MCU的接口协议标识。
可选的,若在所述Wi-Fi模块与所述MCU建立物理连接后,所述Wi-Fi模块无法从所述MCU的接口处获取所述MCU的接口协议标识,则Wi-Fi模块接下来执行步骤104。
102、所述Wi-Fi模块查询所述MCU的接口协议标识是否存在于预设的接口协议数据库中。
其中,Wi-Fi模块设置有接口协议数据库,所述接口协议数据库用于存储所述Wi-Fi模块支持的接口协议对应的接口协议标识。结合表1进行说明,假如Wi-Fi模块支持的接口协议为UART协议和SPI协议,则接口协议数据库存储的接口协议标识为XX00和XX11。
在本申请实施例中,“所述Wi-Fi模块查询所述MCU的接口协议标识是否存在于预设的接口协议数据库中”,即Wi-Fi模块查询所述接口协议数据库中是否存在与所述MCU的接口协议标识相同的接口协议标识。
若所述MCU的接口协议标识存在于所述接口协议数据库中,则说明Wi-Fi模块支持所述MCU的接口协议标识对应的接口协议,从而接下来执行步骤103;若所述MCU的接口协议标识不存在于所述接口协议数据库中,则说明Wi-Fi模块不支持所述MCU的接口协议标识对应的接口协议,从而接下来执行步骤104。
需要说明的是,在Wi-Fi模块获取到至少两个所述MCU的接口协议标识的情况下,“所述MCU的接口协议标识存在于所述接口协议数据库中”是指至少一个所述MCU的接口协议标识存在于所述接口协议数据库中;“所述MCU的接口协议标识存在于所述接口协议数据库中”是指任意一个所述MCU的接口协议标识均不存在于所述接口协议数据库中。
103、所述Wi-Fi模块使用目标接口协议与所述MCU建立通信连接。
其中,所述目标接口协议为存在于所述接口协议数据库中的所述MCU的接口协议标识对应的接口协议。
结合表1进行举例说明,假设所述MCU的接口协议标识为XX00和XX11,其中XX00存在于所述接口协议数据库,XX11不存在于所述接口协议数据库,则UART协议为目标接口协议,SPI协议不是目标接口协议。
在本申请实施例中,在仅存在一种目标接口协议的情况下,则Wi-Fi模块使用该目标接口协议与所述MCU建立通信连接。
在存在至少两种目标接口协议的情况下,则Wi-Fi模块使用优先级最高的目标接口协议与所述MCU建立通信连接。示例性的,目标接口协议为UART协议和SPI协议,且UART协议的优先级高于SPI协议,则Wi-Fi模块使用UART协议与所述MCU建立通信连接。
需要说明的是,各个接口协议的优先级可以是预先设置的,也可以是Wi-Fi模块生成的。示例性的,Wi-Fi模块生成各个接口协议的优先级的方法为:Wi-Fi模块统计各个接口协议的使用次数,按照使用次数从多到少的排列顺序,确定各个接口协议的优先级。需要说明的是,使用次数较多的接口协议,其优先级较高。
可以理解的是,由于目标接口协议是Wi-Fi模块与所述MCU均支持的接口协议,因此Wi-Fi模块能够与所述MCU成功建立通信连接。
104、所述Wi-Fi模块尝试使用所述Wi-Fi模块支持的接口协议与所述MCU建立通信连接,直至所述Wi-Fi模块与所述MCU成功建立通信连接,或者所述Wi-Fi模块支持的所有接口协议均被使用过。
一种具体实现方式中,Wi-Fi模块从其支持的至少两种接口协议中,按照各个接口协议的优先级从高到低的顺序,使用不同的接口协议与所述MCU尝试建立通信连接。
当Wi-Fi模块使用某一种接口协议与所述MCU尝试建立通信连接时,如果在预设时间内,Wi-Fi模块与所述MCU成功建立通信连接,则Wi-Fi模块会一直使用该接口协议,而不会切换使用其他接口协议与所述MCU建立通信连接;如果过了预设时间,Wi-Fi模块还不能与所述MCU成功建立通信连接,则Wi-Fi模块切换使用下一种接口协议与所述MCU尝试建立通信连接。
举例来说,假设Wi-Fi模块支持的接口协议按照优先级从高到低的排列顺序为:UART协议、IIC协议、USB协议。Wi-Fi模块先使用UART协议与所述MCU尝试建立通信连接。一段时间后,Wi-Fi模块与所述MCU没有成功建立通信连接,则Wi-Fi模块使用IIC协议与所述MCU尝试建立通信连接。若在一段时间后,Wi-Fi模块与所述MCU成功建立通信连接,则Wi-Fi模块会一直使用IIC协议,不会切换使用USB协议与所述MCU尝试建立通信连接。
可以理解的是,如果所述Wi-Fi模块支持的所有接口协议均被使用过,且所述Wi-Fi模块与所述MCU还不能成功建立通信连接,则说明所述Wi-Fi模块与所述MCU不兼容。这种情况下,Wi-Fi模块会停止尝试与所述MCU建立通信连接。
进一步的,在通信连接建立的过程中,如果Wi-Fi模块接收到所述MCU发送的响应信息,则表示Wi-Fi模块与所述MCU成功建立通信连接。
可选的,在Wi-Fi模块与所述MCU成功建立通信连接的情况下,Wi-Fi模块生成并保存第一对应关系,所述第一对应关系为所述MCU的接口协议标识与第一接口协议的对应关系。所述第一接口协议为所述Wi-Fi模块支持的、用于与所述MCU成功建立通信连接的接口协议。从而,在下次从其他MCU获取到相同的接口协议标识的情况下,Wi-Fi模块根据第一对应关系,优先使用第一接口协议与其他MCU建立通信连接。这样,节约了Wi-Fi模块与MCU建立通信连接的时间。
例如,所述MCU的接口协议标识为X000,Wi-Fi模块使用SPI协议与所述MCU成功建立通信连接,则Wi-Fi模块建立X000与SPI协议的对应关系,以便于下次获取到其他MCU的接口协议标识为X000时,所述Wi-Fi模块优先选择SPI协议与其他MCU建立通信连接。
本申请实施例提供一种连接建立方法,Wi-Fi模块支持至少两种接口协议,Wi-Fi模块获取MCU的接口协议标识,然后,查询所述MCU的接口协议标识是否存在于预设的接口协议数据库中,若所述MCU的接口协议标识存在于所述接口协议数据库中,则说明所述Wi-Fi模块与所述MCU均支持同一种接口协议,所述Wi-Fi模块使用目标接口协议与所述MCU建立通信连接,所述目标接口协议为存在于所述接口协议数据库中的所述MCU的接口协议标识对应的接口协议。若所述MCU的接口协议标识不存在于所述接口协议数据库中,则说明Wi-Fi模块不支持所述MCU的接口协议标识对应的接口协议。这种情况下,所述Wi-Fi模块尝试使用所述Wi-Fi模块支持的接口协议与所述MCU建立通信连接,直至所述Wi-Fi模块与所述MCU成功建立通信连接,或者所述Wi-Fi模块支持的所有接口协议均被使用过。从而,在本申请实施例中,支持多种接口协议的Wi-Fi模块能够与多种支持不同接口协议的智能家居控制系统建立通信连接,解决了现有的Wi-Fi模块存在的兼容性较差,使用范围受限等问题。
为了避免Wi-Fi模块与非法设备建立通信连接,本申请实施例提供另一种连接建立方法。如图2所示,在步骤101之前,所述方法还包括:201、202。适应性的,步骤101替换为203。
201、所述Wi-Fi模块获取所述MCU的鉴权信息。
其中,所述鉴权信息包括所述MCU的厂家信息或所述MCU的标识。
一种具体实现方式中,在Wi-Fi模块与MCU建立物理连接之后,所述Wi-Fi模块从所述MCU的接口处获取所述MCU的鉴权信息。
202、所述Wi-Fi模块根据所述MCU的鉴权信息,对所述MCU进行鉴权。
一种具体实现方式中,若所述鉴权信息包括所述MCU的厂家信息,则Wi-Fi模块查询预设的厂家白名单中是否包括所述MCU的厂家信息,所述厂家白名单存储至少一个厂家信息。如果所述厂家白名单中不包括所述MCU的厂家信息,则所述Wi-Fi模块对所述MCU的鉴权不通过;如果所述厂家白名单中包括所述MCU的厂家信息,则所述MCU通过鉴权。
类似的,若所述鉴权信息包括所述MCU的标识,则Wi-Fi模块查询预设的MCU白名单中是否包括所述MCU的标识,所述MCU白名单存储至少一个MCU的标识。如果所述MCU白名单中不包括所述MCU的标识,则所述Wi-Fi模块对所述MCU的鉴权不通过;如果所述MCU白名单中包括所述MCU的标识,则所述MCU通过鉴权。
203、所述Wi-Fi模块在所述MCU通过鉴权后,获取所述MCU的接口协议标识。
通过上述方法,能够避免Wi-Fi模块与非法设备建立通信连接。
如图3所示,本申请实施例提供一种Wi-Fi模块,所述Wi-Fi模块支持至少两种接口协议,所述Wi-Fi模块包括:
获取单元11,用于获取MCU的接口协议标识。
查询单元12,用于查询所述MCU的接口协议标识是否存在于存储单元13中。
所述存储单元13,用于存储所述Wi-Fi模块支持的接口协议对应的接口协议标识。
连接单元14,用于在所述查询单元12确定所述MCU的接口协议标识存在于所述存储单元13中的情况下,使用目标接口协议与所述MCU建立通信连接,所述目标接口协议为存在于所述存储单元13中的所述MCU的接口协议标识对应的接口协议。
所述连接单元14,还用于在所述查询单元12确定所述MCU的接口协议标识不存在于所述存储单元13中的情况下,尝试使用所述Wi-Fi模块支持的接口协议与所述MCU建立通信连接,直至所述Wi-Fi模块与所述MCU成功建立通信连接,或者所述Wi-Fi模块支持的所有接口协议均被使用过。
一种具体实现方式中,所述连接单元14,还用于在存在至少两种目标接口协议的情况下,使用优先级最高的目标接口协议与所述MCU建立通信连接。
一种具体实现方式中,所述存储单元13,还用于在所述Wi-Fi模块与所述MCU成功建立通信连接的情况下,生成并保存第一对应关系,所述第一对应关系是所述MCU的接口协议标识与第一接口协议的对应关系,所述第一接口协议为所述Wi-Fi模块支持的、用于与所述MCU成功建立通信连接的接口协议。
需要说明的是,所述接口协议包括:UART协议、IIC协议、USB协议和SPI协议。
本申请实施例提供一种Wi-Fi模块,Wi-Fi模块支持至少两种接口协议,Wi-Fi模块获取MCU的接口协议标识,然后,查询所述MCU的接口协议标识是否存在于预设的接口协议数据库中,若所述MCU的接口协议标识存在于所述接口协议数据库中,则说明所述Wi-Fi模块与所述MCU均支持同一种接口协议,所述Wi-Fi模块使用目标接口协议与所述MCU建立通信连接,所述目标接口协议为存在于所述接口协议数据库中的所述MCU的接口协议标识对应的接口协议。若所述MCU的接口协议标识不存在于所述接口协议数据库中,则说明Wi-Fi模块不支持所述MCU的接口协议标识对应的接口协议。这种情况下,所述Wi-Fi模块尝试使用所述Wi-Fi模块支持的接口协议与所述MCU建立通信连接,直至所述Wi-Fi模块与所述MCU成功建立通信连接,或者所述Wi-Fi模块支持的所有接口协议均被使用过。从而,在本申请实施例中,支持多种接口协议的Wi-Fi模块能够与多种支持不同接口协议的智能家居控制系统建立通信连接,解决了现有的Wi-Fi模块存在的兼容性较差,使用范围受限等问题。
在图3所示Wi-Fi模块的基础上,本申请实施例提供另一种Wi-Fi模块。如图4所示,所述Wi-Fi模块还包括鉴权单元15。
所述获取单元11,还用于获取所述MCU的鉴权信息。
所述鉴权单元15,用于根据所述MCU的鉴权信息,对所述MCU进行鉴权。
所述连接单元14,具体用于在所述MCU通过鉴权后,获取所述MCU的接口协议标识。
本申请实施例提供的WI-FI模块通过对MCU进行鉴权,从而避免连接到非法设备。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序加载到计算机上被计算机执行时,使计算机执行如图1或图2所示的方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。