wpa_supplicant简介

前言

最近参与的项目已经到了收尾阶段了,在这个项目中被安排负责WiFi相关的功能开发,由于之前没有接触过这一块的内容,因此花了相当多的一些时间研究了这一块,从今天开始对这一块的内容做一下总结,也方便后续对这块内容的重温。


一、wpa_supplicant和wpa_cli

由于项目到手时,wpa_supplicant已经移植好了,网上关于如何移植wpa_supplicant的资料也是很多的,所以如何移植这里就不做介绍了。对于wpa_supplicant和wpa_cli这两个工具的作用,我们可以这样理解。wpa_supplicant,相当于是一个同底层驱动交接的一个窗口,通过这个窗口的使用,我们可以控制WiFi模组做出各种操作(扫描,连接等)。而wpa_cli,则相当于一个控制工具。简单说,wpa_supplicant是运行于后台的一个服务端,而wpa_cli则是一个客户端,客户端负责提供一个输入的接口给我们操作,并将操作指令发送给服务端,而服务端接收到这些操作指令后,通过底层驱动做出对应的响应。

二、wpa-supplicant 和 wpa-cli的使用

1.启动wpa_supplicant服务

#/usr/bin/wpa_supplicant -i wlan0 -D nl80211 -c /tmp/wpa.cfg &

2.进入wpa_cli命令行模式

#wpa_clil
>scan   						//扫描
>scan_results  					//扫描结果
>add_network					//增加一个网络,返回一个net_id
>set_network 0 ssid “555555//输入WiFi名
>set_network 0 psk “qqq123456”	//输入WiFi密码
>enable_network 0				//使能
>remove_network 0				//断开连接
>status							//连接成功后用此命令可查看WiFi连接状态(如下)
bssid=72:77:6a:ed:bb:e9
ssid=555555
id=0
mode=station
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=192.168.43.49
address=14:ae:db:f8:a7:f5
signal_level=-58
>signal_poll						//获取信号相关参数(如下)
RSSI=-58
LINKSPEED=72
NOISE=9999
FREQUENCY=0
>save_config						//保存信息到配置文件 /tmp/wpa.cfg
>quit							//退出

3.调用udhcpc服务动态获取IP地址

#udhcpc -s /etc/udhcpc.script -i wlan0 –b

总结

今天就先简单介绍到这里,后续再如何通过代码编程实现这部分的相关功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Top0_0lll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值