WiFi模块同时工作在双模式的方法、设备和系统与流程

文档序号:12280493阅读:1084来源:国知局
WiFi模块同时工作在双模式的方法、设备和系统与流程

本发明属于智能交互技术领域,具体涉及一种WiFi模块同时工作在双模式的方法、设备和系统。



背景技术:

Android是Google公司基于Linux平台开发的自由及开放源代码的操作系统,其开放的平台为第三方开发商开发软件提供了宽泛自由的环境,因此其应用领域日益广泛,例如电视、数码相机、游戏机等领域。随着上网需求的增加,现有Android智能设备使用两个WiFi模块,如图1所示,其中一个WiFi模块工作在STA模式,另一个WiFi模块工作在AP模式,使得Android设备能够同时运行在STA模式和AP模式。在STA模式时,Android设备作为无线终端,通过工作在STA模式的WiFi模块连接到无线路由器等中继设备,从而能够实现Android设备的无线上网功能;在AP模式时,Android设备提供无线接入服务,其他具有WiFi功能的无线终端通过工作在AP模式的WiFi模块接入外部网络,实现其他具有WiFi功能的无线终端的无线上网功能。但这种方式需要Android设备配备两个WiFi模块,这样会造成硬件成本的增加。



技术实现要素:

本发明提供了一种WiFi模块同时工作在双模式的方法、设备和系统,其采用单个WiFi模块实现STA模式和AP模式同时工作。

本发明提出了一种WiFi模块同时工作在双模式的方法,所述双模式为STA模式和AP模式,其中,WiFi模块工作在STA模式包括以下步骤:

步骤211,使用者打开STA模式;

步骤212,处理设备判断共存模式的WiFi驱动是否已被加载,如果未加载则加载共存模式的WiFi驱动;

步骤213,在WiFi驱动加载后,处理设备为WiFI模块配置无线网络;

WiFi模块工作在AP模式包括以下步骤:

步骤221,使用者打开AP模式;

步骤222,处理设备判断共存模式的WiFi驱动是否已加载,如果未加载则加载共存模式的WiFi驱动;

步骤223,处理设备判断WiFi模块是否连接上中继设备;

步骤224,如果WiFi模块已连接上中继设备,则处理设备获取WiFi模块连接上中继设备后所使用的信道,使用获取到的信道启动接入认证服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块;如果WiFi模块没有连接上中继设备,则处理设备使用预设的默认信道启动接入认证服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块;

步骤225,处理设备启动配置服务并设置路由规则,以便连接上该WiFi模块的终端设备能够通过同一WiFi模块访问外网;

步骤226,处理设备判断当前所使用的信道是否需要变更,如果需要变更,则使用变更后的信道重启接入认证服务,重启配置服务并重新设置路由规则;如果不需要变更,则继续执行步骤226判断当前所使用的信道是否需要变更。

进一步地,所述步骤226中,在以下情形下,当前所使用的信道需要变更:

当前所使用的信道为预设的默认信道,当WiFi模块连接上中继设备并且连接上中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块连接的中继设备发生变更并且WiFi模块连接上新中继设备,以及连接上新中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上新中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块使用的信道发生变更时,需要将当前所使用的信道变更为WiFi模块新使用的信道。

进一步地,所述步骤224和步骤226中,所述接入认证服务为hostapd服务。

进一步地,所述步骤225和步骤226中,所述配置服务为dnsmasq服务。

本发明还提出了一种实现如前中任一项所述的WiFi模块同时工作在双模式的方法的设备,所述双模式为STA模式和AP模式,该设备包括所述处理设备和所述WiFi模块。

进一步地,所述设备为Android智能设备。

本发明还提出一种WiFi模块同时工作在双模式的系统,所述双模式为STA模式和AP模式,该系统包括以下模块:

第一设置模块,打开STA模式;

第一判断模块,判断共存模式的WiFi驱动是否已加载,如果未加载则加载共存模式的WiFi驱动;

第一启动模块,在WiFi驱动加载后,为WiFI模块配置无线网络;

所述系统还包括以下模块:

第二设置模块,用于打开AP模式;

第二判断模块,用于判断共存模式的WiFi驱动是否已加载,如果未加载则加载共存模式的WiFi驱动;

第三判断模块,用于判断WiFi模块是否连接上中继设备;

第二启动模块,如果WiFi模块已连接上中继设备,则获取WiFi模块连接上中继设备后所使用的信道,使用获取到的信道启动接入认证服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块;如果WiFi模块没有连接上中继设备,则使用预设的默认信道启动接入认证服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块;

第三启动模块,用于启动配置服务并设置路由规则,以便连接上该WiFi模块的终端设备能够通过同一WiFi模块访问外网;

第四判断模块,用于判断当前所使用的信道是否需要变更,如果需要变更,则使用变更后的信道重启接入认证服务,重启配置服务并重新设置路由规则;如果不需要变更,则继续判断当前所使用的信道是否需要变更。

进一步地,第四判断模块在以下情形下,判断当前所使用的信道需要变更:

当前所使用的信道为预设的默认信道,当WiFi模块连接上中继设备并且连接上中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块连接的中继设备发生变更并且WiFi模块连接上新中继设备,以及连接上新中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上新中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块使用的信道发生变更时,需要将当前所使用的信道变更为WiFi模块新使用的信道。

进一步地,所述接入认证服务为hostapd服务。

进一步地,所述配置服务为dnsmasq服务。

本发明的有益效果:

本发明使用支持共存模式的WiFi模块来实现STA模式和AP模式同时运行,可以将AP的网络路由转发到STA模式所连接的无线路由器,这样只需一个WiFi模块就能够实现STA模式和AP模式,相比现有技术中使用两个WiFi模块来实现STA模式和AP模式同时运行的方案,节省了一个WiFi模块的成本;由于使用一个WiFi模块,相应的PCB板尺寸和天线数量可以减小,这样也节省了周边硬件的成本。

附图说明

图1是现有技术的Android智能设备中双WiFi模块的结构示意图;

图2是本发明的WiFi模块工作在STA模式的方法流程图;

图3是本发明的WiFi模块工作在AP模式的方法流程图;

图4是本发明的WiFi模块工作在STA模式的系统结构框图;

图5是本发明的WiFi模块工作在AP模式的系统结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。但本领域技术人员知晓,本发明并不局限于附图和以下实施例。

本发明提供了一种单个WiFi模块同时工作在双模式的方法、设备及系统,所述双模式为STA模式和AP模式,其中,该方法可以用在Android设备中,所述Android设备表示以Android作为操作系统的设备,例如Android手机、Android平板电脑、Android电脑、Android机顶盒、Android游戏盒、Android智能电视、Android智能广告机、Android会议机、Android教育机等智能交互设备。

图2和图3给出了使单个WiFi模块同时工作在STA模式和AP模式的方法流程图。

如图2所示,WiFi模块工作在STA模式包括如下步骤:

步骤211,打开STA模式:使用者在软件设置界面打开STA模式;

步骤212,判断驱动是否已加载:Android设备的CPU判断共存模式的WiFi驱动是否已加载,由于同一WiFi模块的共存模式的WiFi驱动只需要加载一次,因此如果同时打开STA模式和AP模式,那么需要判断该WiFi模块的共存模式的WiFi驱动是否已加载,如果已加载则不需要再次加载,如果未加载则需要加载共存模式的WiFi驱动用以在软件层为STA模式和AP模式映射出各自对应的网口,加载共存模式的WiFi驱动的方式可以为:调用类似insmod xxx.ko ifname=wlan0if2name=ap0命令加载共存模式的WiFi驱动,其中具体命令参数在不同模式会有所不同;

步骤213,启动wpa_supplicant服务:在WiFi驱动加载后,CPU启动wpa_supplicant服务,用于用户界面操作的交互以及用户界面操作与底层驱动的交互,作为用户界面操作与底层驱动间的中间通信;wpa_supplicant服务一启动,中继设备与WiFi模块建立连接,WiFi模块即可通过中继设备为其分配的信道访问无线网络;所述中继设备用于实现网络的互连,中继设备例如可以为路由器。

如图3所示,WiFi模块工作在AP模式的方法:

步骤221,打开AP模式:使用者在软件设置界面打开AP功能;

步骤222,判断驱动是否已加载:CPU判断共存模式的WiFi驱动是否已加载,如果已加载则不需要再次加载,如果未加载则需要加载共存模式的WiFi驱动;

步骤223,判断WiFi是否已连接:CPU判断WiFi模块是否连接上中继设备;

步骤224,启动hostapd服务:如果WiFi模块已连接上中继设备,则CPU获取WiFi模块连接上中继设备后所使用的信道,使用获取到的信道启动hostapd服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块,通过获取到的信道访问无线网络;如果WiFi模块没有连接上中继设备,则CPU使用预设的默认信道启动hostapd服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块;

步骤225,启动dnsmasq服务并设置路由规则:启动hostapd服务后,CPU分配IP地址和DNS配置,并且设置相应的路由规则,以便连接上该WiFi模块的终端设备可以通过同一WiFi模块访问外网;

步骤226,CPU判断当前所使用的信道是否需要变更,如果需要变更,则使用变更后的信道重启hostapd服务,重启dnsmasq服务并重新设置路由规则;如果不需要变更,则继续执行步骤226判断当前所使用的信道是否需要变更。

在以下情形下,当前所使用的信道需要变更:

当前所使用的信道为预设的默认信道,当WiFi模块连接上中继设备并且连接上中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块连接的中继设备发生变更并且WiFi模块连接上新中继设备,以及连接上新中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上新中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块使用的信道发生变更时,需要将当前所使用的信道变更为WiFi模块新使用的信道。

通过上述方法,本发明能够实现通过同一WiFi模块实现STA模式和AP模式同时工作,并且使得AP模式使用的信道与STA模式使用的信道保持一致。

本发明还提出了一种实现上述单个WiFi模块同时工作在STA和AP模式的方法的设备,该设备包括CPU和单个WiFi模块,CPU与该WiFi模块连接。该设备可以为Android设备,所述Android设备表示以Android作为操作系统的设备,例如Android手机、Android平板电脑、Android电脑、Android机顶盒、Android游戏盒、Android智能电视、Android智能广告机、Android会议机、Android教育机等智能交互设备。

WiFi模块工作在STA模式时,CPU判断共存模式的WiFi驱动是否已加载,由于同一WiFi模块的共存模式的WiFi驱动只需要加载一次,因此如果同时打开STA模式和AP模式,那么需要判断该WiFi模块的共存模式的WiFi驱动是否已加载,如果已加载则不需要再次加载,如果未加载则需要加载共存模式的WiFi驱动用以在软件层为STA模式和AP模式映射出各自对应的网口,加载共存模式的WiFi驱动的方式可以为:调用类似insmod xxx.ko ifname=wlan0if2name=ap0命令加载共存模式的WiFi驱动,其中具体命令参数在不同模式会有所不同;在WiFi驱动加载后,CPU启动wpa_supplicant服务,用于用户界面操作的交互以及用户界面操作与底层驱动的交互,作为用户界面操作与底层驱动间的中间通信;wpa_supplicant服务一启动,中继设备与WiFi模块建立连接,WiFi模块即可通过中继设备为其分配的信道访问无线网络;所述中继设备用于实现网络的互连,中继设备例如可以为路由器。

当WiFi模块工作在AP模式时,CPU判断共存模式的WiFi驱动是否已加载,如果已加载则不需要再次加载,如果未加载则需要加载共存模式的WiFi驱动;CPU判断WiFi模块是否连接上中继设备;如果WiFi模块已连接上中继设备,则CPU获取WiFi模块连接上中继设备后所使用的信道,使用获取到的信道启动hostapd服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块,通过获取到的信道访问无线网络;如果WiFi模块没有连接上中继设备,则CPU使用预设的默认信道启动hostapd服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块;启动hostapd服务后,CPU分配IP地址和DNS配置,并且设置相应的路由规则,以便连接上该WiFi模块的终端设备可以通过同一WiFi模块访问外网;CPU判断当前所使用的信道是否需要变更,如果需要变更,则使用变更后的信道重启hostapd服务,重启dnsmasq服务并重新设置路由规则;如果不需要变更,则继续判断当前所使用的信道是否需要变更。

在以下情形下,当前所使用的信道需要变更:

当前所使用的信道为预设的默认信道,当WiFi模块连接上中继设备并且连接上中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块连接的中继设备发生变更并且WiFi模块连接上新中继设备,以及连接上新中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上新中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块使用的信道发生变更时,需要将当前所使用的信道变更为WiFi模块新使用的信道。

该设备能够实现通过同一WiFi模块实现STA模式和AP模式同时工作,并且使得AP模式使用的信道与STA模式使用的信道保持一致。

本发明还提出一种单个WiFi模块同时工作在STA和AP模式的系统,如图4和图5所示。如图4所示,该系统包括以下模块:

第一设置模块,打开STA模式:在软件设置界面打开STA模式;

第一判断模块,判断驱动是否已加载:判断共存模式的WiFi驱动是否已加载,由于同一WiFi模块的共存模式的WiFi驱动只需要加载一次,因此如果同时打开STA模式和AP模式,那么需要判断该WiFi模块的共存模式的WiFi驱动是否已加载,如果已加载则不需要再次加载,如果未加载则需要加载共存模式的WiFi驱动,加载共存模式的WiFi驱动的方式可以为:调用类似insmod xxx.ko ifname=wlan0if2name=ap0命令加载共存模式的WiFi驱动,其中具体命令参数在不同模式会有所不同;

第一启动模块,启动wpa_supplicant服务:在WiFi驱动加载后,启动wpa_supplicant服务,用于用户界面操作的交互以及用户界面操作与底层驱动的交互,作为两者间的中间通信;wpa_supplicant服务一启动,中继设备与WiFi模块建立连接,WiFi模块即可通过中继设备为其分配的信道访问无线网络。

如图5所示,所述系统还包括以下模块:

第二设置模块,打开AP模式:在软件设置界面打开AP功能;

第二判断模块,判断驱动是否已加载:判断共存模式的WiFi驱动是否已加载,如果已加载则不需要再次加载,如果未加载则需要加载共存模式的WiFi驱动;

第三判断模块,判断WiFi是否已连接:判断WiFi模块是否连接上中继设备;

第二启动模块,启动hostapd服务:如果WiFi模块已连接上中继设备,则获取WiFi模块连接上中继设备后所使用的信道,使用获取到的信道启动hostapd服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块,通过获取到的信道访问无线网络;如果WiFi模块没有连接上中继设备,则使用预设的默认信道启动hostapd服务,以便其他具有WiFi功能的终端设备连接上该WiFi模块;

第三启动模块,启动dnsmasq服务并设置路由:启动hostapd服务后,分配IP地址和DNS配置,并且设置相应的路由规则,以便连接上该WiFi模块的终端设备可以通过同一WiFi模块访问外网;

第四判断模块,用于判断当前所使用的信道是否需要变更,如果需要变更,则使用变更后的信道重启hostapd服务,重启dnsmasq服务并重新设置路由规则;如果不需要变更,则继续判断当前所使用的信道是否需要变更。

第四判断模块在以下情形下,判断当前所使用的信道需要变更:

当前所使用的信道为预设的默认信道,当WiFi模块连接上中继设备并且连接上中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块连接的中继设备发生变更并且WiFi模块连接上新中继设备,以及连接上新中继设备后所使用的信道与当前所使用的信道不同时,需要将当前所使用的信道变更为WiFi模块连接上新中继设备后所使用的信道;

或者,当前所使用的信道为WiFi模块连接上中继设备后所使用的信道,当WiFi模块使用的信道发生变更时,需要将当前所使用的信道变更为WiFi模块新使用的信道。

为了更清楚地说明本发明提出的技术方案,本实施例以手机通过Android游戏盒进行多屏互动网络游戏为例进行描述。

在集成有共存模式的WiFi模块的Android游戏盒上打开WiFi模式和AP模式,让WiFi模式和AP模式同时工作,然后将该WiFi模块连接上无线路由器,该Android游戏盒可访问外网。由于WiFi模块的AP模式打开,所以该Android游戏盒可以作为AP使用,因此手机可连接上该Android游戏盒。当在手机上启动多屏互动网络游戏时,手机与该Android游戏盒进行游戏交互,由于是网络游戏,此时手机连接上该Android游戏盒,再通过该Android游戏盒路由转发到WiFi模块所连接的无线路由器访问外网,从而能够实现多屏互动网络游戏正常使用和运行。

以上,对本发明的实施方式进行了说明。但是,本发明不限定于上述实施方式。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1