开始前适用开发板:ESP32-P4 + ESP32-C5 · 开发框架:ESP-IDF
适用开发板:P4C5 · 工程
02.beginner.wifi_scan· targetesp32p4
学习时长:约 15 分钟 · 难度:★☆☆☆☆
学习目标
完成本节后,你将能够:
- 理解 P4C5 通过 C5 协处理器进行 Wi-Fi 扫描的过程
- 掌握
esp_wifi_scan_start()API(与 Korvo 完全相同) - 验证 C5 协处理器是否正常工作
1. 这个例子在干嘛
功能与 Korvo wifi_scan 相同——扫描周围热点,显示 AP 数量和信号最强的 SSID/RSSI。关键区别:Wi-Fi 功能由 C5 协处理器(通过 SDIO/esp_hosted)提供,应用层 API 完全一样。
P4C5 特有注意:上电后需等 10~20 秒 C5 就绪才能扫描。也可用
05.test.wifi_scan_c5做隔离测试。
┌──────────┐ SDIO ┌──────────┐ Wi-Fi ┌──────────┐
│ ESP32-P4 │────────→│ ESP32-C5 │─────────→│ 周围 AP │
│ 应用层 │ hosted │ Wi-Fi │ 扫描 │ │
│ esp_wifi │ │ 从机 │ │ │
└──────────┘ └──────────┘ └──────────┘
2. 编译烧录
cd P4_C5_4.3_Firmware\02.beginner.wifi_scan
idf.py set-target esp32p4
idf.py build flash monitor
3. 运行现象
| 阶段 | 屏幕/串口 | 说明 |
|---|---|---|
| 等待 C5 | Waiting for hosted... | 10~20 秒 |
| C5 就绪 | Transport active | SDIO 通信建立 |
| 扫描完成 | AP found = N + SSID/RSSI | 与 Korvo 输出格式相同 |
4. 与 Korvo 版的关键区别
| 对比 | Korvo | P4C5 |
|---|---|---|
| Wi-Fi 芯片 | S3 内置 | C5 外置(SDIO) |
| 启动延迟 | 无 | 需等 C5 就绪 10~20s |
| API | esp_wifi_scan_*() | 完全相同 |
| 频段 | 2.4GHz | 2.4GHz(C5 支持 Wi-Fi 6) |
| 屏幕 | SPI 240×280 | MIPI 480×800 |
5. 常见问题与排查
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 一直等待 C5 | SDIO 通信异常 | 检查 C5 供电和 SDIO 线路 |
| 扫到 0 个 | C5 未完全就绪 | 延长等待时间再试 |
| 扫到 0 个 | C5 天线问题 | 跑 p4c5_board_test 排查 |
6. 知识延伸
- esp_hosted 协议:P4 是主机,C5 是从机。P4 通过 SDIO 4-bit 总线将标准
esp_wifiAPI 调用"转发"给 C5 执行 - 对开发者透明:应用代码无需关心 Wi-Fi 是内置还是 SDIO 代理,API 完全一致
7. 下一步
| 方向 | 推荐例程 | 说明 |
|---|---|---|
| Wi-Fi 连接 | Wi-Fi Station | 连路由器 |
| Wi-Fi 热点 | Wi-Fi SoftAP | 开热点 |
| Korvo 版 | Korvo wifi_scan | 详细原理讲解 |
酷世DIY · Kevincoooool