3.8 KiB
3.8 KiB
雷达传感器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)
// 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初始化逻辑
// 完全控制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) - 详细距离数据
距离分段
enum DistanceRange {
RANGE_NONE, // 无目标
RANGE_NEAR, // 近距离 (0-100cm)
RANGE_MEDIUM, // 中距离 (100-300cm)
RANGE_FAR // 远距离 (300cm+)
};
数据结构
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数据传输
{
"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不可用时的默认值
🚀 下一步操作
需要烧录新固件
- 连接ESP32设备
- 烧录包含UART配置的新固件
- 重启设备
验证步骤
- 控制台检查: 确认控制台在UART1 (GPIO47/48)
- UART测试: 验证UART0专用于雷达传感器
- API测试: 检查HTTP API返回详细雷达数据
- 距离测试: 验证距离分段功能
📋 配置文件清单
修改的文件
- ✅
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
- 向后兼容: 保持所有原有功能
⚠️ 注意事项
- 控制台访问: 烧录后控制台将在UART1 (GPIO47/48)
- 调试连接: 如需调试,连接UART1而非UART0
- 硬件确认: 确保雷达传感器正确连接到UART0引脚
- 波特率匹配: 雷达传感器必须配置为256000 bps