三步扩大 xiaozhi-esp32 唤醒词存储:自定义分区

发布时间:2026/11/4 18:33:19

三步扩大 xiaozhi-esp32 唤醒词存储:自定义分区 三步扩大 xiaozhi-esp32 唤醒词存储自定义分区【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32你想给 xiaozhi-esp32 换一套自定义唤醒词模型做好了往设备一写却提示 model 分区剩余空间不足。原因是默认分区表只给模型区留了 960KB放一个 ESP-SR 的 wakenet 模型再加几个音效文件就见底。好消息是项目的 partitions/v1/ 目录已备好扩容模板构建配置里改一行就能切换。读完这篇你会按自己设备的 Flash 容量选对分区模板、在 menuconfig 中生效并完成烧录让设备获得最大约 4MB 的专用唤醒词存储区。原理速览ESP-IDF 把整片 Flash 切成若干分区固件和数据各占一段。xiaozhi-esp32 的 v1 分区表用model分区spiffs 子类型存放唤醒词模型和内置资源v2 则改名为assets分区并支持联网更新。分区表 CSV 的核心字段就是 Name / Type / SubType / Offset / SizeSize 决定每个分区能装多少东西# Name, Type, SubType, Offset, Size, Flags model, data, spiffs, 0x10000, 0x3f0000, ota_0, app, ota_0, 0x400000, 6M, ota_1, app, ota_1, 0xa00000, 6M,项目预置模板里16m_custom_wakeword.csv把model从 0xF0000960KB扩到 0x3f0000约 4MB同时保留两个 6M 的 OTA 应用区模板文件目标 Flashmodel/assets 分区应用分区4m.csv4MBmodel 960KBfactory 3M无双 OTA16m.csv16MBmodel 960KBota_0 / ota_1 各 6M16m_custom_wakeword.csv16MBmodel 约 4MBota_0 / ota_1 各 6Mv2 系列模板4–32MBassets 2–16MB视模板而定操作路径确认 Flash 容量并选定分区模板目标是选出一个与设备匹配的分区表文件。看一下开发板的 Flash 芯片型号或上电串口日志容量通常是 4/8/16/32MB 几档。16MB Flash 且想保留双 OTA直接用partitions/v1/16m_custom_wakeword.csvmodel 分区直接给到约 4MB。4MB / 8MB Flash用对应的 v1 模板接受 960KB 的 model 分区或自行复制模板压缩 ota 区来腾空间。32MB Flash现成的 32m.csv 里 model 仍是 960KB想扩容就复制 16m_custom_wakeword.csv 后自行调整 Size 列保证各分区偏移对齐、总和不超过 Flash 容量。⚠️ 容易误以为大容量模板分区一定更大。32m.csv 的 model 分区并没有扩容如果你的需求是唤醒词模型优先参考 16m_custom_wakeword.csv 的布局。在 menuconfig 中指定分区表目标是一行配置让构建系统改用你的分区模板。先设置芯片目标再进菜单idf.py set-target esp32s3 idf.py menuconfig在Partition Table菜单下把Custom partition CSV file改为partitions/v1/16m_custom_wakeword.csv保存退出后sdkconfig 中应出现这一行项目默认已开启CONFIG_PARTITION_TABLE_CUSTOMy所以只需改路径CONFIG_PARTITION_TABLE_CUSTOM_FILENAMEpartitions/v1/16m_custom_wakeword.csv⚠️ 切换开发板型号后该板自带的 config.json 会用默认值覆盖 sdkconfig。如果你的板子属于这种情况选板后务必回来再确认一次这个路径。编译并烧录到设备目标是让新分区表连同固件一起写入设备。idf.py build idf.py -p /dev/ttyUSB0 flash编译成功后build 目录下会生成解码后的分区表和分区表二进制烧录输出里能看到各 bin 的写入地址最后以Hard resetting via RTS pin...结束。设备重启后按新分区表组织存储。⚠️ 本项目分区表偏移固定为 0x8000见 sdkconfig.defaults 中的CONFIG_PARTITION_TABLE_OFFSET。如果改用 esptool 手动只写分区表地址必须填 0x8000写成默认的 0x800 不会生效。验证与排错验证一无需硬件编译完成后打开 build 目录下解码出的分区表文件确认 model 一行model,data,spiffs,0x10000,0x3f0000,Size 显示 0x3f0000 说明 4MB 扩容已生效。验证二设备上烧录后查看串口启动日志确认 model 分区正常挂载、唤醒词加载成功然后对着设备说一次自定义唤醒词有应答即完成。常见问题重启后 WiFi 密码、激活状态丢了。改分区表会清除 nvs 数据区这是预期行为重新配网即可。日志显示 model 仍是 960KB。多半是板级 config.json 把CONFIG_PARTITION_TABLE_CUSTOM_FILENAME重置了改完后重新检查 sdkconfig。v1 与 v2 混用导致挂载异常。两者的 model/assets 分区定义不同换表后请完整烧录固件不要只更新 app。延伸方向想把唤醒词模型、主题资源改为联网下发可以看 v2 分区表的设计说明partitions/v2/README.md。想给设备加自定义工具或唤醒词逻辑参考 MCP 工具用法docs/mcp-usage.md。适配新开发板或修改板级默认配置参考docs/custom-board.md。写在最后分区这一步走通后唤醒词区就不再是瓶颈。找块板子按上面的顺序跑一遍改分区、编译、烧录总共也就一杯茶的时间。下一篇会讲如何生成自己的唤醒词模型并写入 assets 分区。【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/4 18:33:12

数学建模国赛A题复现全流程:从问题拆解到Python代码实现

2025年数学建模国赛备赛期,很多队伍明明已经收集了大量优秀论文,却在真正动手时卡住:论文读得懂,公式看得明白,可一旦想复现论文中的图表和结果,就不知道从哪里下手。尤其是A题,通常带有明显的物…

2026/11/4 18:32:20

战舰世界海门评测:B+背后的吉野Turbo与金刚ProMax

《战舰世界》中每艘船的评测结论,不能只盯着推荐度。以“海门”这张莱服评测卡为例,推荐度B只是结果,真正有价值的是“吉野Turbo”和“金刚ProMax”这两个外号背后的作战定位。如果只看B,很容易误判成一艘不值得练的船&#xff1b…

2026/11/2 17:11:07

基于PyTorch的单通道脑电睡眠分期:CNN-LSTM模型实现与优化

简介:本资源是一个基于PyTorch实现的单通道脑电信号(EEG)睡眠分期系统,面向高校人工智能、生物医学工程及计算机相关专业高年级本科生与研究生,解决神经科学中自动化睡眠阶段判读这一典型时序分类问题。压缩包共26个文…

2026/11/4 18:28:35

AgentScope 2.0:面向生产级多智能体协同的Java运行时基础设施

1. 这不是又一个“AI Agent框架”——AgentScope到底在解决什么真问题?最近在几个技术群和内部分享会上,总有人甩出一句:“推荐一个牛逼的AgentScope系统”,然后就没了下文。我一开始也以为是另一个披着Agent外衣、实则跑个LangCh…

2026/11/4 18:28:35

AutoCAD二次开发:ObjectARX与Visual Studio版本对应指南

1. ObjectARX与Visual Studio版本对应关系详解在AutoCAD二次开发领域,ObjectARX作为官方提供的开发框架,其版本与Visual Studio的兼容性一直是开发者必须面对的首要问题。作为一名从事AutoCAD插件开发多年的工程师,我深知选错开发环境会导致的…

2026/11/4 18:28:35

Zotero集成DeepL免费API实现学术文献自动翻译

1. 项目概述:为什么Zotero配DeepL不是“锦上添花”,而是文献处理的刚需闭环Zotero免费配置DeepL API密钥——这短短十一个字,背后站着的是每天被英文文献压得喘不过气的科研新手、赶DDL的硕博生、需要快速消化外文资料的行业研究员&#xff0…

2026/11/4 18:28:35

佳能IR1133 U盘打印功能开启全指南

1. 项目概述:为什么佳能IR1133的U盘打印功能像“被锁住的抽屉”? 你把U盘插进佳能IR1133复印机侧面那个标着USB图标的接口,屏幕亮了,显示“USB设备已连接”,可一按“扫描”或“打印”按钮,菜单里压根找不到…

2026/11/4 18:28:35

数据库约束详解:确保数据完整性的关键机制

1. 数据库约束:数据完整性的守护者 在数据库设计和管理中,约束(Constraints)就像交通规则对于城市道路系统一样重要。它们定义了数据必须遵守的规则,确保数据库中的数据始终保持准确、一致和可靠。想象一下&#xff0c…

2026/11/4 18:23:34

Jev技术解析:JSON Schema验证中间件原理与工程实践

我无法根据当前输入生成符合要求的博文。原因如下:项目正文为空:输入中项目正文: "",即没有任何实质性描述。而我的核心任务是“基于项目标题、项目正文、关键词和摘要描述”进行深度拆解与延展。没有正文,就失去了理解…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 0:03:20

AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年…

2026/11/4 0:03:20

从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你…

2026/11/4 0:03:20

32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑