天嵌二次封装库使用手册  V2.1.2
tq_wifi.h 文件参考
#include <libhardware.h>
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#define WIFI_API
 

函数

WIFI_API struct WIFItq_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)
 

详细描述

日期
2024-12-09

在文件 tq_wifi.h 中定义.

宏定义说明

#define WIFI_API

在文件 tq_wifi.h17 行定义.

函数说明

WIFI_API int tq_connect_wifi ( struct wpa_ctrl ctrl,
char *  ssid,
char *  passwork 
)

连接wifi

参数
ctrl由wpa_ctrl_open()返回的接口控制指针
ssid目标WIFI的SSID
passwork若WIFI已加密则需要密码,若无则输入NULL
返回
int 成功则返回1,失败返回0。

具体执行步骤:先清理所有网络节点->关闭WIFI使能->申请网络节点->设置目标WIFI的SSID-> 若WIFI加密则需要设置WIFI密码和加密方式->设置scan_ssid为1以防目标WIFI隐藏SSID->开启WIFI使能。

WIFI_API int tq_disconnect_wifi ( struct wpa_ctrl ctrl)

关闭WIFI使能

参数
ctrl由wpa_ctrl_open()返回的接口控制指针
返回
int 成功返回1。缓存区申请失败返回0,发送或接收失败返回-1,接收超时返回-2,没有收到OK则返回-3。

调用send_command()发送"DISABLE_NETWORK ALL",暂时断开当前wifi,能通过reconnect_wifi()重新连接。

WIFI_API void tq_display_wifi ( struct WIFI wifi)
WIFI_API int tq_Extract_information ( char *  src,
char *  dest,
char *  key,
int  dest_size 
)

提取特定类型的字符串

参数
src目标字符串
dest用于存储提取出来的数据的字符串
key想要提取的数据的关键字
dest_size存储字符串的长度
返回
int 成功则返回提取出来的字符串长度,没找到对应的key则返回0,参数错误返回-1。

对于"……\nkey=value\n……\0"类型字符串,按照key提取对应的value。

WIFI_API int tq_get_wifi_rssi ( struct wpa_ctrl ctrl)

获取已连接的wifi的信号强度

参数
ctrl由wpa_ctrl_open()返回的接口控制指针
返回
int 成功返回信号强度,失败返回0。
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存储字符串的长度
返回
int 成功返回提取出来的字符串长度,缓存区申请失败或没有目标参数返回0,发送或接收失败返回-1,接收超时返回-2,参数错误返回-3。

获取如当前WIFI网络状态,已连接WIFI的SSID,BSSID(MAC地址)等信息。

WIFI_API struct WIFI* tq_init_wifi ( )

初始化WIFI结构体

返回
struct WIFI* 返回一个指向WIFI结构体在内存中的指针,若失败返回NULL。

申请一个内存空间用于存放WIFI结构体中的数据,并将结构体中的字符串指针初始化为NULL,int类型数据初始化为0。

WIFI_API int tq_reconnect_wifi ( struct wpa_ctrl ctrl)

开启WIFI使能

参数
ctrl由wpa_ctrl_open()返回的接口控制指针
返回
int 成功返回1。缓存区申请失败返回0,发送或接收失败返回-1,接收超时返回-2,没有收到OK则返回-3。

调用send_command()发送"ENABLE_NETWORK ALL",重新连接所有已配置好的wifi。

WIFI_API void tq_release_wifi ( struct WIFI wifi)

释放WIFI指针

参数
wifi由init_wifi()返回的WIFI结构体指针。
WIFI_API int tq_scan ( struct wpa_ctrl ctrl)

扫描WIFI列表

参数
ctrl由wpa_ctrl_open()返回的接口控制指针
返回
int 若收到OK返回1,缓存区申请失败返回0,发送或接收失败返回-1,接收超时返回-2,没有收到OK则返回-3。

本质上就是调用sen_command()发送"SCAN"指令,并返回结果。

WIFI_API int tq_scan_result ( struct wpa_ctrl ctrl,
struct WIFI wifi,
int  index 
)

获取WIFI扫描结果

参数
ctrl由wpa_ctrl_open()返回的接口控制指针
wifi由init_wifi()返回的WIFI结构体指针
indexBSS指令所需参数
返回
int 成功返回1,缓存区申请失败返回返回0,发送或接收失败返回-1,接收超时返回-2,收到FAIL或收到空数据返回-3。

通过BSS <index>获取单条WIFI扫描结果,将结果保存在WIFI结构体中。

WIFI_API int tq_send_command ( struct wpa_ctrl ctrl,
char *  cmd 
)

用于发送只返回OK,FAIL的指令

参数
ctrl由wpa_ctrl_open()返回的接口控制指针
cmd指令,如“STATUS”,通常是ASCII文本
返回
int 若收到OK返回1,缓存区申请失败返回0,发送或接收失败返回-1,接收超时返回-2,没有收到OK则返回-3。

对于像"SCAN","SAVE_CONFIG"等只会返回OK,FAIL的指令就可以使用该函数。 若像"STATUS","SCAN_RESULTS"等返回特定信息的指令就需要调用wpa_ctrl_request()函数,再根据自己需要对reply进行分析处理。