Wi-Fi说明

Wi-Fi功能列表

  • 兼容IEEE802.11 b/g/n 2.4GHz标准

  • 支持HT20

  • 支持802.11N MCS0-7

  • 支持STA、AP and Direct Modes

  • 支持Concurrent AP+STA

  • 支持WPA、WPA2及WPA3等加密方式

  • 支持AMPDU、QoS

  • Station模式下支持DTIM低功耗休眠

Wi-Fi callback 事件描述

static void app_demo_sta_rw_event_func(void *new_evt)
{
    rw_evt_type notice_event = *((rw_evt_type *)new_evt);

    switch(notice_event){
        case RW_EVT_STA_CONNECTED:
            bk_printf("conmected AP\r\n");
            break;

        case RW_EVT_STA_GOT_IP:
            bk_printf("got ip success\r\n");
            break;

        case RW_EVT_STA_DISCONNECTED:
        case RW_EVT_STA_BEACON_LOSE:
            bk_printf("wifi had disconnected\r\n");
            break;

        case RW_EVT_STA_NO_AP_FOUND:
        case RW_EVT_STA_PASSWORD_WRONG:
        case RW_EVT_STA_ASSOC_FULL:
        case RW_EVT_STA_CONNECT_FAILED:
            bk_printf("wifi connect failed\r\n");
            break;

        case RW_EVT_AP_CONNECTED:
            bk_printf("a station had connected\r\n");
            break;
        case RW_EVT_AP_DISCONNECTED:
            bk_printf("a station had disconnected\r\n");
            break;
        case RW_EVT_AP_CONNECT_FAILED:
            bk_printf("a station connect failed\r\n");
            break;
        default:
            break;
    }
}

bk_wlan_status_register_cb(app_demo_sta_rw_event_func)

如上面例子,wifi 初始化需要注册下事件回调,

  • RW_EVT_STA_CONNECTED

wifi 连接成功事件,仅是wifi 四次握手成功,还需要启动动DHCP服务获取IP地址或者使用静态IP地址,故用户不能在此事件就开始进行网络操作。

  • RW_EVT_STA_GOT_IP

STA已经成功连接并且DHCP 获取到IP 地址,接收到此事件后,用户可进行网络接口操作。

  • RW_EVT_STA_DISCONNECTED

  • RW_EVT_STA_BEACON_LOSE

STA与AP断开事件,接收到此事件后,一般需要通知针对基于套接字编写的客户端应用程序关闭套接字.如果此事件不是用户希望的,可以启动重连流程.

  • RW_EVT_STA_NO_AP_FOUND

  • RW_EVT_STA_PASSWORD_WRONG

  • RW_EVT_STA_ASSOC_FULL

  • RW_EVT_STA_CONNECT_FAILED

这几个事件都是连接失败的通知,用户可获取连接失败原因,然后进行重连