v1.6.8: Move partition CSV files into a folder

This commit is contained in:
Terrence 2025-06-04 12:11:41 +08:00
parent 16ec95f6d5
commit f41210577b
41 changed files with 53 additions and 44 deletions

View File

@ -4,7 +4,7 @@
# CMakeLists in this exact order for cmake to work correctly # CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
set(PROJECT_VER "1.6.6") set(PROJECT_VER "1.6.8")
# Add this line to disable the specific warning # Add this line to disable the specific warning
add_compile_options(-Wno-missing-field-initializers) add_compile_options(-Wno-missing-field-initializers)

View File

@ -33,8 +33,8 @@
- OLED / LCD 显示屏,支持表情显示 - OLED / LCD 显示屏,支持表情显示
- 电量显示与电源管理 - 电量显示与电源管理
- 支持多语言(中文、英文、日文) - 支持多语言(中文、英文、日文)
- 支持ESP32-C3、ESP32-S3、ESP32-P4芯片平台 - 支持 ESP32-C3、ESP32-S3、ESP32-P4 芯片平台
- 通过设备端 MCP 实现设备控制音量、灯光、电机、GPIO等 - 通过设备端 MCP 实现设备控制音量、灯光、电机、GPIO 等)
- 通过云端 MCP 扩展大模型能力智能家居控制、PC桌面操作、知识搜索、邮件收发等 - 通过云端 MCP 扩展大模型能力智能家居控制、PC桌面操作、知识搜索、邮件收发等
## 硬件 ## 硬件
@ -122,7 +122,7 @@
### 开发者文档 ### 开发者文档
- [自定义开发板指南](main/boards/README.md) - 学习如何为小智AI创建自定义开发板 - [自定义开发板指南](main/boards/README.md) - 学习如何为小智 AI 创建自定义开发板
- [MCP 协议物联网控制用法说明](docs/mcp-usage.md) - 了解如何通过 MCP 协议控制物联网设备 - [MCP 协议物联网控制用法说明](docs/mcp-usage.md) - 了解如何通过 MCP 协议控制物联网设备
- [MCP 协议交互流程](docs/mcp-protocol.md) - 设备端 MCP 协议的实现方式 - [MCP 协议交互流程](docs/mcp-protocol.md) - 设备端 MCP 协议的实现方式
- [一份详细的 WebSocket 通信协议文档](docs/websocket.md) - [一份详细的 WebSocket 通信协议文档](docs/websocket.md)

View File

@ -41,5 +41,5 @@ bool NoWakeWord::GetWakeWordOpus(std::vector<uint8_t>& opus) {
} }
const std::string& NoWakeWord::GetLastDetectedWakeWord() const { const std::string& NoWakeWord::GetLastDetectedWakeWord() const {
return ""; // No wake word detected return last_detected_wake_word_;
} }

View File

@ -26,6 +26,7 @@ public:
private: private:
AudioCodec* codec_ = nullptr; AudioCodec* codec_ = nullptr;
std::string last_detected_wake_word_;
}; };
#endif #endif

View File

@ -1,6 +1,6 @@
# 自定义开发板指南 # 自定义开发板指南
本指南介绍如何为小智AI语音聊天机器人项目定制一个新的开发板初始化程序。小智AI支持50多种ESP32系列开发板每个开发板的初始化代码都放在对应的目录下。 本指南介绍如何为小智AI语音聊天机器人项目定制一个新的开发板初始化程序。小智AI支持70多种ESP32系列开发板每个开发板的初始化代码都放在对应的目录下。
## 重要提示 ## 重要提示
@ -98,7 +98,7 @@ mkdir main/boards/my-custom-board
"sdkconfig_append": [ "sdkconfig_append": [
// 额外需要的编译配置 // 额外需要的编译配置
"CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\"" "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/8m.csv\""
] ]
} }
] ]

View File

@ -27,7 +27,7 @@ Serial flasher config -> Flash size -> 4 MB
**修改分区表:** **修改分区表:**
``` ```
Partition Table -> Custom partition CSV file -> partitions_4M.csv Partition Table -> Custom partition CSV file -> partitions/v1/4m.csv
``` ```
**编译:** **编译:**

View File

@ -5,7 +5,7 @@
"name": "atommatrix-echo-base", "name": "atommatrix-echo-base",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_4M.csv\"" "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/4m.csv\""
] ]
} }
] ]

View File

@ -33,7 +33,7 @@ Serial flasher config -> Flash size -> 8 MB
**修改分区表:** **修改分区表:**
``` ```
Partition Table -> Custom partition CSV file -> partitions_8M.csv Partition Table -> Custom partition CSV file -> partitions/v1/8m.csv
``` ```
**关闭片外 PSRAM** **关闭片外 PSRAM**

View File

@ -7,7 +7,7 @@
"CONFIG_SPIRAM=n", "CONFIG_SPIRAM=n",
"CONFIG_USE_AFE=n", "CONFIG_USE_AFE=n",
"CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\"" "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/8m.csv\""
] ]
} }
] ]

View File

@ -32,7 +32,7 @@ idf.py menuconfig
- `Xiaozhi Assistant``Board Type` → 选择 `AtomS3R CAM/M12 + Echo Base` - `Xiaozhi Assistant``Board Type` → 选择 `AtomS3R CAM/M12 + Echo Base`
- `Xiaozhi Assistant``IoT Protocol` → 选择 `MCP协议` 可开启摄像头识别功能 - `Xiaozhi Assistant``IoT Protocol` → 选择 `MCP协议` 可开启摄像头识别功能
- `Partition Table``Custom partition CSV file` → 删除原有内容,输入 `partitions_8M.csv` - `Partition Table``Custom partition CSV file` → 删除原有内容,输入 `partitions/v1/8m.csv`
- `Serial flasher config``Flash size` → 选择 `8 MB` - `Serial flasher config``Flash size` → 选择 `8 MB`
`S` 保存,按 `Q` 退出。 `S` 保存,按 `Q` 退出。

View File

@ -5,7 +5,7 @@
"name": "atoms3r-cam-m12-echo-base", "name": "atoms3r-cam-m12-echo-base",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\"" "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/8m.csv\""
] ]
} }
] ]

View File

@ -27,7 +27,7 @@ Serial flasher config -> Flash size -> 8 MB
**修改分区表:** **修改分区表:**
``` ```
Partition Table -> Custom partition CSV file -> partitions_8M.csv Partition Table -> Custom partition CSV file -> partitions/v1/8m.csv
``` ```
**修改 psram 配置:** **修改 psram 配置:**

View File

@ -5,7 +5,7 @@
"name": "atoms3r-echo-base", "name": "atoms3r-echo-base",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\"" "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/8m.csv\""
] ]
} }
] ]

View File

@ -5,7 +5,7 @@
"name": "bread-compact-esp32-lcd", "name": "bread-compact-esp32-lcd",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_4M.csv\"", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/4m.csv\"",
"LCD_ST7789_240X240_7PIN=y" "LCD_ST7789_240X240_7PIN=y"
] ]
} }

View File

@ -27,7 +27,7 @@ Serial flasher config -> Flash size -> 4 MB
**修改分区表:** **修改分区表:**
``` ```
Partition Table -> Custom partition CSV file -> partitions_4M.csv Partition Table -> Custom partition CSV file -> partitions/v1/4m.csv
``` ```
**编译:** **编译:**

View File

@ -5,7 +5,7 @@
"name": "bread-compact-esp32", "name": "bread-compact-esp32",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_4M.csv\"", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/4m.csv\"",
"CONFIG_OLED_SSD1306_128X64=y" "CONFIG_OLED_SSD1306_128X64=y"
] ]
}, },
@ -13,7 +13,7 @@
"name": "bread-compact-esp32-128x32", "name": "bread-compact-esp32-128x32",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_4M.csv\"", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/4m.csv\"",
"CONFIG_OLED_SSD1306_128X32=y" "CONFIG_OLED_SSD1306_128X32=y"
] ]
} }

View File

@ -6,7 +6,7 @@
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_IDF_TARGET=\"esp32c3\"", "CONFIG_IDF_TARGET=\"esp32c3\"",
"CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_hi.csv\"", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/4m_esp-hi.csv\"",
"CONFIG_BOARD_TYPE_ESP_HI=y", "CONFIG_BOARD_TYPE_ESP_HI=y",
"CONFIG_SR_WN_WN9S_HILEXIN=y", "CONFIG_SR_WN_WN9S_HILEXIN=y",
"CONFIG_FL_ANGLE_NEUTRAL=78", "CONFIG_FL_ANGLE_NEUTRAL=78",

View File

@ -30,8 +30,6 @@ idf.py menuconfig
分别配置如下选项: 分别配置如下选项:
- `Xiaozhi Assistant``Board Type` → 选择 `ESP-Spot-S3` - `Xiaozhi Assistant``Board Type` → 选择 `ESP-Spot-S3`
- `Partition Table``Custom partition CSV file` → 输入 `partitions.csv`
- `Serial flasher config``Flash size` → 选择 `16 MB`
`S` 保存,按 `Q` 退出。 `S` 保存,按 `Q` 退出。

View File

@ -32,7 +32,7 @@ Serial flasher config -> Flash size -> 4 MB
**修改分区表:** **修改分区表:**
``` ```
Partition Table -> Custom partition CSV file -> partitions_4M.csv Partition Table -> Custom partition CSV file -> partitions/v1/4m.csv
``` ```
**编译:** **编译:**

View File

@ -5,6 +5,8 @@
"name": "esp32-cgc-144", "name": "esp32-cgc-144",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_4M.csv\"" "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/4m.csv\""
] ]
} }
]
}

View File

@ -38,7 +38,7 @@ Serial flasher config -> Flash size -> 4 MB
**修改分区表:** **修改分区表:**
``` ```
Partition Table -> Custom partition CSV file -> partitions_4M.csv Partition Table -> Custom partition CSV file -> partitions/v1/4m.csv
``` ```
**编译:** **编译:**

View File

@ -5,7 +5,7 @@
"name": "esp32-cgc", "name": "esp32-cgc",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_4M.csv\"", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/4m.csv\"",
"CONFIG_LCD_ST7735_128X128=y" "CONFIG_LCD_ST7735_128X128=y"
] ]
} }

View File

@ -3,7 +3,11 @@
"builds": [ "builds": [
{ {
"name": "kevin-c3", "name": "kevin-c3",
"sdkconfig_append": [] "sdkconfig_append": [
"CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=n",
"CONFIG_LWIP_IPV6=n",
"CONFIG_USE_ESP_WAKE_WORD=y"
]
} }
] ]
} }

View File

@ -7,5 +7,5 @@
``` ```
Partition Table ---> Partition Table --->
Partition Table (Custom partition table CSV) ---> Partition Table (Custom partition table CSV) --->
(partitions_8M.csv) Custom partition CSV file (partitions/v1/8m.csv) Custom partition CSV file
``` ```

View File

@ -5,9 +5,10 @@
"name": "lichuang-c3-dev", "name": "lichuang-c3-dev",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\"", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/8m.csv\"",
"CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=n", "CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=n",
"CONFIG_LWIP_IPV6=n" "CONFIG_LWIP_IPV6=n",
"CONFIG_USE_ESP_WAKE_WORD=y"
] ]
} }
] ]

View File

@ -549,8 +549,8 @@ CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
# CONFIG_PARTITION_TABLE_TWO_OTA is not set # CONFIG_PARTITION_TABLE_TWO_OTA is not set
# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set # CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set
CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions/v1/16m.csv"
CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions/v1/16m.csv"
CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_OFFSET=0x8000
CONFIG_PARTITION_TABLE_MD5=y CONFIG_PARTITION_TABLE_MD5=y
# end of Partition Table # end of Partition Table

View File

@ -678,8 +678,8 @@ CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
# CONFIG_PARTITION_TABLE_TWO_OTA is not set # CONFIG_PARTITION_TABLE_TWO_OTA is not set
# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set # CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set
CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions/v1/16m.csv"
CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions/v1/16m.csv"
CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_OFFSET=0x8000
CONFIG_PARTITION_TABLE_MD5=y CONFIG_PARTITION_TABLE_MD5=y
# end of Partition Table # end of Partition Table

View File

@ -56,7 +56,7 @@ Component config -> ESP PSRAM -> SPI RAM config -> Mode (QUAD/OCT) -> QUAD Mode
``` ```
Serial flasher config -> Flash size -> 8 MB Serial flasher config -> Flash size -> 8 MB
Partition Table -> Custom partition CSV file -> partitions_8M.csv Partition Table -> Custom partition CSV file -> partitions/v1/8m.csv
``` ```
**编译:** **编译:**

View File

@ -6,7 +6,7 @@
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_SPIRAM_MODE_QUAD=y", "CONFIG_SPIRAM_MODE_QUAD=y",
"CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\"", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/8m.csv\"",
"CONFIG_LCD_ST7735_128X160=y" "CONFIG_LCD_ST7735_128X160=y"
] ]
} }

View File

@ -22,7 +22,7 @@ Serial flasher config -> Flash size -> 8 MB
### 分区表配置: ### 分区表配置:
``` ```
Partition Table -> Custom partition CSV file -> partitions_8M.csv Partition Table -> Custom partition CSV file -> partitions/v1/8m.csv
``` ```
### 开发板选择: ### 开发板选择:

View File

@ -5,7 +5,7 @@
"name": "movecall-cuican-esp32s3", "name": "movecall-cuican-esp32s3",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\"", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/8m.csv\"",
"CONFIG_COMPILER_OPTIMIZATION_SIZE=y" "CONFIG_COMPILER_OPTIMIZATION_SIZE=y"
] ]
} }

View File

@ -5,7 +5,7 @@
"name": "sensecap-watcher", "name": "sensecap-watcher",
"sdkconfig_append": [ "sdkconfig_append": [
"CONFIG_ESPTOOLPY_FLASHSIZE_32MB=y", "CONFIG_ESPTOOLPY_FLASHSIZE_32MB=y",
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_32M_sensecap.csv\"", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/32m.csv\"",
"CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH=y", "CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH=y",
"CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=n", "CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=n",
"CONFIG_IDF_EXPERIMENTAL_FEATURES=y" "CONFIG_IDF_EXPERIMENTAL_FEATURES=y"

View File

@ -14,7 +14,7 @@ dependencies:
78/esp_lcd_nv3023: ~1.0.0 78/esp_lcd_nv3023: ~1.0.0
78/esp-wifi-connect: ~2.4.2 78/esp-wifi-connect: ~2.4.2
78/esp-opus-encoder: ~2.3.3 78/esp-opus-encoder: ~2.3.3
78/esp-ml307: ~2.1.3 78/esp-ml307: ~2.1.4
78/xiaozhi-fonts: ~1.3.2 78/xiaozhi-fonts: ~1.3.2
espressif/led_strip: ^2.5.5 espressif/led_strip: ^2.5.5
espressif/esp_codec_dev: ~1.3.2 espressif/esp_codec_dev: ~1.3.2

View File

@ -270,6 +270,11 @@ void Ota::Upgrade(const std::string& firmware_url) {
return; return;
} }
if (http->GetStatusCode() != 200) {
ESP_LOGE(TAG, "Failed to get firmware, status code: %d", http->GetStatusCode());
return;
}
size_t content_length = http->GetBodyLength(); size_t content_length = http->GetBodyLength();
if (content_length == 0) { if (content_length == 0) {
ESP_LOGE(TAG, "Failed to get content length"); ESP_LOGE(TAG, "Failed to get content length");

View File

@ -10,7 +10,7 @@ CONFIG_HTTPD_MAX_REQ_HDR_LEN=2048
CONFIG_HTTPD_MAX_URI_LEN=2048 CONFIG_HTTPD_MAX_URI_LEN=2048
CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions/v1/16m.csv"
CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_OFFSET=0x8000
CONFIG_ESP_TASK_WDT_TIMEOUT_S=10 CONFIG_ESP_TASK_WDT_TIMEOUT_S=10

View File

@ -1,8 +1,6 @@
CONFIG_IDF_TARGET="esp32p4" CONFIG_IDF_TARGET="esp32p4"
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
CONFIG_SPIRAM=y CONFIG_SPIRAM=y
CONFIG_SPIRAM_SPEED_200M=y CONFIG_SPIRAM_SPEED_200M=y