ESPIDF-WIFI系列(1)

WIFI概述

Wi-Fi 库支持配置及监控 ESP32 Wi-Fi 连网功能。支持配置:

  • station 模式(即 STA 模式或 Wi-Fi 客户端模式),此时 ESP32 连接到接入点 (AP)
  • AP 模式(即 Soft-AP 模式或接入点模式),此时基站连接到 ESP32
  • station/AP 共存模式(ESP32 既是接入点,同时又作为基站连接到另外一个接入点)
  • 上述模式的各种安全模式(WPA、WPA2 及 WEP 等)
  • 扫描接入点(包括主动扫描及被动扫描)
  • 使用混杂模式监控 IEEE802.11 Wi-Fi 数据包
  1. 基站模式(又称 STA 模式或 Client 模式):将 ESP 连接到附近的 AP,此时相当于 ESP 在蹭网。
  2. AP 模式(又称 Soft-AP 模式或 Server 模式):将 ESP 设置为 AP,可供周围设备连接,此时相当于ESP 开热点。
  3. AP-STA 共存模式:ESP32 既是接入点,同时又作为基站连接到另外一个接入点,此时相当于 ESP 连着隔壁 wifi 开热点给自家用。

AP模式

在 AP 模式中,ESP32 作为路由器/热点,其他的所有设备都连接到路由器/热点上。主设备通过路由器发送命令到达一个或多个设备,设备则会通过路由器向主设备返回数据。

工作流程

  1. esp_netif_init()
    创建 lwIP task协议栈
  2. esp_event_loop_create_default()
    创建 event task
  3. esp_wifi_init()
    初始化 wifi driver
  4. wifi_event_handle()
    注册 wifi_event_handle() 回调函数
  5. wifi config
    配置 wifi
  6. esp_wifi_init()
    启动 wifi
  7. wifi driver 向 event task 发送事件,如果有处理对应事件的回调函数就会进行处理。

TCP/IP

socket 流程

  1. 初始化,创建 socket
  2. 连接,客户端连接服务端
  3. 数据交换
  4. 断开连接

客户端服务端的工作流程如下图所示。