1.AP
和STA
的含义
AP
模式:Access Point
模式,提供无线接入服务,允许其它无线设备接入,提供数据访问。STA
模式:Station
模式,类似于无线终端,sta本身并不接受无线的接入,它可以连接到AP
设备。
2.STA
模式例程
官方STA例程(需要注意仓库的分支号)
2.1.联网阶段描述
STA
模式联网的不阶段见于官方文档,关于ESP32
wifi驱动的其他内容也可以在其中查阅。
2.2.代码分析
(1)定义相关宏和变量
// 联网相关的宏
#define EXAMPLE_ESP_WIFI_SSID "look" // 账号
#define EXAMPLE_ESP_WIFI_PASS "123456789" // 密码
#define EXAMPLE_ESP_MAXIMUM_RETRY 5 // wifi连接失败以后可以重新连接的次数
#define WIFI_CONNECTED_BIT BIT0 // wifi连接成功标志位
#define WIFI_FAIL_BIT BIT1 // wifi连接失败标志位
static const char *TAG = "image wifi station";
// 联网相关的变量
static EventGroupHandle_t s_wifi_event_group; // 事件组,用于对wifi响应结果进行标记
static int s_retry_num = 0; // 记录wifi重新连接尝试的次数
(2)联网代码
调用ESP32
的API
进行初始化设置工作,然后用freertos
的事件组判断联网的具体情况(成功/失败)。
/**
* @description: 处理wifi连接和ip分配时候事件的回调函数
* @return {*}
* @note:
*/
static void event_handler(void* arg, esp_event_base_t event_base,
int32_t event_id, void* event_data)
{
// 如果是wifi station开始连接事件,就尝试将station连接到AP
if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START)
{