5个版本
0.2.1 | 2024年1月13日 |
---|---|
0.2.0 | 2022年10月27日 |
0.1.3 | 2022年10月6日 |
0.1.2 | 2022年8月26日 |
#688 在 网络编程
每月128次下载
30KB
535 代码行
wpa-ctrl
用法
use wpa_ctrl::{WpaControlReq, WpaControllerBuilder};
const WPA_CTRL_BUILD: WpaControllerBuilder<'static> = WpaControllerBuilder::new();
let mut ctrl = match WPA_CTRL_BUILD.open("wlan0") {
Ok(ctrl) => ctrl,
Err(error) => panic!("Cannot open wlan0"),
};
ctrl.request(WpaControlReq::status()).expect("Successful command");
while let Some(resp) = ctrl.recv().expect("To read message") {
//Skip messages that are not intended as responses
if resp.is_unsolicited() {
continue;
}
if let Some(status) = resp.as_status() {
println!("Network status={:?}", status);
break;
}
}
使用场景
添加新网络
- 可选
scan
使用scan_results
检查网络列表 add_network
返回网络id
set_network <id> ssid "网络名称"
指定要关联的网络名称set_network <id> psk "WAP密码"
指定WPA密码,仅当网络需要WPA安全时可用set_network <id> key_mgmt NONE
指定无安全,用于连接无密码的网络select_network <id>
- 选择用于使用的网络。save_config
- 可选保存配置。
重新连接
- 可选
disconnect
; - 运行
reassociate
开始连接到当前选定的网络的进程
依赖项
~190KB