ESP32 WiFi 库使用教程
1. 项目的目录结构及介绍
esp32-wifi-lib/
├── components/
│ ├── esp32-wifi/
│ │ ├── include/
│ │ ├── src/
│ │ └── component.mk
├── examples/
│ ├── simple_wifi/
│ │ ├── main/
│ │ │ ├── app_main.c
│ │ │ └── component.mk
│ │ └── Makefile
├── LICENSE
├── README.md
└── Makefile
components/
: 包含项目的核心组件,其中esp32-wifi/
是 WiFi 库的主要部分。include/
: 包含库的头文件。src/
: 包含库的源代码文件。component.mk
: 组件的构建配置文件。
examples/
: 包含示例项目,帮助用户理解如何使用 WiFi 库。simple_wifi/
: 一个简单的 WiFi 示例项目。main/
: 包含示例的主要代码文件。app_main.c
: 示例的主程序文件。component.mk
: 示例项目的构建配置文件。
Makefile
: 示例项目的构建文件。
LICENSE
: 项目的许可证文件。README.md
: 项目的介绍和使用说明。Makefile
: 项目的顶级构建文件。
2. 项目的启动文件介绍
在 examples/simple_wifi/main/
目录下,app_main.c
是项目的启动文件。该文件包含了初始化 WiFi 和连接到网络的代码。以下是 app_main.c
的部分代码示例:
#include "esp_wifi.h"
#include "esp_event.h"
#include "nvs_flash.h"
void app_main(void)
{
// 初始化 NVS
nvs_flash_init();
// 初始化 TCP/IP 堆栈
tcpip_adapter_init();
// 初始化事件循环
esp_event_loop_create_default();
// 初始化 WiFi
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
// 配置 WiFi 模式
esp_wifi_set_mode(WIFI_MODE_STA);
// 设置 WiFi 配置
wifi_config_t wifi_config = {
.sta = {
.ssid = "your_SSID",
.password = "your_PASSWORD",
},
};
esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config);
// 启动 WiFi
esp_wifi_start();
// 连接到 WiFi
esp_wifi_connect();
}
3. 项目的配置文件介绍
在 examples/simple_wifi/
目录下,Makefile
和 component.mk
是项目的配置文件。
Makefile
Makefile
用于构建整个示例项目,包含了编译和链接的规则。以下是 Makefile
的部分内容示例:
PROJECT_NAME := simple_wifi
include $(IDF_PATH)/make/project.mk
component.mk
component.mk
用于配置示例项目的组件,包含了编译选项和依赖关系。以下是 component.mk
的部分内容示例:
COMPONENT_SRCDIRS := main
COMPONENT_ADD_INCLUDEDIRS := main
这些配置文件确保了项目能够正确编译和运行。