站内搜索
更多
像素桌面宠物v1.0
专业版

像素桌面宠物v1.0

简介

一款集复古美学与智能交互于一体的电子宠物摆件。调用大语言模型,支持语音多轮互动,兼具科技感与治愈感。

简介:一款集复古美学与智能交互于一体的电子宠物摆件。调用大语言模型,支持语音多轮互动,兼具科技感与治愈感。
复刻成本:200

开源协议

CC BY-NC-SA 4.0

(未经作者授权,禁止转载)
创建时间:2026-06-01 19:42:17更新时间:2026-06-17 09:33:50

描述

NeoMate

项目简介

NeoMate 是一款基于 ESP32-S3 的智能像素灯桌面摆件与 AI 语音助手一体化设备。它将 192 颗 WS2812 全彩灯珠 组成的 8×24 像素矩阵、阿里云 Qwen3-8B 大模型语音对话、TTS 语音合成、MPU6050 姿态感应、环境光自适应等多种功能融于一体,既可作为酷炫的桌面氛围灯和像素动画显示器,也可作为智能语音助手随时响应你的指令。

NeoMate 具备高度可扩展性,通过配套 HTML 像素画编辑器,用户可以自由创作像素画并实时投放到设备上显示。无论是作为像素时钟、倒计时沙漏、番茄钟、音乐频谱可视化、粉丝数显示器、天气信息看板,还是自定义消息通知提醒,NeoMate 都能轻松胜任。


硬件组成

模块型号/规格功能说明连接引脚
主控芯片ESP32-S3 (Xtensa LX7 双核 240MHz)系统核心处理器,支持 WiFi/BLE-
内存8MB PSRAM大容量缓冲,支持音频预缓冲与像素帧缓存-
像素矩阵WS2812B (5050 封装) × 192 颗8×24 全彩像素显示面板IO4
音频功放MAX98357AI2S 数字音频功放,驱动扬声器DIN=IO16, BCLK=IO17, LRCLK=IO18, SD=IO8
麦克风INMP441I2S 数字麦克风,高信噪比录音CLK=IO5, WS=IO7, SD=IO15
姿态传感器MPU6050六轴加速度计+陀螺仪,支持手势识别SDA=IO47, SCL=IO48
光敏电阻GL5528环境光检测,自动调节亮度IO9
物理按键轻触开关 × 5用户交互输入SW1=IO39, SW2=IO38, SW3=IO37, SW4=IO36, SW5=IO35
状态指示灯LED × 3 (红×2 + 绿×1)系统状态可视化RED1=IO12, RED2=IO13, GREEN1=IO14

核心功能

1. 像素矩阵显示系统

  • 8×24 像素画布:192 颗 WS2812 灯珠构成高分辨率像素面板
  • Z 字串联布局:偶数列左→右,奇数列右→左,符合常规 LED 灯带物理走线
  • 列优先数据格式:C 数组按列存储,天然匹配 Z 字串联顺序
  • 多元素渲染引擎:支持多个独立像素元素叠加到同一画布,实现复杂场景合成
  • 像素动画支持:帧插值与实时刷新,支持平滑过渡动画
  • HTML 像素画编辑器:配套网页工具,支持调色绘画、多元素图层管理、C 数组一键导出

2. AI 语音助手

  • 阿里云 Qwen3-8B 大模型:通过百炼平台 API 进行语义理解与智能对话
  • TTS 语音合成:调用阿里云语音合成引擎,将 AI 回答转为自然语音播报
  • 双向音频交互:MAX98357A 功放播放 + INMP441 麦克风录音,完整语音闭环
  • 语音唤醒:按下 SW5 开始录音,松开或超时自动停止,录音内容经 ASR 识别后送 Qwen 处理
  • 对话历史记忆:支持多轮连续对话,上下文连贯

3. 姿态感应与交互

  • MPU6050 六轴传感器:实时读取加速度与角速度数据
  • 姿态解算:计算 Roll (横滚角) 与 Pitch (俯仰角)
  • 手势识别:通过姿态变化识别翻转、倾斜等手势动作
  • 运动交互:倾斜设备即可控制像素颜色渐变,实现物理互动

4. 环境光自适应

  • GL5528 光敏电阻:检测环境光照强度
  • 自动亮度调节:根据环境光自动调整 WS2812 显示亮度
  • 昼夜模式切换:低光环境下自动降低亮度,保护眼睛

5. 像素时钟

  • NTP 网络时间同步:自动获取北京时间,无需手动设置
  • 3×5 像素数字字体:清晰显示时、分
  • 冒号闪烁:每秒切换,直观感知时间流逝
  • 秒进度条:底部 24 格进度条实时显示秒数
  • SW1 一键切换:随时进入/退出时钟模式

软件架构

技术栈

  • 开发框架:Arduino (PlatformIO)
  • 芯片平台:ESP32-S3
  • 网络协议:WiFi + HTTP/HTTPS
  • 音频协议:I2S (双控制器分离架构)
  • 显示协议:单线 WS2812 协议 (800Kbps)
  • 传感器协议:I2C (MPU6050)

关键设计

  • I2S 双控制器分离:I2S_NUM_0 负责 INMP441 录音,I2S_NUM_1 负责 MAX98357A 播放,避免硬件冲突
  • PSRAM 预缓冲:音频流数据预先缓存到 PSRAM,平滑网络波动
  • 分块传输容错:HTTP Chunked Transfer Encoding 解析增加十六进制验证与阈值检查,异常分块自动终止
  • 独立音频任务:录音读取放在 Core 1 的 FreeRTOS 独立任务中,避免与主循环抢占中断
  • 列优先像素映射:画布数据按列存储,与物理灯带 Z 字串联顺序一致,渲染时无需额外坐标转换

项目文件说明

文件说明
esp-rea/src/main.cpp核心固件源码,包含 WiFi 连接、TTS 播放、Qwen API 调用、传感器读取、灯带控制、录音功能、时钟显示
esp-rea/platformio.iniPlatformIO 配置文件,启用 PSRAM,指定 ESP32-S3 开发板
pixel_editor.htmlHTML 像素画编辑器,支持元素绘制、调色、C 数组导出
README.md项目介绍文档
.trae/rules/espio配置.md硬件 IO 引脚定义文档

扩展应用场景

NeoMate 具备高度可扩展性,通过软件更新即可实现以下功能:

  • 像素时钟:实时显示网络时间,支持多种颜色主题
  • 倒计时沙漏:可视化倒计时,适合专注工作
  • 番茄钟:25 分钟专注 + 5 分钟休息循环
  • 音乐频谱可视化:实时分析音频频率,显示动态频谱条
  • 粉丝数显示器:对接 B站/YouTube API,实时显示粉丝数变化
  • 天气信息展示:对接天气 API,显示温度、天气图标
  • 消息通知提醒:手机推送转像素通知图标
  • 纪念日倒计时:显示距离特定日期的剩余天数
  • 环境数据监测:显示温湿度、PM2.5 等数据
  • 运动数据同步:显示步数、卡路里等健康数据
  • 氛围灯:静态或动态色彩照明,支持呼吸、渐变、彩虹等效果
  • 像素相册幻灯片:轮播多张像素画
  • 自定义游戏平台:贪吃蛇、俄罗斯方块等经典像素游戏

使用说明

基础操作

  1. 上电启动:连接 USB 供电,设备自动连接 WiFi 并同步 NTP 时间
  2. 语音对话:按下 SW5 说话,松开自动识别并播报 AI 回答
  3. 时钟模式:按 SW1 切换到时钟显示,再按退出
  4. 姿态灯效:倾斜设备,灯带颜色随俯仰角变化
  5. 像素画投放:使用 pixel_editor.html 绘制图案,复制 C 数组到代码中编译上传

串口交互

连接串口监视器 (115200 波特率),输入文字即可直接发送给 Qwen 对话,无需语音。


开发信息

  • 开发环境:PlatformIO + VS Code
  • 目标板:Espressif ESP32-S3-DevKitC-1
  • Arduino 版本:2.0.17
  • 主要依赖:Adafruit NeoPixel, ArduinoJson, HTTPClient, WiFiClientSecure

https://github.com/Liam-rasberrypi/NeoMate
NeoMate —— 你的桌面像素伴侣,拥有无限可能。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
pixel_editor.html
4
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航