天嵌二次封装库使用手册
V2.1.2
|
#include <libhardware.h>
宏定义 | |
#define | WIFI_API |
函数 | |
WIFI_API struct WIFI * | tq_init_wifi () |
初始化WIFI结构体 更多... | |
WIFI_API void | tq_release_wifi (struct WIFI *wifi) |
释放WIFI指针 更多... | |
WIFI_API int | tq_Extract_information (char *src, char *dest, char *key, int dest_size) |
提取特定类型的字符串 更多... | |
WIFI_API int | tq_send_command (struct wpa_ctrl *ctrl, char *cmd) |
用于发送只返回OK,FAIL的指令 更多... | |
WIFI_API int | tq_scan (struct wpa_ctrl *ctrl) |
扫描WIFI列表 更多... | |
WIFI_API int | tq_scan_result (struct wpa_ctrl *ctrl, struct WIFI *wifi, int index) |
获取WIFI扫描结果 更多... | |
WIFI_API int | tq_connect_wifi (struct wpa_ctrl *ctrl, char *ssid, char *passwork) |
连接wifi 更多... | |
WIFI_API int | tq_get_wifi_status_value (struct wpa_ctrl *ctrl, char *key, char *dest, int dest_size) |
通过"STATUS"指令,获取所需参数。 更多... | |
WIFI_API int | tq_get_wifi_rssi (struct wpa_ctrl *ctrl) |
获取已连接的wifi的信号强度 更多... | |
WIFI_API int | tq_disconnect_wifi (struct wpa_ctrl *ctrl) |
关闭WIFI使能 更多... | |
WIFI_API int | tq_reconnect_wifi (struct wpa_ctrl *ctrl) |
开启WIFI使能 更多... | |
WIFI_API void | tq_display_wifi (struct WIFI *wifi) |
连接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 tq_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 tq_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进行分析处理。