|
天嵌二次封装库使用手册
V2.1.2
|

类 | |
| struct | WIFI |
| 用来存放一个WIFI的基本参数 更多... | |
宏定义 | |
| #define | WIFI_API |
函数 | |
| WIFI_API struct WIFI * | init_wifi () |
| 初始化WIFI结构体 更多... | |
| WIFI_API void | release_wifi (struct WIFI *wifi) |
| 释放WIFI指针 更多... | |
| WIFI_API int | Extract_information (char *src, char *dest, char *key, int dest_size) |
| 提取特定类型的字符串 更多... | |
| WIFI_API int | send_command (struct wpa_ctrl *ctrl, char *cmd) |
| 用于发送只返回OK,FAIL的指令 更多... | |
| WIFI_API int | scan (struct wpa_ctrl *ctrl) |
| 扫描WIFI列表 更多... | |
| WIFI_API int | scan_result (struct wpa_ctrl *ctrl, struct WIFI *wifi, int index) |
| 获取WIFI扫描结果 更多... | |
| WIFI_API int | connect_wifi (struct wpa_ctrl *ctrl, char *ssid, char *passwork) |
| 连接wifi 更多... | |
| WIFI_API int | get_wifi_status_value (struct wpa_ctrl *ctrl, char *key, char *dest, int dest_size) |
| 通过"STATUS"指令,获取所需参数。 更多... | |
| WIFI_API int | get_wifi_rssi (struct wpa_ctrl *ctrl) |
| 获取已连接的wifi的信号强度 更多... | |
| WIFI_API int | disconnect_wifi (struct wpa_ctrl *ctrl) |
| 关闭WIFI使能 更多... | |
| WIFI_API int | reconnect_wifi (struct wpa_ctrl *ctrl) |
| 开启WIFI使能 更多... | |
| WIFI_API void | display_wifi (struct WIFI *wifi) |
| #define WIFI_API |
在文件 lib_wifi.h 第 21 行定义.
连接wifi
| ctrl | 由wpa_ctrl_open()返回的接口控制指针 |
| ssid | 目标WIFI的SSID |
| passwork | 若WIFI已加密则需要密码,若无则输入NULL |
具体执行步骤:先清理所有网络节点->关闭WIFI使能->申请网络节点->设置目标WIFI的SSID-> 若WIFI加密则需要设置WIFI密码和加密方式->设置scan_ssid为1以防目标WIFI隐藏SSID->开启WIFI使能。
关闭WIFI使能
| ctrl | 由wpa_ctrl_open()返回的接口控制指针 |
调用send_command()发送"DISABLE_NETWORK ALL",暂时断开当前wifi,能通过reconnect_wifi()重新连接。
| WIFI_API int Extract_information | ( | char * | src, |
| char * | dest, | ||
| char * | key, | ||
| int | dest_size | ||
| ) |
提取特定类型的字符串
| src | 目标字符串 |
| dest | 用于存储提取出来的数据的字符串 |
| key | 想要提取的数据的关键字 |
| dest_size | 存储字符串的长度 |
对于"……\nkey=value\n……\0"类型字符串,按照key提取对应的value。
获取已连接的wifi的信号强度
| ctrl | 由wpa_ctrl_open()返回的接口控制指针 |
| WIFI_API int get_wifi_status_value | ( | struct wpa_ctrl * | ctrl, |
| char * | key, | ||
| char * | dest, | ||
| int | dest_size | ||
| ) |
通过"STATUS"指令,获取所需参数。
| ctrl | 由wpa_ctrl_open()返回的接口控制指针 |
| key | 想要提取的数据的关键字 |
| value | 用于存储提取出来的数据的字符串 |
| value_size | 存储字符串的长度 |
获取如当前WIFI网络状态,已连接WIFI的SSID,BSSID(MAC地址)等信息。
初始化WIFI结构体
申请一个内存空间用于存放WIFI结构体中的数据,并将结构体中的字符串指针初始化为NULL,int类型数据初始化为0。
开启WIFI使能
| ctrl | 由wpa_ctrl_open()返回的接口控制指针 |
调用send_command()发送"ENABLE_NETWORK ALL",重新连接所有已配置好的wifi。
扫描WIFI列表
| ctrl | 由wpa_ctrl_open()返回的接口控制指针 |
本质上就是调用sen_command()发送"SCAN"指令,并返回结果。
获取WIFI扫描结果
| ctrl | 由wpa_ctrl_open()返回的接口控制指针 |
| wifi | 由init_wifi()返回的WIFI结构体指针 |
| index | BSS指令所需参数 |
通过BSS <index>获取单条WIFI扫描结果,将结果保存在WIFI结构体中。
用于发送只返回OK,FAIL的指令
| ctrl | 由wpa_ctrl_open()返回的接口控制指针 |
| cmd | 指令,如“STATUS”,通常是ASCII文本 |
对于像"SCAN","SAVE_CONFIG"等只会返回OK,FAIL的指令就可以使用该函数。 若像"STATUS","SCAN_RESULTS"等返回特定信息的指令就需要调用wpa_ctrl_request()函数,再根据自己需要对reply进行分析处理。