Some checks failed
Build / idf-build (push) Has been cancelled
适配ESP-IDF v6.0编译 补充项目相关文档 * 修复16处头文件缺失、flash配置错误、WiFi断开原因码兼容问题 * 新增ESP-IDF v6.0迁移适配文档 * 更新变更日志,补充v1.0.0功能清单及v1.1.0版本规划 * 整理讨论记录,新增v6.0适配及国内大模型接入内容
3.0 KiB
3.0 KiB
讨论记录
讨论:ESP-IDF v6.0 编译适配
日期:2026-03-31
目标:解决 ESP-IDF v6.0 编译失败问题,完成固件烧录
问题清单
1. Flash 大小配置错误
- 错误:分区表需要 16MB,但 sdkconfig 配置为 2MB
- 修复:
sdkconfig中CONFIG_ESPTOOLPY_FLASHSIZE改为 16MB
2. WiFi 断开原因码未定义
- 错误:
WIFI_REASON_ASSOC_EXPIRE等符号在 v6.0 中未定义 - 修复:
wifi_manager.c中所有 reason code 添加#ifdef保护
3. CMakeLists.txt 缺少源文件
- 错误:
llm_provider.c未加入编译列表,导致链接错误 - 修复:添加
ota/ota_manager.c到 SRCS
4. 头文件缺失(共 16 处)
| 文件 | 缺失头文件 | 原因 |
|---|---|---|
cli/serial_cli.c |
llm/llm_provider.h |
llm_provider_set_api_key |
llm/llm_provider.c |
esp_http_client.h |
esp_http_client_set_header |
bus/message_bus.c |
freertos/FreeRTOS.h, freertos/queue.h |
xQueueCreate, QueueHandle_t |
wifi/wifi_manager.c |
esp_event.h |
esp_event_handler_instance_register |
wifi/wifi_manager.c |
freertos/FreeRTOS.h, freertos/task.h, freertos/event_groups.h |
xEventGroupCreate, vTaskDelay |
ota/ota_manager.c |
esp_system.h |
esp_restart |
channels/telegram/telegram_bot.c |
freertos/FreeRTOS.h, freertos/task.h |
xTaskCreatePinnedToCore, vTaskDelay |
tools/tool_registry.c |
<stdlib.h> |
free() |
proxy/http_proxy.c |
<sys/time.h> |
struct timeval |
gateway/ws_server.c |
<stdint.h> |
uint8_t |
ESP-IDF v6.0 API 兼容性验证
以下 API 在 v6.0 中仍然存在,无需修改:
esp_spiffs_info()✅esp_websocket_client_send_bin()✅esp_tls_set_conn_sockfd()/esp_tls_set_conn_state()✅esp_console_new_repl_uart()/esp_console_new_repl_usb_serial_jtag()✅esp_https_ota()+esp_https_ota_config_t✅esp_wifi_set_config()✅
烧录说明
ESP32-S3 使用 USB 口(内置 USB Serial/JTAG 控制器)烧录:
idf.py -p COMx flash monitor
- 插 USB 口(标记为
USB),不是 UART 口 - 如遇连接失败,按住 BOOT 键再插线进入下载模式
讨论:增加国内大模型厂商接入
日期:2026-03-31
目标:为 MimiClaw 增加硅基流动和火山方舟(豆包模型)接入
项目现状
- 当前支持:Anthropic (Claude)、OpenAI (GPT)
- 运行平台:ESP32-S3,纯 C 语言
- 交互方式:Telegram 机器人
国内厂商 API 兼容性
- 硅基流动:OpenAI 兼容,Base URL
https://api.siliconflow.cn/v1 - 火山方舟:OpenAI 兼容,Base URL
https://ark.cn-beijing.volces.com/api/v3
实现方案
由于两者都提供 OpenAI 兼容 API,可复用现有 OpenAI 集成代码,只需:
- 修改 Base URL
- 调整认证方式(Bearer Token)
- 处理模型名称规范
待解决问题
- 认证方式差异确认
- 模型名称规范
- 工具调用格式兼容性验证