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返回网络idset_network <id> ssid "网络名称"指定要关联的网络名称set_network <id> psk "WAP密码"指定WPA密码,仅当网络需要WPA安全时可用set_network <id> key_mgmt NONE指定无安全,用于连接无密码的网络select_network <id>- 选择用于使用的网络。save_config- 可选保存配置。
重新连接
- 可选
disconnect; - 运行
reassociate开始连接到当前选定的网络的进程
依赖项
~190KB