修复充电请求流程

This commit is contained in:
2025-06-07 16:28:02 +08:00
parent f132b557df
commit fb27dc6f29
8 changed files with 243 additions and 137 deletions

View File

@@ -135,23 +135,20 @@
- 从管理员控制台页面 (`charging_web_app/src/app/(authenticated)/admin/dashboard/page.tsx`) 移除了"会话管理"导航卡片按钮,以匹配后端不再提供管理员直接删除会话功能的调整。
## YYYY-MM-DD (请替换为今天的实际日期)
- **MQTT 服务器域名更新**:
- 将后端 (`springboot-init-main/src/main/resources/application.yml`) 和单片机 (`mqtt_esp32_client/mqtt_esp32_client.ino`) 的 MQTT Broker 地址从 `broker.emqx.io` 更新为 `yuyun-hk1.stormrain.cn`
- 确保设备与自建 MQTT 服务器的通信正常进行。
- 新建 MG995 舵机测试项目 `mg995_servo_test`
- 目标:测试 MG995 舵机与 ESP32-S3 的集成
- 硬件配置:
- 主控ESP32-S3
- 舵机MG995
- 连接引脚:舵机信号线连接到 GPIO 18。
-`mg995_servo_test/` 目录下创建了 `mg995_servo_test.ino` 文件,实现了舵机在 0-180 度之间往复运动的测试程序。
## YYYY-MM-DD (请替换为今天的实际日期)
- **修复后端 MQTT 消息处理逻辑**:
- 修正 `springboot-init-main/src/main/java/com/yupi/project/service/impl/MqttMessageHandler.java`,确保在机器人完成 `MOVE_TO_SPOT` 任务后,能够正确调用 `ChargingSessionService.handleRobotArrival` 方法更新充电会话状态
- **具体变更**
- `MqttMessageHandler` 中注入 `ChargingSessionService`
- `handleRobotStatusUpdate` 方法中,当接收到 `COMPLETED` 状态的 `RobotTask` 消息,并且该任务的 `commandType``MOVE_TO_SPOT` 时,调用 `chargingSessionService.handleRobotArrival`,传入相关的会话 ID 和任务 ID。
## YYYY-MM-DD (请替换为今天的实际日期)
- **修复单片机 MQTT ACK 消息格式**:
- 修改 `mqtt_esp32_client/mqtt_esp32_client.ino`,使其发送的 ACK 消息符合后端 `MqttMessageHandlerImpl` 的期望格式。
- **具体变更**
- 删除旧的 `publish_ack_message` 函数。
- 修改 `publish_status_update` 函数,使其只发送通用状态更新和心跳消息。
- 新增一个 `publish_ack_message` 函数,用于构建包含 `command_ack`(指令中文描述)、`task_id`(数字类型)和 `success`(布尔类型)的 JSON 结构。
-`STOP_CHARGE` 指令的 ACK 中添加 `energy_kwh``duration_s` 字段。
- 更新 `callback` 函数中所有 `publish_ack_message` 的调用,以使用新的函数签名和参数。
- 新建 Arduino Nano 的 MG995 舵机测试项目 `mg995_nano_test`
- 目标:将舵机控制方案切换到 Arduino Nano 平台
- 硬件配置
- 主控Arduino Nano
- 舵机MG995
- 连接引脚:舵机信号线连接到 Nano 的 D9 PWM 引脚。
-`mg995_nano_test/` 目录下创建了 `mg995_nano_test.ino` 文件,使用标准 `Servo.h` 库实现舵机往复运动。
- **重要提示**:同样需要为 MG995 舵机提供独立的 5V 外部电源,并与 Nano 共地。