# 雷达传感器UART完整配置指南 ## 🎯 目标 启用完整的UART功能,实现雷达传感器详细距离检测: **UART串口 → WiFi → APP** ## ✅ 已完成的配置修改 ### 1. **控制台配置修改** (sdkconfig) ``` # 原配置 (UART0被控制台占用) CONFIG_ESP_CONSOLE_UART_DEFAULT=y CONFIG_ESP_CONSOLE_UART_NUM=0 # 新配置 (控制台移至UART1) CONFIG_ESP_CONSOLE_UART_CUSTOM=y CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_1=y CONFIG_ESP_CONSOLE_UART_NUM=1 CONFIG_ESP_CONSOLE_UART_TX_GPIO=47 CONFIG_ESP_CONSOLE_UART_RX_GPIO=48 ``` ### 2. **雷达传感器配置** (RadarSensor.h/cpp) ```cpp // UART配置常量 (专用UART0) static constexpr uart_port_t UART_NUM = UART_NUM_0; static constexpr int UART_BAUD_RATE = 256000; // 雷达传感器波特率 static constexpr int UART_TX_PIN = 1; // TXD0 static constexpr int UART_RX_PIN = 3; // RXD0 ``` ### 3. **硬件连接** (根据原理图) ``` 雷达传感器 → ESP32 TXD_HLK → RXD0 (GPIO3) RXD_HLK → TXD0 (GPIO1) ``` ### 4. **UART初始化逻辑** ```cpp // 完全控制UART0,安装专用驱动 uart_driver_install(UART_NUM_0, UART_BUF_SIZE, UART_BUF_SIZE, 0, NULL, 0); uart_param_config(UART_NUM_0, &uart_config); uart_set_pin(UART_NUM_0, 1, 3, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE); ``` ## 🔧 功能特性 ### **双模式检测** - **GPIO检测**: PIN_RADAR_DET (GPIO6) - 基础存在检测 - **UART通信**: UART0 (256000 bps) - 详细距离数据 ### **距离分段** ```cpp enum DistanceRange { RANGE_NONE, // 无目标 RANGE_NEAR, // 近距离 (0-100cm) RANGE_MEDIUM, // 中距离 (100-300cm) RANGE_FAR // 远距离 (300cm+) }; ``` ### **数据结构** ```cpp struct RadarData { bool detected; // GPIO检测结果 bool uart_available; // UART数据可用性 uint16_t moving_distance; // 运动目标距离(cm) uint16_t static_distance; // 静止目标距离(cm) uint8_t moving_energy; // 运动目标能量 uint8_t static_energy; // 静止目标能量 const char* distance_range; // 距离分段字符串 }; ``` ## 📡 HTTP API响应格式 ### **WiFi → APP数据传输** ```json { "grid": [25.1, 25.2, ...], "pir": 1, "radar": { "detected": true, "uart_available": true, "distance_range": "near", "moving_distance": 85, "static_distance": 0 } } ``` ### **距离分段值** - `"none"`: 无目标检测 - `"near"`: 近距离 (0-100cm) - `"medium"`: 中距离 (100-300cm) - `"far"`: 远距离 (300cm+) - `"unknown"`: UART不可用时的默认值 ## 🚀 下一步操作 ### **需要烧录新固件** 1. 连接ESP32设备 2. 烧录包含UART配置的新固件 3. 重启设备 ### **验证步骤** 1. **控制台检查**: 确认控制台在UART1 (GPIO47/48) 2. **UART测试**: 验证UART0专用于雷达传感器 3. **API测试**: 检查HTTP API返回详细雷达数据 4. **距离测试**: 验证距离分段功能 ## 📋 配置文件清单 ### **修改的文件** - ✅ `sdkconfig` - 控制台配置 - ✅ `RadarSensor.h` - UART配置常量 - ✅ `RadarSensor.cpp` - UART初始化逻辑 - ✅ `Board.h` - 引脚说明更新 - ✅ `ACRemoteAPI.cpp` - HTTP API响应 ### **测试文件** - ✅ `test_radar_distance.py` - 完整测试脚本 - ✅ `quick_radar_test.py` - 快速验证脚本 ## 🎉 预期结果 烧录新固件后,系统将具备: - **完整UART通信**: 256000 bps专用通信 - **详细距离数据**: 运动/静止目标距离和能量 - **智能分段**: near/medium/far距离分类 - **WiFi数据传输**: 实时传输到APP - **向后兼容**: 保持所有原有功能 ## ⚠️ 注意事项 1. **控制台访问**: 烧录后控制台将在UART1 (GPIO47/48) 2. **调试连接**: 如需调试,连接UART1而非UART0 3. **硬件确认**: 确保雷达传感器正确连接到UART0引脚 4. **波特率匹配**: 雷达传感器必须配置为256000 bps