无线适配接口

更新时间:2022-11-24 09:20:24下载pdf

本文介绍了综合 SDK 的无线适配接口。

结构体定义

NW_IP_S

typedef struct
{
    char ip[16];
    char mask[16];
    char gw[16];
} NW_IP_S;

功能说明(Summary)

IP 信息结构体。

成员说明

成员名称 说明
ip 网络接口的 IP 地址
mask 网络接口的子网掩码
gw 网关接口的默认网关

WF_AP_CFG_IF_S

typedef struct {
    uint8_t ssid[WIFI_SSID_LEN+1];
    uint8_t s_len;
    uint8_t passwd[WIFI_PASSWD_LEN+1];
    uint8_t p_len;
    uint8_t chan;
    WF_AP_AUTH_MODE_E md;
    uint8_t ssid_hidden;
    uint8_t max_conn;
    uint16_t ms_interval;
} WF_AP_CFG_IF_S;

功能说明(Summary)

AP 配置信息结构体。

成员说明

成员名称 说明
ssid SSID
s_len SSID 长度
passwd 密码
p_len 密码长度
chan Wi-Fi 信道
md Wi-Fi 加密类型
ssid_hidden 是否隐藏 SSID
max_conn 最大的客户端连接数
ms_interval beacon 广播间隔

接口说明

tuya_adapter_wifi_get_ip

OPERATE_RET tuya_adapter_wifi_get_ip(IN CONST WF_IF_E wf, 
                                     OUT NW_IP_S *ip)

功能说明

获取 Wi-Fi 网卡的 IP 地址。无线连接成功后,SDK 局域网通讯需要获取网口的 IP 地址。

参数说明

参数名称 说明
wf Wi-Fi 网卡的模式,定义:
WF_STATION:Station 模式。
WF_AP:AP 模式。
ip IP 信息结构体,详见 NW_IP_S

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_get_mac

OPERATE_RET tuya_adapter_wifi_get_mac(IN CONST WF_IF_E wf, 
                                      OUT NW_MAC_S *mac)

功能说明

获取 Wi-Fi 网卡的 MAC 地址。

参数说明

参数名称 说明
wf Wi-Fi 网卡的模式,定义:
WF_STATION:Station 模式。
WF_AP:AP 模式。
mac 输出参数,把 MAC 地址存到该变量。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_set_mac

OPERATE_RET tuya_adapter_wifi_set_mac(IN CONST WF_IF_E wf, 
                                      IN CONST NW_MAC_S *mac)

功能说明

设置 Wi-Fi 设备 MAC 地址,为预留接口,不需要实现。

参数说明

参数名称 说明
wf Wi-Fi 网卡的模式,定义:
WF_STATION:Station 模式。
WF_AP:AP 模式。
mac 要设置的 MAC 地址。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_set_work_mode

OPERATE_RET tuya_adapter_wifi_set_work_mode(IN CONST WF_WK_MD_E mode)

功能说明

设置 Wi-Fi 工作模式。配网过程,会涉及到模式切换,需要根据参数设置到对应的模式。

参数说明

参数名称 说明
mode 设置 Wi-Fi 设备的模式,定义:
WWM_LOWPOWER:低功耗,Linux 不关心该模式。
WWM_SNIFFER:监听模式。
WWM_STATION:Station 模式。
WWM_SOFTAP:AP 模式。
WWM_STATIONAP:Station 和 AP 共存模式。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_get_work_mode

OPERATE_RET tuya_adapter_wifi_get_work_mode(OUT WF_WK_MD_E *mode)

功能说明

获取 Wi-Fi 工作模式。

参数说明

参数名称 说明
mode Wi-Fi 设备的模式,定义:
WWM_LOWPOWER:低功耗,Linux 不关心该模式。
WWM_SNIFFER:监听模式。
WWM_STATION:Station 模式。
WWM_SOFTAP:AP 模式。
WWM_STATIONAP:Station 和 AP 共存模式。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_station_connect

OPERATE_RET tuya_adapter_wifi_station_connect(IN CONST CHAR_T *ssid,
                                              IN CONST CHAR_T *passwd)

功能说明

Wi-Fi 设备连接路由器。SDK 获取到路由器的 SSID 和密码后,使用该接口连接路由器。

参数说明

参数名称 说明
ssid 路由器的 SSID。
password 路由器的密码。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_station_disconnect

OPERATE_RET tuya_adapter_wifi_station_disconnect(VOID)

功能说明

断开 Wi-Fi 设备与路由器的连接。

参数说明

参数名称 说明
VOID /

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_station_get_conn_ap_rssi

OPERATE_RET tuya_adapter_wifi_station_get_conn_ap_rssi(OUT SCHAR_T *rssi)

功能说明

获取 Wi-Fi 设备的信号强度。SDK 会把无线的信号强度上报到涂鸦云。

参数说明

参数名称 说明
rssi 获取到的 RSSI 信息

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_station_get_status

OPERATE_RET tuya_adapter_wifi_station_get_status(OUT WF_STATION_STAT_E *stat)

功能说明

获取 Wi-Fi 设备的网络状态。无线连接成功后,SDK 会定时获取无线连接状态,用来检查当前网络状态。

参数说明

参数名称 说明
stat 输出参数,把无线状态存到该变量。定义:
WSS_IDLE:未连接。
WSS_CONNECTING:正在连接。
WSS_PASSWD_WRONG:密码错误。
WSS_NO_AP_FOUND:未发现热点。
WSS_CONN_FAIL:连接失败。
WSS_CONN_SUCCESS:连接成功。
WSS_GOT_IP:连接成功并分配了 IP 地址。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_set_country_code

OPERATE_RET tuya_adapter_wifi_set_country_code(CONST COUNTRY_CODE_E code)

功能说明

设置 Wi-Fi 设备国家码。

参数说明

参数名称 说明
code 根据参数设置无线的国家码。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_ap_start

OPERATE_RET tuya_adapter_wifi_ap_start(IN CONST WF_AP_CFG_IF_S *cfg)

功能说明

启动 Wi-Fi 设备热点。

参数说明

参数名称 说明
cfg AP 配置信息结构体。详见 WF_AP_CFG_IF_S

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_ap_stop

OPERATE_RET tuya_adapter_wifi_ap_stop(VOID)

功能说明

关闭 Wi-Fi 设备热点。

参数说明

参数名称 说明
VOID /

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_all_ap_scan

OPERATE_RET tuya_adapter_wifi_all_ap_scan(OUT AP_IF_S **ap_ary,
                                          OUT UINT_T *num)

功能说明

扫描当前环境下的热点,把搜索到的热点列表信息返回给 SDK。

参数说明

参数名称 说明
ap_ary 把热点列表的信息保存到该变量。
num 热点列表长度。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_assign_ap_scan

OPERATE_RET tuya_adapter_wifi_assign_ap_scan(IN CONST CHAR_T *ssid,
                                             OUT AP_IF_S **ap)

功能说明

获取指定 SSID 的热点信息,为预留接口,无需实现。

参数说明

参数名称 说明
ssid 要扫描的热点 SSID。
ap 热点的信息。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_release_ap

OPERATE_RET tuya_adapter_wifi_release_ap(IN AP_IF_S *ap)

功能说明

释放在 tuya_adapter_wifi_all_ap_scan 接口申请的内存。

参数说明

参数名称 说明
ap 在扫描接口申请的用于保存热点列表信息的内存地址。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_set_cur_channel

OPERATE_RET tuya_adapter_wifi_set_cur_channel(CONST UCHAR_T chan)

功能说明

设置 Wi-Fi 工作信道。在监听模式下,SDK 依次切换信道,为了能在各信道上接收无线包。

参数说明

参数名称 说明
chan 要设置的信道值

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_get_cur_channel

OPERATE_RET tuya_adapter_wifi_get_cur_channel(UCHAR_T *chan)

功能说明

获取当前的信道。SDK 解析到合法的无线包,会锁定到该信道接收剩余的数据,使用该接口获取当前的信道。

参数说明

参数名称 说明
chan 把当前信道存到该变量。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_adapter_wifi_sniffer_set

OPERATE_RET tuya_adapter_wifi_sniffer_set(CONST BOOL_T en, CONST SNIFFER_CALLBACK cb)

功能说明

设置 Wi-Fi 设备的 SNIFFER 模式。开启 SNIFFER 模式时,需要开启线程来抓取无线包,把抓取到的无线包丢给 SDK 解析。关闭 SNIFFER 模式时,销毁线程。

参数说明

参数名称 说明
en en == TRUE:开启 SNIFFER 模式。
en == FALSE:关闭 SNIFFER 模式。
cb SDK 解析无线包的回调函数,抓取 802.11 数据包调用该接口把数据给 SDK 解析。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h