首页> 中国专利> Android系统手机热点WPS连接实现方法及系统

Android系统手机热点WPS连接实现方法及系统

摘要

本发明公开Android系统手机热点WPS连接实现方法及系统,该方法包括:A、在UI层预设用于启动WPS连接的按钮;在中间层添加第一接口和第二接口;在协议栈添加监听文件;B、系统响应用户点击按钮形成点击事件,中间层对事件进行处理并调用第一接口启动协议栈,后调用第二接口发送消息到驱动层,启动WPS流程;C、通过监听文件监听终端发送的连接数据,并将其传送至协议栈,由协议栈利用该连接数据将终端接入WiFi网络。通过本发明方法使Android系统手机自身变成wifi热点,并能使其它终端通过WPS方式与其建立连接,从而实现快速又安全的上网,解决了现有手机热点设置繁琐,连接速度慢,存在安全隐患的问题。

著录项

  • 公开/公告号CN104105218A

    专利类型发明专利

  • 公开/公告日2014-10-15

    原文格式PDF

  • 申请/专利权人 TCL通讯(宁波)有限公司;

    申请/专利号CN201410357980.0

  • 发明设计人 方世龙;龙娜;

    申请日2014-07-25

  • 分类号H04W76/00(20090101);H04W84/12(20090101);

  • 代理机构44268 深圳市君胜知识产权代理事务所;

  • 代理人王永文;刘文求

  • 地址 315100 浙江省宁波市高新区扬帆路999弄5号6楼

  • 入库时间 2023-12-17 02:24:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-12

    授权

    授权

  • 2015-03-25

    实质审查的生效 IPC(主分类):H04W76/00 申请日:20140725

    实质审查的生效

  • 2014-10-15

    公开

    公开

说明书

技术领域

本发明涉及通讯技术领域,尤其涉及一种Android系统手机热点WPS连接实现方法及系统。

背景技术

随着基于Android系统的智能手机的发展和普及,智能手机很多新功能被开发出来,手机热点功能即是其中之一,手机热点其实是把智能手机当作一个WiFi热点,其它具有WiFi功能的设备直接连上它,通过手机本身的移动网络实现上网的技术,目前已经实现手机WiFi热点功能的方法一般存在设置操作繁琐,连接过程速度慢,连接存在安全隐患的问题,这也阻碍了这一技术的应用和推广。

因此,现有技术还有待于改进和发展。

发明内容

鉴于上述现有技术的不足,本发明的目的在于提供一种Android系统手机热点WPS连接实现方法及系统,旨在解决目前连接手机热点速度慢、存在安全隐患的问题。

本发明的Android系统手机热点wifi连接方式采用的是WPS(Wi-Fi Protected Setup)连接方式,本发明的技术方案如下:

一种Android系统手机热点WPS连接实现方法,其中,所述方法包括:

A、在WiFi UI层预先设置用于启动WPS连接的按钮;在WiFi中间层添加用于启动WiFi协议栈的第一接口和用于启动WPS流程的第二接口;在WiFi协议栈添加用于监视WPS连接的监听文件;

B、系统响应用户点击预设按钮操作形成点击事件,WiFi中间层对该点击事件进行处理并根据处理结果调用第一接口启动WiFi协议栈,后调用第二接口发送消息到驱动层,启动WPS流程;

C、通过监听文件监听请求终端发送的连接所需数据,并将其传送至WiFi协议栈,由WiFi协议栈利用该连接所需数据将请求终端接入WiFi网络,实现请求终端的WPS连接。

所述的Android系统手机热点WPS连接实现方法,其中,所述步骤A还包括:所述WiFi协议栈中添加用于WiFi协议栈与WiFi中间层通讯的第三接口。

所述的Android系统手机热点WPS连接实现方法,其中,所述步骤B中所述WiFi中间层调用第一接口启动WiFi协议栈之前还包括:所述WiFi中间层首先通过第三接口与WiFi协议栈建立通讯。

所述的Android系统手机热点WPS连接实现方法,其中,所述步骤A还包括:系统的WiFi状态机中预先添加用于处理WPS连接过程中事件的状态。

所述的Android系统手机热点WPS连接实现方法,其中,所述步骤B具体为:

B1、系统响应用户点击预设按钮操作形成点击事件,WiFi中间层中的WiFi状态机对该点击事件进行处理;

B2、WiFi中间层根据点击事件的处理结果调用第一接口启动WiFi协议栈;

B3、WiFi协议栈启动后,WiFi中间层调用第二接口发送消息经WiFi协议栈到驱动层,驱动层根据消息驱动WiFi硬件工作,启动WPS流程。

所述的Android系统手机热点WPS连接实现方法,其中,所述请求终端发送的连接所需数据包括请求终端的设备识别信息和安全密钥。

所述的Android系统手机热点WPS连接实现方法,其中,所述步骤C具体为:

C1、通过监听文件监听请求终端发送的连接所需数据,并将其传送至WiFi协议栈;

C2、WiFi协议栈对该连接所需数据进行处理,获取其中的设备识别信息和安全密钥对请求终端分别进行鉴权和关联,使所述请求终端接入WIFI网络,实现请求终端的WPS连接。

一种Android系统手机热点WPS连接实现系统,其中,所述系统包括为

设置模块,用于在WiFi UI层预先设置用于启动WPS连接的按钮;在WiFi中间层添加用于启动WiFi协议栈的第一接口和用于启动WPS流程的第二接口;在WiFi协议栈添加用于监视WPS连接的监听文件;

启动模块,用于系统响应用户点击预设按钮操作形成点击事件,WiFi中间层对该点击事件进行处理并根据处理结果调用第一接口启动WiFi协议栈,后调用第二接口发送消息到驱动层,启动WPS流程;

接入模块,用于通过监听文件监听请求终端发送的连接所需数据,并将其传送至WiFi协议栈,由WiFi协议栈利用该连接所需数据将请求终端接入WIFI网络,实现请求终端的WPS连接。

有益效果:本发明提供一种Android系统手机热点WPS连接实现方法及系统,通过该方法使Android系统手机自身变成wifi热点,并能使其它终端设备通过WPS方式与其建立网络连接,从而实现利用手机热点快速又安全的上网,解决了现有手机WiFi热点功能设置繁琐,连接速度慢,连接存在安全隐患的问题。

附图说明

图1为本发明具体实施例中连接手机WiFi热点的方法流程图。

图2为Android WiFi系统架构图。

图3为图1中步骤S200的方法流程图。

图4为图1中步骤S300的方法流程图。

图5为本发明具体实施例中连接手机WiFi热点的系统原理框图。 

具体实施方式

本发明提供一种连接手机WiFi热点的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示的一种Android系统手机热点WPS连接实现方法,其中,所述方法包括:

S100、在WiFi UI层预先设置用于启动WPS连接的按钮;在WiFi中间层添加用于启动WiFi协议栈的第一接口和用于启动WPS流程的第二接口;在WiFi协议栈添加用于监视WPS连接的监听文件。

本发明要实现Android系统手机WiFi热点的WPS连接,就需要对现有系统进行改造,图2所示的为现有的Android WiFi系统架构图,其是以WiFi守护进程(wpa_supplicant)为核心来定义上层用户接口和下层驱动接口,本发明对图1所示的为Android WiFi系统的各功能层进行针对性设计,使Android WiFi系统具备WPS连接方式的手机热点功能。

具体的,在系统WiFi UI层100预先设置用于启动WPS连接的菜单和按钮,由于WPS连接方式是通过AP上的WPS按钮配置(PBC)模式上网。因此本发明中的WiFi UI层中设置相应的具有启动WPS连接的按钮。WiFi UI层的作用是把WiFi中间层发上来的事件进行相应的处理,并显示给用户,包括WiFi连接过程中的各种状态,例如开始WPS,正在连接,连接成功,断开连接等,同时本法民的WiFi UI层还会提供相应的UI给用户来进行相应的操作。

WiFi中间层(middleware)包括WiFi 状态机200和WiFi中间件300,为实现WiFi中间层和WiFi协议栈400的连接,在WiFi中间层添加用于启动WiFi协议栈400的第一接口和用于启动WPS流程的第二接口,具体地,第一接口是指wifi_connect_to_softap接口,该接口是通过文件wifi.c里面添加连接函数wifi_connect_to_softap形成,利用wifi_connect_to_softap连接函数在手机热点启动时,启动WiFi协议栈连接wpa_supplicant。进一步地,为了使WiFi中间层能够调用wifi_connect_to_softap接口,需要在android_net_wifi_Wifi.cpp以及WifiNative.java中添加Java接口以供WiFi文件监视器(WiFi Monitor)调用。

进一步地,所述第二接口是指android_net_wifi_wpsPbcCommand接口,具体地,是在android_net_wifi_Wifi.cpp中添加该接口,该接口即为wpa_supplicant的PBC命令接口。通过其可启动WPS流程。即WiFi协议栈根据终端连接请求发送消息到驱动500,并由驱动500驱动WiFi硬件600工作。为了使WiFi中间层能够调用android_net_wifi_wpsPbcCommand接口,在WifiNative.java中添加startWpsPbcCommand接口以供WiFi Monitor使用。

为实现WiFi中间层与WiFi协议栈的通讯,在WiFi协议栈中添加用于WiFi协议栈与WiFi中间层通讯的第三接口。该第三接口即为ctrl interface接口,其为WiFi中间层提供WiFi协议栈的对接端,由于该接口能够与wpa_supplicant进行通讯,因此,WiFi中间层能够通过调用ctrl interface接口与wpa_supplicant建立通讯,为进一步启动wpa_supplicant提供通道。为配置该接口,需要在手机热点的配置文件hostapd.conf文件中添加ctrl interface。

进一步地,在WiFi协议栈添加用于监视WPS连接的监听文件,该监听文件显然属于手机WiFi热点的监听,该监听文件具有监视线程和把命令下发给wpa_supplicant的作用。具体地,在frameworks\base\wifi\java\android\net\wifi中添加该监听文件。

本发明方案中,WiFi状态机200(WifiStateMachine)的作用是处理各种手机WiFi热点的状态,这些状态包括热点开启,启动WPS PBC,启动的过程,结果,断开,关闭热点等。

进一步地,系统的WiFi状态机中预先添加用于处理WPS连接过程中事件的状态(state)。本发明的方案实施过程中,当WPS PBC使用时,WiFi状态机处于SoftApStartedState的状态,在这个状态中会添加事件的处理,当WPS PBC开启之后,WiFi状态机则需要一个新的状态来处理WPS PBC事件,因此在WifiStateMachine的构造函数中添加新的状态,之后在该新添加的状态中添加各个事件的处理,这里的各个事件的处理不仅包括对Monitor中的事件的处理,还包括对接入点(AP)关闭和热点(Tethering)状态变化事件的处理。

S200、系统响应用户点击预设按钮操作形成点击事件,WiFi中间层对该点击事件进行处理并根据处理结果调用第一接口启动WiFi协议栈,后调用第二接口发送消息到驱动层,启动WPS流程。

进一步地,所述步骤S200如图3所示,其步骤具体为:

S210、系统响应用户点击预设按钮操作形成点击事件,WiFi中间层中的WiFi状态机对该点击事件进行处理。WiFi状态机的状态设置为WPS PBC启动。

S220、WiFi中间层根据点击事件的处理结果调用第一接口启动WiFi协议栈。即调用wifi_connect_to_softap接口启动WiFi协议栈连接wpa_supplicant。

S230、WiFi协议栈启动后,WiFi中间层调用第二接口发送消息经WiFi协议栈到驱动层,驱动层根据消息驱动WiFi硬件工作,启动WPS流程。

即调用android_net_wifi_wpsPbcCommand接口启动WPS流程。

S300、通过监听文件监听请求终端发送的连接所需数据,并将其传送至WiFi协议栈,由WiFi协议栈利用该连接所需数据将请求终端接入WiFi网络,实现请求终端的WPS连接。

进一步地,所述步骤S300如图4所示,其步骤具体为:

S310、通过监听文件监听请求终端发送的连接所需数据,并将其传送至WiFi协议栈。

其中,所述请求终端发送的连接所需数据包括请求终端的设备识别信息和安全密钥。

S320、WiFi协议栈对该连接所需数据进行处理,获取其中的设备识别信息和安全密钥对请求终端分别进行鉴权和关联,使所述请求终端接入WIFI网络,实现请求终端的WPS连接。

本发明的手机WiFi热点的WPS的连接过程是一个标准的WiFi定义的连接过程,实际上该过程跟手机与路由器WPS连接过程是一样的,其连接过程主要分为三个部分,第一个是探测请求(Probe Request)和探测响应(Probe Response)部分,第二个是鉴权请求(Authentication Request )和鉴权响应(Authentication Response)部分,第三个是可扩展的身份验证请求(EAP Request,其中EAP为Extensible Authentication Protocol的缩写)和可扩展的身份验证响应(EAP Response)部分,最后则连接成功。

上述WPS连接过程可简单表述为:

1、发起探测帧(包含请求探测和响应探测帧;

2、发起认证帧(包含认证请求和响应请求帧);

3、发起关联帧(包含关联请求和关联响应);

4、EAPOL帧(含有EAP的加密解密的交互过程): 

在上述请求终端与手机WiFi热点的交互过程中,请求终端发送的信息通过手机WiFi热点的WiFi协议栈接收和处理,并作出响应,最终完成请求终端的WPS连接。

如图5所示的一种Android系统手机热点WPS连接实现系统,其中,所述系统包括为

设置模块100,用于在WiFi UI层预先设置用于启动WPS连接的按钮;在WiFi中间层添加用于启动WiFi协议栈的第一接口和用于启动WPS流程的第二接口;在WiFi协议栈添加用于监视WPS连接的监听文件,具体如步骤S100所述。

启动模块200,用于系统响应用户点击预设按钮操作形成点击事件,WiFi中间层对该点击事件进行处理并根据处理结果调用第一接口启动WiFi协议栈,后调用第二接口发送消息到驱动层,启动WPS流程,具体如步骤S200所述。

接入模块300,用于通过监听文件监听请求终端发送的连接所需数据,并将其传送至WiFi协议栈,由WiFi协议栈利用该连接所需数据将请求终端接入WIFI网络,实现请求终端的WPS连接,具体如步骤S300所述。

有益效果:本发明提供一种Android系统手机热点WPS连接实现方法及系统,通过该方法使Android系统手机自身变成wifi热点,并能使其它终端设备通过WPS方式与其建立网络连接,从而实现利用手机热点快速又安全的上网,解决了现有手机WiFi热点功能设置繁琐,连接速度慢,连接存在安全隐患的问题。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号