【ESP-IDF】ESP32利用wifi联网(STA模式)

本文介绍了ESP32在ESP-IDF框架下如何使用STA模式进行WiFi联网。首先,解释了STA模式和AP模式的含义,接着详细分析了官方提供的STA模式联网例程,包括联网阶段的描述以及代码解析,如初始化设置、事件组判断联网状态等。
摘要由CSDN通过智能技术生成

1.APSTA的含义

  • AP模式:Access Point模式,提供无线接入服务,允许其它无线设备接入,提供数据访问。
  • STA模式:Station模式,类似于无线终端,sta本身并不接受无线的接入,它可以连接到AP设备。

2.STA模式例程

官方STA例程(需要注意仓库的分支号)

2.1.联网阶段描述

STA模式联网的不阶段见于官方文档,关于ESP32wifi驱动的其他内容也可以在其中查阅。

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)联网代码

调用ESP32API进行初始化设置工作,然后用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)
    {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值