Files
pixelheros/.trae/rules/project_rules.md
2026-05-02 16:21:35 +08:00

1.4 KiB

alwaysApply, description
alwaysApply description
false esp32嵌入式开发生效

ESP32-C3 ESP-IDF 开发规则

仅在 ESP32 / ESP-IDF 相关开发中参考,保留关键结论如下:

1. HTTP Server

  • sdkconfig.defaults 至少包含:
    • CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
    • CONFIG_HTTPD_MAX_URI_LEN=512
  • 修改 sdkconfig.defaults 后,如已有 sdkconfig,需同步处理并重新编译。
  • httpd 任务栈建议设为 8192
  • httpd_req_recv() 读取 POST 数据必须循环收完,按 content_len 分配缓冲区,并在结束后释放内存。

2. 表单处理

  • 所有 application/x-www-form-urlencoded 表单参数必须先做 URL 解码再使用。
  • 应封装统一的 url_decode() / get_param() 工具函数。
  • 禁止直接用 strstr + strchr 手动截取参数值。

3. WiFi 连接

  • 不要硬编码 WIFI_AUTH_WPA2_PSK,优先使用兼容性更好的认证模式。
  • 空密码时使用 WIFI_AUTH_OPEN
  • 启动时仅在 SSID 和密码都有效时尝试连接,否则进入配网模式。
  • 日志中输出断开原因和密码长度,不输出密码明文。

4. 初始化顺序

  • 必须按以下顺序初始化:
    1. nvs_flash_init()
    2. esp_netif_init()
    3. esp_event_loop_create_default()
    4. esp_wifi_init()
  • 禁止在 esp_wifi_init() 之后再初始化 NVS。

5. 配网模式

  • 配网阶段使用 WIFI_MODE_AP,不要使用 WIFI_MODE_APSTA