智能终端及其路由配置方法

文档序号:10473537阅读:758来源:国知局
智能终端及其路由配置方法
【专利摘要】本发明公开一种智能终端及其路由配置方法,该方法包括如下步骤:使本智能终端以服务端身份接收客户端的接入;响应于客户端索取路由配置信息的配置请求而调用相应的配置进程;由所述配置进程构造所述的路由配置信息并向客户端反馈,在该路由配置信息中包含强制客户端执行静态路由配置的控制选项。本发明的实施,使Android智能终端可以建立基于WiFi Direct技术,而能让该通信技术下的客户端通过服务端访问互联网的技术架构。
【专利说明】
智能终端及其路由配置方法
技术领域
[0001] 本发明设及智能终端的组网技术,具体而言,本发明设及一种智能终端及其路由 配置方法。
【背景技术】
[0002] Android系统的智能终端,包括手机、平板电脑、行车记录仪、可佩戴的手表、眼镜 等等,通常此类智能终端均配备有相应的遵守IEEE802.il协议规范的WiFi模组,装载相应 的驱动,提供相应的接口供框架层W上的进程调用。
[0003] 通常遵守802.11协议的WiFi模组均支持多种工作模式,例如IBSS ,Managed,AP, AP/VLAN,Monitor ,mesh point ,P2P-Client ,P2P-G0等模式,运些模式可实现不同的组网功 能。其中,Managed也即俗称的Stat ion (STA)即工作站模式,AP即俗称的访问接入点模式 (Access Point) ;IBSS则是a化OC即直连模式,P2P即俗称的WiFi Direct技术,属于Wi-Fi Alliance(Wi-Fi联盟)推出的一项重要技术规范。STA模式下,智能终端便成为一个工作站, 可W接入一个处于AP模式下的终端。同理,P2P-Client相当于STA,可W接入一个相当于AP 的P2P-G0(P2P Group Owner)模式下的智能终端。可见,至少有IBSS和WiFi Direct两种体 系可W实现将多台智能终端进行组网,同一部智能终端,基于同一WiFi模组,既可充当热 点,还可充当站点。
[0004] -种应用需求中,希望使同一智能终端的WiFi模组同时工作于站点和热点两种模 式,运样便于在该智能终端利用其站点模式接入外网后,通过其热点模式向其他WiFi设备 提供接入和网络共享服务。现实中,基于Windows或IOS的智能终端,能够使用WiFi模组提供 的功能,使运种智能终端能够虚拟出两台设备,即站点设备和热点设备,在运个基础上,允 许该智能终端一方面可W接入无线AP,另一方面可W充当AP供其他WiFi设备接入。
[0005] 然而Amlroid智能终端却不具备运种功能。Andoid系统的功能实现中,并不具备向 用户同时开放WiFi模组的热点和站点两种模式的能力。因而,实践应用中,当智能终端W站 点模式利用WiFi接入公司局域网AP之后,希望将另一无显示界面的WiFi设备的数据读取并 上传到云端,运样一种需求便会因为该智能终端不能同时开启其自身的热点模式(因其开 启必然导致断网)和站点模式而不能被满足。同理,如用户利用智能终端W热点模式与第= 方通信的过程中,需W站点模式接入某个局域网获取数据,显然也是做不到的。
[0006] 可见,基于Amlroid的智能终端在实现热点与站点两种WiFi组网模式运一功能上 是先天不足的,因此,可W看出,解决运一问题是对Amlroid智能终端的组网条件进行高效 利用的重要前提。
[0007] 上述问题适宜在WiFi P2P技术规范之下解决,由此带来的问题是WP2P方式连接 的客户端与服务端,因原本只考虑点对点连接的问题,故其彼此的路由均不会改变,而要实 现客户端可W通过服务端连接外部网络,则需要使客户端能够合理地配置自身的路由设 置,使得其可W服务端为网关去访问外网。

【发明内容】

[0008] 本发明的目的在于针对W上存在的至少一方面不足,提供一种智能终端及其路由 配置方法。
[0009] 为了实现该目的,本发明采取如下技术方案:
[0010] 本发明提供的一种智能终端路由配置方法,包括如下步骤:
[0011] 使本智能终端W服务端身份接收客户端的接入;
[0012] 响应于客户端索取路由配置信息的配置请求而调用相应的配置进程;
[0013] 由所述配置进程构造所述的路由配置信息并向客户端反馈,在该路由配置信息中 包含强制客户端执行静态路由配置的控制选项。
[0014] 具体的,所述客户端工作于WiFi P2P-Client模式下,相应的,所述的服务端工作 于WiFi P2P Group Owner模式。
[0015] 进一步,所述路由配置信息包括用于完成客户端的路由配置的数据:子网掩码、静 态路由、网关、DNS地址。
[0016] 较佳的,所述网关指向服务端自身。
[0017] 具体的,客户端发起的所述配置请求,为受DHCP协议所规范的客户端请求,由服务 端提供的DHCP服务响应该请求并通过其配置进程反馈所述的路由配置信息。
[0018] 进一步,所述路由配置信息中包含两种对应于不同设置方式的静态路由数据。
[0019] 具体的,所述配置进程的配置文件内容被修改为不同于Amlroid系统默认提供的 内容,从而该配置进程得W向所述路由配置信息中添加所述的控制选项。
[0020] 较佳的,所述配置进程为AndrO id系统提供的DNSmasq进程,所述控制选项为: dhcp-〇ption-force〇
[0021] 本发明提供的一种智能终端,包括:
[0022] 接入单元,用于使本智能终端W服务端身份接收客户端的接入;
[0023] 响应单元,被配置为响应于客户端索取路由配置信息的配置请求而调用相应的配 置进程;
[0024] 反馈单元,被配置为由所述配置进程构造所述的路由配置信息并向客户端反馈, 在该路由配置信息中包含强制客户端执行静态路由配置的控制选项。
[0025] 具体的,所述客户端工作于WiFi P2P-Client模式下,相应的,所述的服务端工作 于WiFi P2P Group Owner模式。
[0026] 较佳的,所述路由配置信息包括用于完成客户端的路由配置的数据:子网掩码、静 态路由、网关、DNS地址。
[0027] 具体的,所述网关指向服务端自身。
[0028] 进一步,客户端发起的所述配置请求,为受DHCP协议所规范的客户端请求,由服务 端提供的DHCP服务响应该请求并通过其配置进程反馈所述的路由配置信息。
[0029] 具体的,所述路由配置信息中包含两种对应于不同设置方式的静态路由数据。
[0030] 较佳的,所述配置进程的配置文件内容被修改为不同于Amlroid系统默认提供的 内容,从而该配置进程得W向所述路由配置信息中添加所述的控制选项。
[0031] 具体的,所述配置进程为Android系统提供的DNSmasq进程,所述控制选项为: dhcp-option-force O
[0032] 与现有技术相比较,本发明至少具有如下优点:
[0033] 本发明对WiFi Direct技术所规范的P2P模式进行充分利用,在P2P客户端与P2P月良 务端连接的前提下,通过服务端为其向客户端的路由配置信息添加使客户端强制自身实现 静态路由配置的控制选项,从而使得客户端依其默认配置逻辑,利用从服务端获取的DHCP 路由配置信息,强制自身完成静态路由配置,使得客户端具备通过服务端与外网进行数据 交互的能力。
[0034] 概括而言,本发明的实施,使Amlroid智能终端可W建立基于WiFi Direct技术,而 能让该通信技术下的客户端通过服务端访问互联网的技术架构。然而,书不尽言,本发明附 加的方面和优点将在下面的描述中部分给出,运些将从下面的描述中变得明显,或通过本 发明的实践了解到。
【附图说明】
[0035] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得 明显和容易理解,其中:
[0036] 图1为本发明的智能终端路由配置方法的流程示意图;
[0037] 图2为本发明的智能终端的结构示意图;
[0038] 图3为本发明的智能终端热点模式与站点模式共存控制方法的流程示意图。
【具体实施方式】
[0039] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0040] 本技术领域技术人员可W理解,除非特意声明,运里使用的单数形式"一"、"一 个"、"所述"和"该"也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措 辞"包括"是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加 一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元 件被"连接"或"禪接"到另一元件时,它可W直接连接或禪接到其他元件,或者也可W存在 中间元件。此外,运里使用的"连接"或"禪接"可W包括无线连接或无线禪接。运里使用的措 辞"和/或"包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0041] 本技术领域技术人员可W理解,除非另外定义,运里使用的所有术语(包括技术术 语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该 理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的 意义一致的意义,并且除非像运里一样被特定定义,否则不会用理想化或过于正式的含义 来解释。
[0042] 本技术领域技术人员可W理解,运里所使用的"终端"、"终端设备"既包括无线信 号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件 的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。运种设备 可W包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示 器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可 W组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人 数字助理),其可W包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日 历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上 型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其 他设备。运里所使用的"终端"、"终端设备"可W是便携式、可运输、安装在交通工具(航空、 海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或W分布形式,运行在地球 和/或空间的任何其他位置运行。运里所使用的"终端"、"终端设备"还可W是通信终端、上 网终端、音乐/视频播放终端,例如可W是PDA、MID(Mobile Internet Device,移动互联网 设备)和/或具有音乐/视频播放功能的移动电话,也可W是智能电视、机顶盒等设备。
[0043] 如图1所示,本发明的智能终端路由配置方法,包括如下步骤S21至S24:
[0044] 步骤S21、使本智能终端W服务端身份接收客户端的接入。
[0045] 所述的服务端与客户端两种角色,在本发明中,主要相对于WWiFi P2P协议所规 范的两部智能终端而言,其中,作为客户端的智能终端的忍片模组工作于该协议所规范的 P2P-Client模式下,即表现为客户端角色;而与之相对的本发明的智能终端则工作于该协 议所规范的P2P-Group Owner模式下,即表现为服务端角色。
[0046] Android操作系统中,并不允许同一智能终端的WiFi忍片模组同时工作于客户端 和服务端两种模式下,因此,要实现运一效果,请参阅本发明后续掲示的一个实例,即后续 即将掲示的作为服务端的智能终端热点模式与站点模式共存控制方法。但需理解,无论服 务端是否处于两种模式共存的状态下,均不影响本发明的有效实施。因本发明旨在解决前 述协议规范下的客户端如何配置其路由,使其具备经过服务端进行通信的技术问题,因而, 服务端本身能否与外网连通,并不影响本发明的技术实现。
[0047] 无论如何,本发明的智能终端按照前述的技术规范,将自身的WiFi忍片模组工作 于WiFi P2P GO的状态,即可供客户端接入,便可完成初步的连接,充当起相当于AP(无线接 入点)的作用。
[0048] 步骤S22、响应于客户端索取路由配置信息的配置请求而调用相应的配置进程。
[0049] 依据WiFi P2P协议的规范,客户端完成初步连接后,将向服务端发起配置请求 畑CP Request (D 肥P ,Dynamic Host Configuration Protocal,动态主机配置协议),W其 获取相应的路由配置信息,通常客户端会在其请求中至少要求如下选项(option):
[(K)加]
[0051] W上的选项基本是依照DHCP协议的规范而约定的,本领域技术人员均可知晓。
[0052] 服务端默认架设有DHCP服务器,能够响应于所述的配置请求,而提供一份路由配 置信息,内含与所述各选项相对应的配置数据(信息)。从而,客户端在发出上述的配置请求 之后,在客户端与服务端通信通杨的情况下,即可获得相应的配置列表,从而可提供给客户 端按照各选项而相应设置自身而完成路由配置。
[0053] 然而,DHCP服务需要通过DNSmasq进程,也即服务端的配置进程来为客户端提供所 述的路由配置信息。DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型 网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,运些域名 是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许D肥P分配的 地址能在DNS中正常解析,而运些D肥P分配的地址和相关命令可W配置到每台主机(比如本 发明的客户端)中,也可W配置到一台核屯、设备中(比如充当路由器的所述服务端), DNSmasq支持静态和动态两种畑CP配置方式。
[0054] 服务端调用DNSmasq进程后,将由该进程执行后续向客户端提供路由配置信息的 功能。
[0055] 步骤S23、由所述配置进程构造所述的路由配置信息并向客户端反馈,在该路由配 置信息中包含强制客户端执行静态路由配置的控制选项。
[0056] DNSmasq进程具有一个同名的配置文件dnsmasq. conf,在该配置文件中可W写入 为客户端提供的路由数据,包括在前罗列的选项。故而,配置进程通过读取所述的配置选项 的相应内容,便可形成所述的路由配置信息提供给所述发起配置请求的客户端。
[0057] 需要指出的是,尽管W上提供的各种选项中并未包含DHCP协议序号为121的选项, 实则选项121与33提供包含同样内容的静态路由数据,然而,在Amlroid系统的DHCP服务提 供的配置列表中,无论其是否在路由配置信息中包含33或121选项,客户端对选项33和选项 121的静态路由数据均不予理陳。而研究发现,当服务端在其提供的路由配置信息中添加用 于强制客户端执行静态路由配置的控制选项化cp-option-force之后,则情况可W改观。具 体而言,当特别提供121运一种静态路由数据并与该控制选项配合时,则客户端将作为一种 绝对强制执行的指令去完成自身的静态路由数据的配置。因而,本发明的服务端便对所述 配置信息的配置文件进行修改,使得其具备使所述配置进程具备向客户端反馈包含所述的 控制选项的路由配置信息的能力。
[0058] 具体而言,默认情况下,在未对配置进程的配置文件进行修改的情况下,当客户端 接收到服务端的所述的路由配置信息后,依据Android系统的默认规则,将启动其配置进 程,完成路由配置,期间不负责完成自由的静态路由数据的设置,运种情况下,客户端由于 缺乏静态路由信息,而无法通过服务端访问外部网络,反之外部网络的数据包也无法顺利 到达客户端。因此需要对所述的配置进程所需的配置文件进行重新配置,请参考如下的一 个用于修改所述配置文件的实例:
[0059] 首先,使所述的配置进程处于关闭状态。
[0060] -个实施例中,执行W下指令:Siido dnsmasq-C. /dnsmasq. conf-z-k,执行该指令 的目的,在于W系统最高权限关闭WAmlroid系统默认流程执行路由配置的dnsmasq进程, 即使其已完成了路由配置,通过例如上述的指令,也可W将其关闭,并且将W后续的处理为 准。
[0061] 然后,修改该配置进程的配置文件,使其包含强制客户端执行静态路由配置的控 制选项,强制客户端依据服务端提供的路由配置信息中的所述选项为121的静态路由数据 对自身进行配置。
[0062] 在关闭所述配置进程之后,进而对其配置文件dnsmasq. conf进行修改,例如:
[0063] #杜绝dnsmasq进程读取其它任何诸如/etc/resolv. conf的域名文件
[0064] n〇-resolv [00化]POd = O
[0066] #网卡绑定
[0067] interface =WlanO
[0068] #指定起始地址、终止地址W及租约时间
[0069] dhcp-range = 10.15.0.3,10.15.0.20,l^
[0070] #发送给客户端的域名服务器地址
[0071] server = 114.114.114.114
[0072] 辑虽制路由配置,设置控制选项及设定选项为121
[0073] dhcp-option-force = 121,192.168.1.0/24,10.15.0.1
[0074] dhcp-option-force = 33,192.168.1.0,10.15.0.1
[0075] 继而,后续dnsmasq进程再次启动之后,便会直接读取其配置文件,将与上述所列 的特征相应的数据,其中尤其包括所述的控制选项及选项121,封闭成约定的路由配置信 息,在其中包含各种相应的数据,响应于客户端的配置请求而反馈给客户端。
[0076] 相应的,客户端在收到所述的路由配置信息之后,对其进行解析,获取其中的各选 项相对应的数据,对自身的网络设置进行更新,当其获知所述控制选项及相应的参数选项 121时,即能自行强制配置自身的静态路由数据。完成运一过程的配置后,客户端便可通过 本发明充当服务端的智能终端与外网通信。
[0077] 请参阅图2,依据计算机软件模块化思维,本发明还提供了一种智能终端,该智能 终端包括接入单元21、响应单元22 W及反馈单元23,现将各单元所具备的功能掲示如下:
[0078] 所述的接入单元21,用于使本智能终端W服务端身份接收客户端的接入。
[0079] 所述的服务端与客户端两种角色,在本发明中,主要相对于WWiFi P2P协议所规 范的两部智能终端而言,其中,作为客户端的智能终端的忍片模组工作于该协议所规范的 P2P-Client模式下,即表现为客户端角色;而与之相对的本发明的智能终端则工作于该协 议所规范的P2P-Group Owner模式下,即表现为服务端角色。
[0080] Android操作系统中,并不允许同一智能终端的WiFi忍片模组同时工作于客户端 和服务端两种模式下,因此,要实现运一效果,请参阅本发明后续掲示的一个实例,即后续 即将掲示的作为服务端的智能终端热点模式与站点模式共存控制方法。但需理解,无论服 务端是否处于两种模式共存的状态下,均不影响本发明的有效实施。因本发明旨在解决前 述协议规范下的客户端如何配置其路由,使其具备经过服务端进行通信的的能力技术问 题,因而,服务端本身能否与外网连通,并不影响本发明的技术实现。
[0081] 无论如何,本发明的智能终端按照前述的技术规范,将自身的WiFi忍片模组工作 于WiFi P2P GO的状态,即可供客户端接入,便可完成初步的连接,充当起相当于AP(无线接 入点)的作用。
[0082] 所述的响应单元22,被配置为响应于客户端索取路由配置信息的配置请求而调用 相应的配置进程。
[0083] 依据WiFi P2P协议的规范,客户端完成初步连接后,将向服务端发起配置请求 畑CP Request (D 肥P ,Dynamic Host Configuration Protocal,动态主机配置协议),W其 获取相应的路由配置信息,通常客户端会在其请求中至少要求如下选项(option):
[0084]
[0085] W上的选项基本是依照DHCP协议的规范而约定的,本领域技术人员均可知晓。
[0086] 服务端默认架设有DHCP服务器,能够响应于所述的配置请求,而提供一份路由配 置信息,内含与所述各选项相对应的配置数据(信息)。从而,客户端在发出上述的配置请求 之后,在客户端与服务端通信通杨的情况下,即可获得相应的配置列表,从而可提供给客户 端按照各选项而相应设置自身完成路由配置。
[0087] 然而,畑CP服务需要通过DNSmasq进程,也即服务端的配置进程来为客户端提供所 述的路由配置信息。DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型 网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,运些域名 是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许D肥P分配的 地址能在DNS中正常解析,而运些D肥P分配的地址和相关命令可W配置到每台主机(比如本 发明的客户端)中,也可W配置到一台核屯、设备中(比如充当路由器的所述服务端), DNSmasq支持静态和动态两种畑CP配置方式。
[0088] 服务端的响应单元22调用DNSmasq进程后,将由该进程执行后续向客户端提供路 由配置信息的功能。
[0089] 所述的反馈单元23,被配置为由所述配置进程构造所述的路由配置信息并向客户 端反馈,在该路由配置信息中包含强制客户端执行静态路由配置的控制选项。
[0090] DNSmasq进程具有一个同名的配置文件dnsmasq. Conf,在该配置文件中可W写入 为客户端提供的路由数据,包括在前罗列的选项。故而,配置进程通过读取所述的配置选项 的相应内容,便可形成所述的路由配置信息提供给所述发起配置请求的客户端。
[0091] 需要指出的是,尽管W上提供的各种选项中并未包含DHCP协议序号为121的选项, 实则选项121与33提供包含同样内容的静态路由数据,然而,在Amlroid系统的DHCP服务提 供的配置列表中,无论其是否在路由配置信息中包含33或121选项,客户端对选项33和选项 121的静态路由数据均不予理陳。而研究发现,当服务端在其提供的路由配置信息中添加用 于强制客户端执行静态路由配置的控制选项化cp-option-force之后,则情况可W改观。具 体而言,当特别提供121运一种静态路由数据并与该控制选项配合时,则客户端将作为一种 绝对强制执行的指令去完成自身的静态路由数据的配置。因而,本发明的服务端便对所述 配置信息的配置文件进行修改,使得其具备使所述配置进程具备向客户端反馈包含所述的 控制选项的路由配置信息的能力。
[0092] 具体而言,默认情况下,在未对配置进程的配置文件进行修改的情况下,当客户端 接收到服务端的所述的路由配置信息后,依据Android系统的默认规则,将启动其配置进 程,完成路由配置,期间不负责完成自由的静态路由数据的设置,运种情况下,客户端由于 缺乏静态路由信息,而无法通过服务端访问外部网络,反之外部网络的数据包也无法顺利 到达客户端。因此需要对所述的配置进程所需的配置文件进行重新配置,请参考如下的一 个用于修改所述配置文件的实例:
[0093] 首先,使所述的配置进程处于关闭状态。
[0094] -个实施例中,执行W下指令:Siido dnsmasq-C. /dnsmasq. conf-z-k,执行该指令 的目的,在于W系统最高权限关闭WAmlroid系统默认流程执行路由配置的dnsmasq进程, 即使其已完成了路由配置,通过例如上述的指令,也可W将其关闭,并且将W后续的处理为 准。
[0095] 然后,修改该配置进程的配置文件,使其包含强制客户端执行静态路由配置的控 制选项,强制客户端依据服务端提供的路由配置信息中的所述选项为121的静态路由数据 对自身进行配置。
[0096] 在关闭所述配置进程之后,进而对其配置文件dnsmasq. conf进行修改,例如:
[0097] #杜绝dnsmasq进程读取其它任何诸如/etc/resolv. conf的域名文件
[0098] n〇-resolv
[0099] POd = O
[0100] #网卡绑定
[0101] interface =WlanO
[0102 ] #指定起始地址、终止地址W及租约时间
[0103] dhcp-range = 10.15.0.3,10.15.0.20,I化
[0104] #发送给客户端的域名服务器地址
[0105] server = 114.114.114.114
[0106] 辑虽制路由配置,设置控制选项及设定选项为121
[0107] dhcp-option-force = 121,192.168.1.0/24,10.15.0.1 [010 引 dhcp-option-force = 33,192.168.1.0,10.15.0.1
[0109] 继而,后续dnsmasq进程再次启动之后,便会直接读取其配置文件,将与上述所列 的特征相应的数据,其中尤其包括所述的控制选项及选项121,封闭成约定的路由配置信 息,在其中包含各种相应的数据,响应于客户端的配置请求而反馈给客户端。
[0110] 相应的,客户端在收到所述的路由配置信息之后,对其进行解析,获取其中的各选 项相对应的数据,对自身的网络设置进行更新,当其获知所述控制选项及相应的参数选项 121时,即能自行强制配置自身的静态路由数据。完成运一过程的配置后,客户端便可通过 本发明充当服务端的智能终端与外网通信。
[0111] 本发明在前所引用的一种智能终端热点模式与站点模式共存控制方法,可W与本 发明的前述的方法相配合,增强所述服务端的接入外网的功能,从而使得作用服务端的本 发明的智能终端具备相当于路由器的功能,而且仅需依赖于WiFi P2P协议的规范。
[0112] 具体如图3所示,所述共存控制方法包括如下步骤S11-S14:
[0113] 步骤Sll,从用户界面接收用于启动该智能终端的热点模式和站点模式的控制指 令。
[0114] 本发明的实现,适于为Amlroid提供并安装一个应用程序,由其启动,在获取系统 最高权限或者系统开放最高权限的情况下,而向系统提高交互功能,实现本方法所需的控 制。
[0115] 用户界面泛指能够用于向智能终端发送所述控制指令的显示界面,例如,可W为 Android系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可W 是从桌面呼出的通知栏或者交互页面中的一个选项,还可W是所述应用程序的一个活动组 件所构造的页面中的一个选项。
[0116] 本发明优选如下两种方式,用于接收所述的控制指令:
[0117] 其一,通过在用户界面提供单个控制按键,W用于一键式地接收所述的控制指令, 运种方式便于用户实现一键式操作。
[0118] 其二,通过在用户界面对应热点模式和站点模式而分别提供控制按键,W分别对 应不同按键而产生对应启动相应的模式的控制指令。
[0119] 根据W上的方式提供的控制按键,通常运些按键可W优选设置在系统桌面通知栏 列表处,或者W桌面悬浮窗的方式提供,既便于用户触控控制,又不影响用户视觉效果,当 然也可作为系统的默认功能而随用户开启WiFi按键时激活。较佳的,所述应用程序可W将 自身设为自启动项,使得系统启动时,可W自行加载所述的按键,从而便于用户操作。
[0120] 当用户通过所述的用户界面,触控所述的控制按键之后,便产生相应的控制指令, 该控制指令将被所述应用程序的进程接收,并进行后续的处理。
[0121] 步骤S12,受控于该控制指令而启动系统预置的用于将该智能终端配置为热点模 式的热点维护进程与用于将该智能终端配置为站点模式的站点维护进程;
[0122] 受用户控制产生的所述控制指令的作用,进而启动Amlroid系统所预置的站点维 护进程和热点维护进程,其中,站点维护进程用于将该智能终端配置为站点模式,同理,热 点维护进程用于将该智能终端配置为热点模式。根据对Amlroid系统的分析,当其热点维护 进程开启之后,站点维护进程会被前者关闭,因而,善于利用运一发现,便有利于维持两个 进程的并存。
[0123] 所述站点维护进程,特指Android系统自身提供的wpa_swplicant进程,wpa_ supplicant本是开源项目源码,被谷歌修改后加入amlroid移动平台,主要是用来支持WEP, WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_ supplicant与上层还是wpa_su卵Iicant与驱动都采用socket通讯)与驱动交互上报数据给 用户,用户可W通过socket发送命令给wpa_supplicant调动驱动来对WiFi忍片操作。简单 的说,wpa_supplicant就是WiF巧区动和用户的中转站外加对协议和加密认证的支持。经过 编译后的wpa_supplicant源程序可W看到两个主要的可执行工具:wpa_supplicant和wpa_ (:1;[。町1曰_3啡91;[[曰]11:是核屯、程序,它和可)曰_(31;[的关系就是服务和客户端的关系:后台运行 wpa_supp 1 i cant,使用wpa_c 1 i来捜索、设置、和连接网络。
[0124] W下提供一个利用wpa_cli来完成网络连接的示例,但不应理解为对本发明的实 现的限制。要实现网络连接功能,首先需要运行wpa_supplicant程序W加载基本功能;
[0125] 执行;/sy stem/bin/wpa_suppl i cant-d-Dwext-iwlanO-c/data/mi sc/wif i/wpa_ supplic曰nt.conf
[0126] 其中;
[0127] -d:增加调试信息
[012 引-Dwext :wext,驱动名称
[0129] -iwlanO:wlanO,网络接口名称
[0130] /sy S tem/b in/wpa_su卵 1 i cant: wpa_su卵 1 i cant,可执行程序路径
[0131 ] /(1日1:日/11113。/\¥1門/町)日_311卵1;[。日]11:.。0址:町)日_311卵1;[。日]11:的配置文件路径
[0132] 然后,运行命令行工具wpa_cli ;
[0133] 执行;wpa_cli-iwlan〇-p/data/system/wpa_supplicant
[0134] 注意,可/(1日1:日/37316111/可)日_3啡91;[。日]11:中的可)日_3啡91;[。日]11:并不是可执行程序, 而是个控制套接字。
[0135] 此时会进入交互模式。其中交互模式的命令如下表:
[0136] Full command
[0137] Sho;rt command
[0138] Description
[0139] status
[0140] s1:at
[0141] displays the current connection status
[0142] disconnect
[0143] disc
[0144] prevents wpa_supplicant from connecting to any access point
[0145] quit
[0146] q
[0147] exits wpa_cli
[014引 terminate
[0149] term
[0150] kills wpa_supplicant [0151 ] reconfigure
[0152] recon
[0153] reloads wpa_supplicant with the configuration file supplied(-c parameter)
[0154] scan
[0155] scan
[0156] sea打S for available access poi打ts(o打Iy scans it,doesn't display anything)
[0157] scan_result [01 日引 scan_r
[01 己9] displays the results of the last scan
[0160] Ii S t_ne tworks
[0161] list_n
[0162] displays a list of configured networks and their status(active or not,enabled or disabled)
[0163] S eIe C t_ne twork
[0164] select_n
[016己] select a network among those defined to initiate a connection(ie select-network 0)
[0166] enabIe_ne twork
[0167] enable-。
[016引 makes a configured network available for selection(ie enable-network 0)
[0169] d i sabIe_ne twork
[0170] disable_n
[0171] makes a configured network unavailable for selection(ie disable_ network 0)
[0172] remove_network
[0173] remove-打
[0174] removes a network and its configuration from the list(ie remove_ network 0)
[0175] add_network
[0176] add_n
[0177] adds a new network to the list.Its id will be created automatically
[0178] set_network
[0179] set_n
[0180] shows a very short list of available options to configure a network when supplied with no parameters.
[0181] See next section for a list of extremely useful parameters to be used with set_network and get_network.
[0182] get_network
[0183] get_n
[0184] displays the required parameter for the specified network.See next section for a list of parameters
[0185] save_config
[0186] save_c
[0187] saves the configuration
[0188] W上命令项可^从六〇虹〇1(1的公开技术文档中查看,此处仅供参考。
[0189] 设置网络的基本格式的指令为:set_network<network idXkey〉<parameter〉[〈 parameter〉]
[0190] 显示网络信息的基本格式的指令为:get_network<network idXkey〉
[0191] 相应的参数如下表:
[0192] Key
[0193] Description
[0194] Parameters
[0195] SSid
[0196] Access point name
[0197] string
[019 引 id_str
[0199] String identifying the network
[0200] string
[0201] priority
[0202] Connection priority over other APs
[0203] number(0 being the default low priority)
[0204] bssid
[020己] Mac address of the access point
[0206] mac address
[0207] scan_ssid
[0208] Enable/disbale ssid scan
[0209] 0,1,2
[0210] key_mgmt
[0211] Type of key management
[0212] WPA-P 涨,WPA_EAP,None
[0213] pairwise
[0214] Pairwise ciphers for WPA
[0215] CCMP,TKIP
[0216] group 二 TKIP
[0217] Group ciphers for WPA
[0218] CCMP,TKIP,肥P104,肥P40
[0219] psk
[0220] Pre-Shared Key(clear or encrypted)
[0221] string
[0222] wep_key0
[0223] 肥P key(up to 4:wep_key[0123])
[0224] string
[0225] eap
[0226] Extensible Authentication Protocol
[0227] MD5,MSCHAPV2,OTP,GTC,TLS,PEAP,ITLS
[0228] identity
[0229] EAP identity string
[0230] string
[0231] password
[0232] EAP password
[0233] string
[0234] ca_cei't
[0235] Pathname to CA certificate file
[0236] /ful1/path/to/certificate
[0237] client_cert
[0238] Pathname to client certificate
[0239] /full/path/to/certificate(PEM/DER)
[0240] private_key
[0241] Pathname to a client private key file
[0242] ZfuivpativtcVprivate-Icey(PEMA)ERz^pra)
[0243] 同理,^上参数表也可通过公共途径从Android官方得到,仅供参考,恕不繁述。W 下利用一用于连接无加密的AP的具体实例说明如何实现网络连接:
[0244] 〉add_network(将显示一网络ID,假定返回值为0)
[0245] 〉set_network 0ssid"666"
[0246] 〉Set_network Okeyjn卵t NONE
[0247] 〉enabIe_network 0 [024引〉quit
[0249] 再利用一用于连接WEP加密的AP的具体实例加 W说明:
[0250] 〉add_network(假定网络 ID 返回 1)
[0251] 〉set_network lssid"666"
[0252] 〉set_network lkey_m卵t NONE
[02己3] >set_network lwep_keyO"your ap password"
[0254] >enable_network I
[0巧日]至于连接WPA-P涨/WPA2-P涨加密的AP的示例如下:
[0巧6] 〉add_network (假定网络ID返回2)
[0257] 〉set_network 2ssid"666"
[02己引 >set_network 2psk"your pre-shared key"
[0259] 〉enabIe_network 2
[0260] 到此,wifi模块就能连接上AP 了。
[0261] W上是通过命令行工具wpa_cli来实现wifi网络的连接。当然,也可W通过wpa_ supplicant的配置文件来实现连接。
[0262] 不妨再回顾前面运行wpa_supplicant时执行的命令:
[0263] / system/bin/wpa_supplicant-d-Dwext-iwlan〇-c/data/misc/wif i/wpa_ supplic过nt.conf
[0264] 我们在执行时加上了-c/data/misc/wif i/wpa_swplicant .conf,故而将要连接 的AP的设置1^一定的格式写入wpa_supplicant.conf配置文件中即可。例如:
[026日] ctrl_interface = DIR = /data/system/wpa_supplicant G民OUP = system update-conf ig = 1
[0266] network = {
[0267] ssid = "my access point"
[026引 proto 二 WPA
[0269] keyjngmt 二 WPA-P 涨
[0270] psk = "you pass words"
[0巧 1] }
[0272] 可见,Android系统虽然在默认情况下,在开启热点维护进程的同时会自动关闭站 点维护进程,但是,通过W上运用指令或者运用配置文件两种方式,可W实现由应用程序进 程自行控制所述的站点维护进程的开启。
[0273] 热点维护进程,特指Android系统提供的hostapd进程。hostapd是用户控件的守护 进程用于无线接入点(AP)和授权服务器(authentication servers) ahostapd实现了 IE邸802.11 的AP管理,I邸E802.1X/WPA/WPA2/EAP授权,RADIUS客户端,EAP服务器和RADIUS 授权服务器,目前最新版本支持Linux系统化OST AP,madwif i,mac80211-based驱动)和 ^eeBSD(HetSC)Sll Khostapd设计为一个守护程序(进程),后台运行,进行一些相关控制授 权的操作。
[0274] Hostapd与wpa_supplicant的区别主要体现在wpa_supplicant支持基本AP操作, 但不包括各种更细致的参数调整,例如WPA2-Ente巧rise (RADIUS server认证)D由此可见, 两种进程只是分工不同,其作用近似。
[0275] 同理,hostapd允许通过某种方式对其加 W配置,从而可^由应用程序自行启动 之。W下提供一个利用其配置文件来实现配置的示例:
[0276] 此处是一个相关的配置文件的结构示例,左侧序号为供参考的行数:
[0277]
[0278] 基于该配置文件,按照如下过程可建立热点:
[02巧]搭建网桥:Siido apt-get install bridge-utils [0280] 建立网桥:
[0%1] Siido brctl adbr brO
[0282] 02.SUdo ifconfig brO 192.168.2.236netmask 255.255.255.0
[0巧3] 03.Siido route add default gw 192.168.2.254
[0284]连接网桥两端:
[02化]sudo brctl addif brOethO [02化]02.sudo brctl addif brOwlanO
[0287] 启用配置:
[0288] sudo./hostapd hostapd.conf
[0289] -般情况下,如无其他故障,其他智能终端便可扫描到由此建立的热点的SSID,而 由于该热点为自建,未具备DHCP服务,故智能终端需要自行调协静态IP才能实现局域网连 接。
[0290] W上分别给出的站点维护进程和热点维护进程的原理及其具体实现的示例性介 绍,本领域技术人员可W在W上掲示的基础,理解本发明的灵活多变的实现方式。其中,需 要指出的是,为了实现的便利,提高实施效率,无论对于hostapd还是wpa_suppl icant进程, 均推荐使用配置文件将网络配置信息的预置于其.conf文件进行预配置,然后再启动相应 的维护进程。
[0291] 如前一步骤所述,用户既可W通过单个控制按键来希望同时开启热点模式和站点 模式,也可W通过两个与两种模式相对应的按键来开启,实质上提供了多种操作变化例。对 应运些变化,W下进一步示例说明。
[0292] 设用户界面提供单个控制按键,用户通过该单个控制按键而触发其用户指令,此 处便可W先开启hostapd进程,即热点维护进程。由于hostapd进程的开启会导致自动关闭 wpa_supplicant进程,因此,本发明的应用程序进程需要参照上述的实现方式,在热点维护 进程开启之后,再自行启动该站点维护进程,由此便可实现两个维护进程的并存。反之,也 可W先行启动站点维护进程,在其完成开启之后,再行参照上述示例开启热点维护进程。也 就是说,对应于单个控制按键引起的控制指令,可W W不同的实施方式灵活安排所述热点 维护进程和站点维护进程的启动顺序。
[0293] 而对应用户界面提供不同的控制按键,分别表征开户不同的维护进程的实例而 言,则可按用户点击不同控制按键的顺序而按序开启相应的维护进程,此举并不影响本发 明的实施。
[0294] 不管如何实现人机交互,热点维护进程与站点维护进程的控制的重点在于两者相 继开启,并且需要本发明所称的应用程序的进程加 W作用。
[0295] 在优选的方案中,推荐优先让站点维护进程先于热点维护进程开启,在确保本智 能终端可W连接外网的情况下,向其他智能终端提供接入功能,可W免除一些无用功,更为 节能。
[0296] 理论上,将站点维护进程与热点维护进程相继启动后,便可W实现两个维护进程 的共存,然后,因系统可能潜在的一些风险的影响,可能会导致两个维护进程中任意之一被 关闭,因而尚需借助后续手段加 W强化。
[0297] 步骤S13,维持所述热点维护进程与所述站点维护进程得W共存式工作。
[0298] 运里所称的共存式工作,是指热点维护进程与站点维护进程可能相继开启,但未 必同一时刻开启。只要两者均存在于内存中运行,两者在内存中运行周期有时间上的并发, 使得在一个时间周期内,智能终端可W被接入也可W接入其他接入点,即可视为共存式工 作。
[0299] 当热点维护进程被开启之后,由于其将关闭站点维护进程,因而,本发明的应用程 序进程适宜按照预定的预定时长,在预定时长结束之后,再行启动站点维护进程,W免的前 一站点维护进程冲突,造成启动不成功。同理,如果先启动站点维护进程,为避免其可能关 闭热点维护进程,也可适用此法。
[0300] 为了确保所述热点维护进程与所述站点维护进程在用户使用过程中的正常或者 相对正常使用,本发明的应用程序进程在后台还可W定期扫描两个维护进程中的任意一个 是否被关闭,当其中一个被关闭时,便重新按照前述方式控制被关闭的进程开启,从而确保 按照用户期望,使两个维护进程都能够共存式地工作。
[0301] 可见,维持热点维护进程和站点维护进程在内存中运行,是确保网络稳定性的加 强手段。
[0302] 步骤S14,向用户界面输出表征该智能终端处于热点模式和站点模式共存的双模 状态的结果信息。
[0303] 在完成上述的步骤S12或S13的控制手段,使得两个维护进程共存式工作之后,本 发明的应用程序进程便可W向用户界面输出一些结果信息,W告知用户该智能终端当前已 经处于热点模式和站点模式共存的双模状态。至于所述的结果信息的表达形式,既可W是 通过系统消息显示到通知栏中,也可W在桌面上弹窗显示,更优的方式可W是调用一个预 设的第=方图标,用于表征该智能终端处于热点模式和站点模式共存的双模状态,将该第 =方图标显示到用户界面的系统状态栏中,使得用户更易于获知所述的结果信息。
[0304] 需要指出的是,在所述步骤S12运行之后,理论上即可执行步骤S14实现图标显示, 然后持续执行步骤S13,因而,本领域技术人员应当理解,不应W本发明的文字排列顺序来 理解本发明各步骤的执行顺序,而应W本发明的所掲示的实质原理来加 W理解。
[0305] 综上所述,本发明使得作为WiFi P2P协议所规范的服务端的An化Oid智能终端具 备了强制其客户端配置静态路由,从而与服务端构建成内网,并由服务端为客户端提供外 网接入的能力,大大扩展了智能终端的组网能力。特别地,当在服务端实现其热点模式和站 点模式共存的功能时,更可仅依赖于WiFi P2P技术而网络扩容功能,大大提升了对智能终 端的网络基础构件的利用效率。
[0306] 本技术领域技术人员可W理解,本发明包括设及用于执行本申请中所述操作中的 一项或多项的设备。运些设备可W为所需的目的而专口设计和制造,或者也可W包括通用 计算机中的已知设备。运些设备具有存储在其内的计算机程序,运些计算机程序选择性地 激活或重构。运样的计算机程序可W被存储在设备(例如,计算机)可读介质中或者存储在 适于存储电子指令并分别禪联到总线的任何类型的介质中,所述计算机可读介质包括但不 限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、R0M( Read-化Iy Memory,只 读存储器)、RAM(Random Access Memory,随即存储器)、EPR0M 化 rasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPR0M化Iectrically Erasable Programmable ReadHDnly Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡 片。也就是,可读介质包括由设备(例如,计算机)W能够读的形式存储或传输信息的任何介 质。
[0307] 本技术领域技术人员可W理解,可W用计算机程序指令来实现运些结构图和/或 框图和/或流图中的每个框W及运些结构图和/或框图和/或流图中的框的组合。本技术领 域技术人员可W理解,可W将运些计算机程序指令提供给通用计算机、专业计算机或其他 可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理 器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
[0308] 本技术领域技术人员可W理解,本发明中已经讨论过的各种操作、方法、流程中的 步骤、措施、方案可W被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各 种操作、方法、流程中的其他步骤、措施、方案也可W被交替、更改、重排、分解、组合或删除。 进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案 也可W被交替、更改、重排、分解、组合或删除。
[0309] W上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可W做出若干改进和润饰,运些改进和润饰也应 视为本发明的保护范围。
【主权项】
1. 一种智能终端路由配置方法,其特征在于,包括如下步骤: 使本智能终端以服务端身份接收客户端的接入; 响应于客户端索取路由配置信息的配置请求而调用相应的配置进程; 由所述配置进程构造所述的路由配置信息并向客户端反馈,在该路由配置信息中包含 强制客户端执行静态路由配置的控制选项。2. 根据权利要求1所述的方法,其特征在于,所述客户端工作于WiFi P2P-Client模式 下,相应的,所述的服务端工作于WiFi P2P Group Owner模式。3. 根据权利要求1所述的方法,其特征在于,所述路由配置信息包括用于完成客户端的 路由配置的数据:子网掩码、静态路由、网关、DNS地址。4. 根据权利要求3所述的方法,其特征在于,所述网关指向服务端自身。5. 根据权利要求1所述的方法,其特征在于,客户端发起的所述配置请求,为受DHCP协 议所规范的客户端请求,由服务端提供的DHCP服务响应该请求并通过其配置进程反馈所述 的路由配置信息。6. 根据权利要求1所述的方法,其特征在于,所述路由配置信息中包含两种对应于不同 设置方式的静态路由数据。7. 根据权利要求1所述的方法,其特征在于,所述配置进程的配置文件内容被修改以不 同于Android系统默认提供的内容,从而该配置进程得以向所述路由配置信息中添加所述 的控制选项。8. 根据权利要求1所述的方法,其特征在于,所述配置进程为Android系统提供的 DNSmasq进程,所述控制选项为:dhcp-option-force。9. 一种智能终端,其特征在于,包括: 接入单元,用于使本智能终端以服务端身份接收客户端的接入; 响应单元,被配置为响应于客户端索取路由配置信息的配置请求而调用相应的配置进 程; 反馈单元,被配置为由所述配置进程构造所述的路由配置信息并向客户端反馈,在该 路由配置信息中包含强制客户端执行静态路由配置的控制选项。10. 根据权利要求9所述的智能终端,其特征在于,所述客户端工作于WiFi P2P-Client 模式下,相应的,所述的服务端工作于WiFi P2P Group Owner模式。
【文档编号】H04L12/24GK105827440SQ201610141866
【公开日】2016年8月3日
【申请日】2016年3月11日
【发明人】韦巧, 胡宇光, 朱翼鹏
【申请人】北京奇虎科技有限公司, 奇酷互联网络科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1