目录
1 说明
本文旨在用wpa_supplicant提供的API控制wifi模块以STA工作模式连接热点。wpa_supplicant程序一般运行在后台(./wpa_supplicant -B -cwpa_0_8.conf -iwlan0),用户通过它提供的接口让它做各种连接操作。
2 参考
http://w1.fi/wpa_supplicant/devel/wpa__ctrl_8h.html#a4e48c0a662d9150ea603e75365748b0b
wpa_supplicant-devel.pdf
https://www.kancloud.cn/alex_wsc/android-wifi-nfc-gps/414067
2.1 函数基本说明
struct wpa_ctrl * wpa_ctrl_open(const char *ctrl_path);
打开wpa_supplicant的一个控制接口,参数ctrl_path一般为/var/run/wpa_supplicant/wlan0,wlan0为对应的网络节点。成功时返回控制结构体指针,后续的一系列函数都以该指针为参数。失败时返回NULL。
int wpa_ctrl_attach(struct wpa_ctrl *ctrl);
注册一个事件通知监视器。成功时返回。失败时返回-1。超时则返回-2。该函数成功之后,可以通过wpa_ctrl_pending和wpa_ctrl_recv处理事件通知。
int wpa_ctrl_pending(struct wpa_ctrl *ctrl);
检查是否有待处理的事件通知,如果有返回1,没有返回0,出错返回-1。
int wpa_ctrl_recv(struct wpa_ctrl *ctrl, char *reply, size_t *reply_len);

本文详细介绍了如何利用wpa_supplicant的API在STA模式下连接WiFi热点,包括wpa_ctrl_open、wpa_ctrl_attach等函数的使用,并提供了代码示例展示连接、监听事件通知的实现。同时,强调了事件通知的重要性以及处理命令的时机选择。
最低0.47元/天 解锁文章
1552

被折叠的 条评论
为什么被折叠?



