项目文件夹
您已经派生过 78--xiaozhi-esp32
78--xiaozhi-esp32
c7241272f2
The xpowerslib library selects the concrete AXP192/202/2101 driver behind the XPowersPMU typedef at compile time. Instead of letting the library register its own handle on the I2C bus, route its register read/write through the shared I2cDevice handle using callback mode, so only one bus device is registered and the device is fully owned by I2cDevice. Add WriteRegs to I2cDevice to support multi-byte writes. Signed-off-by: Jack Huang <jackhuang021@gmail.com>
An MCP-based Chatbot
介绍
👉 人类:给 AI 装摄像头 vs AI:当场发现主人三天没洗头【bilibili】
👉 手工打造你的 AI 女友,新手入门教程【bilibili】
小智 AI 聊天机器人作为一个语音交互入口,利用 Qwen / DeepSeek 等大模型的 AI 能力,通过 MCP 协议实现多端控制。
近期更新
- 项目主线现已迁移到 ESP-IDF v6.0 或以上版本,首选稳定版为 v6.0.2;此前的 157 个发布变体已在 ESP-IDF v6.0.1 上通过构建验证。当前矩阵包含 171 个变体,其中 170 个支持 IDF 6.0.x,ESP32-S31 变体需要 IDF 6.1 或以上版本。
- MQTT 和 BluFi 加密已迁移到 PSA Crypto,同时完成了 IDF 6 组件拆分及第三方依赖兼容处理。
- 加固了音频流水线并发、MQTT/UDP 数据包校验和发布矩阵选择逻辑。
- ESP-IDF v5.5 仅保留用于文档明确标注的旧版板卡;使用 ESP-SR 2.4.7 时,ESP32-P4 Rev1 和 Rev3 均支持 IDF 6。完整兼容性和板卡验证状态请参阅 ESP-IDF 6.0 迁移文档。
已实现功能
- 支持 Wi-Fi、有线以太网、USB RNDIS,以及 ML307/EC801E 或 NT26 Cat.1 4G 网络;部分硬件支持 Wi-Fi 与 4G 切换
- 基于 ESP-SR 的离线语音唤醒,支持自定义唤醒词
- 支持两种通信传输方式:WebSocket 和 MQTT + UDP
- 采用 Opus 音频流,既支持传统的流式 ASR + LLM + TTS 方案,也支持 Realtime 端到端语音模型;具备 AEC 的硬件可实现实时全双工交互
- 声纹识别,识别当前说话人的身份 3D Speaker
- OLED / LCD 显示屏,支持表情和丰富的情绪呈现;部分硬件支持摄像头视觉输入
- 电量显示与电源管理
- 提供 38 种界面语言;语音提示优先使用本地化资源,缺失时自动回退到英文
- 支持 ESP32、ESP32-C3、ESP32-C5、ESP32-C6、ESP32-S3、ESP32-P4 芯片平台
- 支持热点和 BluFi 两种 Wi-Fi 配网方式
- 通过设备端 MCP 实现设备控制(音量、灯光、电机、GPIO 等)
- 通过云端 MCP 扩展大模型能力(智能家居控制、PC桌面操作、知识搜索、邮件收发等)
- 自定义唤醒词、字体、表情与聊天背景,支持网页端在线修改 (自定义Assets生成器)
硬件
面包板手工制作实践
详见飞书文档教程:
面包板效果图如下:
支持 138 个板卡目录、171 个固件发布变体(仅展示部分)
- 立创·实战派 ESP32-S3 开发板
- 乐鑫 ESP32-S3-BOX-3
- M5Stack CoreS3
- M5Stack AtomS3R + Echo Base
- 神奇按钮 2.4
- 微雪电子 ESP32-S3-Touch-AMOLED-1.8
- LILYGO T-Circle-S3
- 虾哥 Mini C3
- 璀璨·AI 吊坠
- 无名科技 Nologo-星智-1.54TFT
- SenseCAP Watcher
- ESP-HI 超低成本机器狗
软件
固件烧录
新手第一次操作建议先不要搭建开发环境,直接使用免开发环境烧录的固件。
固件默认接入 xiaozhi.me 官方服务器,个人用户注册账号可以免费使用 Qwen 实时模型。
👉 新手烧录固件教程
开发环境
- Cursor 或 VSCode
- 安装 ESP-IDF 插件,首选 ESP-IDF v6.0.2,建议使用 v6.0 或以上的稳定版本;ESP-IDF v5.5.2 仅保留用于旧版硬件兼容
- Linux 比 Windows 更好,编译速度快,也免去驱动问题的困扰
- 本项目使用 Google C++ 代码风格,提交代码时请确保符合规范
开发者文档
- ESP-IDF 6.0 迁移文档 - SDK 兼容性、组件变更、旧版硬件支持和板卡验证状态
- 自定义开发板指南 - 学习如何为小智 AI 创建自定义开发板
- MCP 协议物联网控制用法说明 - 了解如何通过 MCP 协议控制物联网设备
- MCP 协议交互流程 - 设备端 MCP 协议的实现方式
- MQTT + UDP 混合通信协议文档
- 一份详细的 WebSocket 通信协议文档
大模型配置
如果你已经拥有一个小智 AI 聊天机器人设备,并且已接入官方服务器,可以登录 xiaozhi.me 控制台进行配置。
相关开源项目
在个人电脑上部署服务器,可以参考以下第三方开源的项目:
- xinnan-tech/xiaozhi-esp32-server Python 服务器
- joey-zhou/xiaozhi-esp32-server-java Java 服务器
- AnimeAIChat/xiaozhi-server-go Golang 服务器
- hackers365/xiaozhi-esp32-server-golang Golang 服务器
使用小智通信协议的第三方客户端项目:
- huangjunsen0406/py-xiaozhi Python 客户端
- TOM88812/xiaozhi-android-client Android 客户端
- 100askTeam/xiaozhi-linux 百问科技提供的 Linux 客户端
- 78/xiaozhi-sf32 思澈科技的蓝牙芯片固件
- QuecPython/solution-xiaozhiAI 移远提供的 QuecPython 固件
关于项目
这是一个由虾哥开源的 ESP32 项目,以 MIT 许可证发布,允许任何人免费使用,修改或用于商业用途。
我们希望通过这个项目,能够帮助大家了解 AI 硬件开发,将当下飞速发展的大语言模型应用到实际的硬件设备中。
如果你有任何想法或建议,请随时提出 Issues 或加入 Discord 或 QQ 群:1011329060
