智能终端及其网络配置方法_2

文档序号:9923920阅读:来源:国知局
引用形式为WiFiPSpManager. createGroup (wifip2pmanger. chanenl ,wifip2pmanager. ActionListener),调用该方法,可从仓。建一个 热点,使智能终端启动热点模式,并且将自身设置为服务端,由此创建的热点还可W供不支 持WiFi P2P协议的传统WiFi设备与之连接。由此形成的网络群组,可W使用该类的另一方 法函数:requestConnectionInfo(wifip2pman 邑 er. chanenl , wif ip化manager .Act ionLi Stener)去得到详细的连接信息。运个wif ip化Info连接信息包 含了拥有组者也即服务端的地址gro叫OwnerAcWress和一个去说明当前设备是否是运个 p2p组的拥有者的标志isGroupOwer,一个p2p的客户端因此可W和p2p组拥有者通过一个 socket连接进行通信。
[0067] Android操作系统默认情况下,并不允许同一智能终端的WiFi忍片模组同时工作 于客户端和服务端两种模式下,但是,通过自行创建所述的网络群组却可解决运一问题,其 中Cr eat eGroup ()函数的调用起到关键的作用,其完成了本智能终端的热点模式的启动。
[0068] 由于本发明重点是希望解决让客户端通过服务端所在的智能设备的WiFi功能访 问外网的网络配置问题。在不考虑客户端自行连接外网的前提下,本智能终端能够访问外 网,是接入本网络群组的客户端访问外网的前提。因此,较佳的方式中,是使本智能终端在 完成上述热点模式的启动之前,便已启动了站点模式。
[0069] 欲启动Amlroid系统的站点模式,可W通过用户在系统设置页上手动开启或通过 系统的站点进程来建立。所述站点进程,特指Android系统自身提供的wpa_swpli cant进 程,wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,主要是用来 支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket (不 管是wpa_supplicant与上层还是wpa_suppli cant与驱动都采用socket通讯)与驱动交互上 报数据给用户,用户可1^通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操 作。简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支 持。经过编译后的wpa_supplicant源程序可^看到两个主要的可执行工具:wpa_ supplicant和wpa_cli Dwpa_supplicant是核屯、程序,它和wpa_cli的关系就是服务和客户 端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
[0070] ^下提供一个利用wpa_cli来完成网络连接的示例供本领域技术人员参照理解本 发明,但不应理解为对本发明的实现的限制。
[0071]要实现网络连接功能,首先需要运行wpa_supplicant程序1^加载基本功能;
[0072] 执行;/system/bin/wpa_supplicant-d-Dwext-iwlan〇-c/data/misc/wif i/wpa_ supplic过nt.conf
[0073] 其中;
[0074] -d:增加调试信息
[0075] -Dwext :wext,驱动名称
[0076] -iwlanO: WlanO,网络接 口名称
[0077] /system/bin/wpa_supplicant :wpa_supplicant,可执行程序路径
[0078] /data/misc/wif i/wpa_supplicant ? conf :wpa_supplicant 的配置文件路径 [00巧]然后,运行命令行工具wpa_cli;
[0080] 执行;wpa_cli-iwlan〇-p/data/system/wpa_supplicant
[0081 ] 注意,-口/(13古3/373古6111/师口3_3啡口1;[0311古中的师口3_3啡口1;[0311古并不是可执行程序, 而是个控制套接字。
[0082] 此时会进入交互模式。其中交互模式的命令如下表:
[0083] Full command
[0084] Short command [008日]Description
[0086] sta 化S
[0087] S tat
[0088] displays the current co打打ectio打 status
[0089] disconnect
[0090] disc
[0091] prevents wpa_supplicant from connecting to any access point
[0092] quit
[0093] q
[0094] exits wpa_cli
[0095] terminate
[0096] term
[0097] kills wpa_supplicant
[0098] reconfigure
[0099] recon
[0100] reloads wpa_supplicant with the configuration file supplied(-c parameter)
[0101] scan
[0102] scan
[0103] sea打S for available access poi打ts(o打Iy scans it,doesn't display anything)
[0104] scan_result
[0105] scan_r
[0106] displays the results of the last scan
[0107] Iist_networks
[010引 list_n
[0109] displays a list of configured networks and their status(active or not,enabled or disabled)
[0110] select_network
[0111] select_n
[0112] select a network among those defined to initiate a connection(ie select-network 0)
[0113] enable-network
[0114] enable_n
[011日] makes a configured network available for selection(ie enable-network 0)
[0116] disable_network
[0117] disable_n
[011引 makes a configured network unavailable for selection(ie disable_ network 0)
[0119] remove-network
[0120] remove-打
[0121] removes a network and its configuration from the list(ie remove_ network 0)
[0122] add_network
[0123] add_n
[0124] adds a new network to the list.Its id will be created automatically [01 巧]set_network
[0126] set_n
[0127] shows a very short list of available options to configure a network when supplied with no parameters.
[0128] See next section for a list of extremely useful parameters to be used with set_network and get_network.
[01 巧]get_network
[0130] get_n
[0131] displays the required parameter for the specified network.See next section for a list of parameters
[0132] save_config
[0133] save_c
[0134] saves the configuration
[0135] W上命令项可^从六〇虹〇1(1的公开技术文档中查看,此处仅供参考。
[0136] 设置网络的基本格式的指令为:set_network<network idXkey〉<parameter〉[〈 parameter〉]
[0137] 显示网络信息的基本格式的指令为:get_network<network idXkey〉
[0138] 相应的参数如下表:
[0139] Key
[0140] Description
[0141] Parameters
[0142] ssid
[0143] Access point name
[0144] string
[0145] id_str
[0146] String identifying the network
[0147] string
[014 引 priority
[0149] Connection priority over other APs
[0150] number(0 being the default low priority)
[0151] bssid
[01 己2] Mac address of the access point
[0153] mac address
[0154] scan_ssid
[0巧日]Enable/disbale ssid scan
[0156] 0,1,2
[0157] key_mgmt
[01 己8] Type of key management
[0159] WPA-P 涨,WPA_EAP,None
[0160] pairwise
[0161] Pairwise ciphers for WPA
[0162] CCMP,TKIP
[0163] group二TKIP
[0164] Group ciphers for WPA
[0165] CCMP,TKIP,肥P104,肥P40
[0166] psk
[0167] Pre-Shared Key(clear or encrypted)
[016引 string
[0169] wep_key0
[0170] 肥P key(up to 4:wep_key[0123])
[0171] string
[0172] eap
[0173] Extensible Authentication Protocol
[0174] MD5,MSCHAPV2,OTP,GTC,TLS,PEAP,ITLS
[0175] identity
[0176] EAP identity string
[0177] string
[017引 password
[01 "79] EAP password
[0180] string
[0181] ca-cei't
[0182] Pathname to CA certificate file
[0183] /full/path/to/certificate
[0184] client-cei't
[018己] Pathname to client certificate
[0186] /full/path/to/certificate(PEM/DER)
[0187] private_key
[0188] Pathname to a client private key file
[0189] ZfuivpativtcVprivate-Icey(PEMA)ERz^pra)
[0190] 同理,^上参数表也可通过公共途径从Android官方得到,仅供参考,恕不繁述。W 下利用一用于连接无加密的AP的具体实例说明如何实现网络连接:
[0191 ] 〉add_network(将显示一网络ID,假定返回值为0)
[0192] 〉set_network 0 ssid"666"
[0193] 〉set_network 0 key_m卵t NONE
[0194] >enable_network 0
[0195] >quit
[0196] 再利用一用于连接WEP加密的AP的具体实例加 W说明:
[0197] 〉add_network(假定网络 ID 返回 1)
[0198] 〉set_network lssid"666"
[0199] 〉set_network lkey_m卵t NONE
[0200] >set_network lwep_key0"your ap password"
[0201 ] >enable_network I
[0202] 至于连接WPA-PSK/WPA2-PSK加密的AP的示例如下:
[0203] 〉add_network(假定网络 ID 返回 2)
[0204] 〉set_network 2ssid"666"
[0205] >set_network 2psk"your pre-shared key"
[0206] >enable_network 2
[0207] 到此,wifi模块就能连接上AP 了。
[020引 W上是通过命令行工具wpa_cli来实现wif i网络的连接。当然,也可W通过wpa_ SUPP1 i cant的配置文件来实现连接。
[0209] 不妨再回顾前面运行wpa_supp 1 i c
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1