
视觉语音互动桌面宠物 + 上位机控制
简介
一个基于 ESP32-S3 的智能桌宠,能通过摄像头看到你,听懂你的话,并做出反应。具备多种行动模式。
简介:一个基于 ESP32-S3 的智能桌宠,能通过摄像头看到你,听懂你的话,并做出反应。具备多种行动模式。开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
视频链接:
B站视频--功能演示及介绍v1.1
当前版本为v1.1
项目简介
本项目是基于 ESP32 的智能桌宠,通过接入AI大模型,以实现桌宠智能,桌宠能通过摄像头看到你,听懂你的话,并做出反应。具备自动控制、手动控制、语音控制等多种行动模式。
项目功能
本项目分上下位机,下位机即是桌宠,上位机主要控制桌宠行动模式。
三种控制模式:
- 自动模式:通过开关图片检测、人脸检测按键,桌宠将通过视觉识别图片或人脸,主动靠近识别到的图片或人脸;
可通过添加图片按键选择图片,让图片检测功能可检测任意图片;
“自动巡游”按键开启后可让桌宠自动观察周围,随机行走,行走过程中桌宠会自言自语;

- 手动模式:通过上位机按键控制前进/后退/左右转向,支持组合动作序列自定义复杂行为;

- 语音模式:自然语言对话控制(如“向左转”“讲个笑话”),桌宠会语音回应,并可开启/关闭“主动对话”与“自主移动”开关,支持短期记忆,OLED 实时显示表情。
(若将 ESP32 IP 设为 0,此时语音模式无需硬件,直接调用电脑麦克风和扬声器,即可体验完整的语音交互与 AI 对话功能)。

用户交互流程
- 桌宠上电后,若为首次使用或 Wi-Fi 配置丢失,会自动创建一个配置热点。用户通过电脑连接该热点,在上位机软件中输入目标 Wi-Fi 信息,桌宠即可连入局域网,并播放连接成功音效。
- 桌宠连接Wi-Fi成功后,用户在上位机填写四个关键参数(本机 IP、UDP 端口、ESP32 IP、API 密钥),即可看到桌宠摄像头的实时画面,并启用三种控制模式。

项目参数
ESP32端开发
硬件构成
- 主控:ESP32-S3-N16R8
- 视觉模块:OV2640 摄像头(JPEG 输出,DVP 接口)
- 音频模块:INMP441 数字麦克风(I²S 接口) + MAX98357音频功放(I²S接口)
- 动作执行:SG90 舵机(PWM 控制)
- 显示模块:0.96寸OLED(I²C 接口,显示桌宠表情)
- 电源管理:Mini360 降压模块(两节锂电池 → 5V)
软件开发 - 开发环境:VS Code + ESP-IDF(v5.5+)
- 编程语言:C(基于 FreeRTOS 多任务架构)
数据传输 - MJPEG 视频流服务器(HTTP)
- UDP 客户端(向本地 PC 发送图像/音频数据)
上位机开发
- 开发语言:Python 3 11
- 语音识别(ASR):Vosk(离线中文模型)
- 大模型推理:智谱 AI 模型:GLM-4V-Flash(多模态,接收图像+文本,生成指令)
- 语音合成(TTS):Piper-TTS(本地部署,生成音频)
软件代码下载链接
百度网盘下载链接
提取码: uwcq
版本更新
v1.1
初始配置界面增加Config按键,如果桌宠无法连接至Wi-Fi,桌宠自身产生一个Wi-Fi,上位机所在电脑连接这个Wi-Fi,之后可通过上位机的初始配置界面的Config按键修改桌宠连接Wi-Fi。
自动模式增加“选择图片”、“自动巡游”按键。
“选择图片”按键可添加图片,让图片检测功能可检测任意图片。
“自动巡游”按键开启后可让桌宠自动观察周围,随机行走,行走过程中会自言自语。
其余未变,参考视频。
注意事项
问题一:可能出现上位机无法接收 ESP32 数据
原因:Windows 防火墙阻止了 Python 的入站 UDP 连接。
解决:在 Windows Defender 防火墙 → 入站规则 中,为当前 Python 添加允许 UDP 的规则。
实物图

图1 上板

图2 下板

图3 组装后
造价

设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










