Files
wifitest/README.md
DESKTOP-PUHFO60\dsx2016 ba09f4f48e fix 3.5 backlight and GT911 for cyd_35r.
TFT_BL was wrongly GPIO21 (GT911 INT); use GPIO27, DRAW_BUF_DIV=20, and export firmware/cyd_35r.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-25 19:40:29 +08:00

101 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CYD WiFi 配网基础
可复用 WiFi 配网模块,支持 **2.8"** 与 **3.5"** CYD。显示/触控骨架对齐 [tftest](../tftest);3.5 背光与 GT911 按 [CYD_PROJECT_GUIDE.md](../CYD_PROJECT_GUIDE.md)。
| 板型 | env | 屏 / 触控 | 背光 |
|------|-----|-----------|------|
| **2.8" · 2432S028R** | `cyd`(默认) | ILI9341 + XPT2046 SoftSPI | GPIO**21** |
| **3.5" · 3248S035C** | `cyd_35r` | ST7796 + GT911 I2C | GPIO**27** |
## 为什么这样设计
| 方式 | 优点 | 缺点 | 本项目 |
|------|------|------|--------|
| **屏上 LVGL 扫网 + 键盘** | 不离开手机当前 WiFi;有屏设备体验最好 | 依赖触控 | **主路径** |
| **SoftAP + Captive Portal** | 手机浏览器配网;无屏板子也能用 | 需连设备热点 | **备用**(Phone AP) |
| BLE / Espressif Provisioning | 官方、可加密 | 要专用 App、占内存 | 未采用 |
| tzapu WiFiManager | 成熟 | 阻塞式、和 LVGL 难并存 | 未采用 |
凭证存 **NVS(Preferences)**,重启自动重连;断线会周期性重试。
## 刷写(无需每次编译)
| 板型 | 目录 |
|------|------|
| 2.8" | [`firmware/cyd/`](firmware/cyd/) |
| 3.5" | [`firmware/cyd_35r/`](firmware/cyd_35r/) |
```powershell
cd firmware\cyd # 或 firmware\cyd_35r
.\flash.ps1
# 或
.\flash.ps1 -Port COM3
```
重新打包:
```powershell
.\firmware\export_from_build.ps1 # 2.8
.\firmware\export_from_build.ps1 -Env cyd_35r # 3.5
.\firmware\export_from_build.ps1 -SkipBuild
```
源码烧录:`pio run -e cyd -t upload` 或 `pio run -e cyd_35r -t upload`
串口监视:`pio device monitor -b 460800`
1. 无凭证:进入 **WiFi Setup**,点 **Scan**,选网络,键盘输入密码,**Join**。
2. 或点 **Phone AP**:手机连 `CYD-Setup`,打开 `http://192.168.4.1/`。
3. 成功后进状态页;**Change WiFi** / **Forget** 可重配。
## 接到其它项目
只需带走这些文件(无业务耦合):
```
include/wifi_prov.h # 核心 API(无 LVGL)
src/wifi_prov.cpp
include/wifi_ui.h # 可选:屏上 UI
src/wifi_ui.cpp
```
有屏时的最小接入:
```cpp
wifi_prov_begin(); // 有凭证则自动连
wifi_ui_create(); // 无凭证则进配网页
void loop() {
wifi_prov_loop();
wifi_ui_tick();
// ...
}
```
无屏 / 只要门户:
```cpp
wifi_prov_begin();
if (!wifi_prov_is_connected()) {
wifi_prov_portal_start("MyDevice-Setup");
}
// loop 里 wifi_prov_loop();
```
宏可覆盖(`build_flags`):
- `WIFI_PROV_AP_SSID` — 默认 `CYD-Setup`
- `WIFI_PROV_CONNECT_TIMEOUT_MS` — 默认 20s
- `WIFI_PROV_RECONNECT_MS` — 默认 8s
## 模块划分
- `touch.*` / `pins.h` — CYD 硬件(按 `CYD_BOARD_3248S035` 分支)
- `wifi_prov.*` — NVS、扫描、连接、重连、SoftAP 门户
- `wifi_ui.*` — LVGL 列表 + 密码键盘 + 状态页(`UX/UY` 适配 480×320)
- `main.cpp` — 演示入口
## 硬件
- **2.8"**:ILI9341 240×320,横屏 `ROTATION_270`(逻辑 320×240),触控 SoftSPI。
- **3.5" C**:ST7796 320×480,逻辑 UI 480×320;GT911 `SDA33/SCL32/INT21/RST25`;**勿**把 GPIO33 当 `TOUCH_CS`。