站内搜索
发作品签到
专业版

默语小智管家(ESP32-S3版)

工程标签

744
0
0
2

简介

基于ESP32-S3的小智实现

简介:基于ESP32-S3的小智实现
智能音频电子创新设计征集令

开源协议

GPL 3.0

创建时间:2025-05-15 00:25:28更新时间:2025-06-20 14:43:32

描述

该设备基于乐鑫ESP32-S3-WROOM-I-N4主控,配置如下:

- **音频模块**:麦克风采用INMP441,功放模块使用MAX98357A,且板载天问ASR-PRO核心板。

- **灯光控制**:可控制WS2812B灯珠、5050RGB灯珠。

- **其他功能组件**:具备红外收发功能,还配有光敏电阻、雷达模组。

 

 

一、项目背景与目标

本项目旨在开发一款高度集成的智能控制板,集成语音识别、环境感知、显示控制和智能交互功能。通过优化硬件设计和软件架构,实现以下目标:

 

  • 兼容多种传感器和执行器,支持灵活扩展
  • 实现语音控制、红外遥控、环境感知等多元交互方式
  • 优化 PCB 布局,解决多层信号干扰问题
  • 提供友好的用户界面和便捷的开发接口

二、硬件设计优化

1. 核心硬件选型与资源分配

组件 型号 功能说明
主控芯片 ESP32-S3-WROOM-1-N4 双核处理器,4MB 闪存,支持 WiFi/BLE,更换N16R8可以支持语音唤醒
ASR 模块 天问 ASR-PRO 离线语音识别,支持唤醒词和命令词识别
麦克风 INMP441 高灵敏度数字麦克风,内置前置放大器
功放模块 MAX98357A 3.2W 单声道 D 类音频放大器,低功耗高效率
显示模块 1.54 寸 TFT(ST7735) 128×160 分辨率,SPI 接口
环境传感器 SHT40 + 光敏电阻 高精度温湿度传感器 + 环境光检测
运动检测 安信可 RD-03 / CEM5826-M11 毫米波雷达,支持人体存在检测和运动跟踪
姿态传感器 MPU-6050 6 轴加速度计 + 陀螺仪,用于姿态检测
灯光控制 WS2812B + 5050RGB 智能 RGB 灯珠,支持全彩显示
红外控制 红外收发模块 支持家电红外控制和信号学习

2. PCB 设计优化

针对前期打板发现的问题,进行了以下改进:

 

  • 修正 INMP441 麦克风座子孔径,确保 2.54mm 排针顺利插入
  • 优化 MAX98357A 功放模块布局,调整喇叭接口位置和极性
  • 增加 0Ω 电阻跳线选项,支持不同型号雷达模块切换
  • 优化 ESP32-S3 烧录接口,确保固件更新便捷
  • 增加关键信号测试点,方便调试和故障排查

3. 接口定义标准化

功能 引脚分配 通信协议 备注
TFT 屏幕 IO42(SCLK)/IO41(MOSI)/IO39(DC)/IO40(RST)/IO38(CS) SPI 1.54 寸 ST7789
WS2812B IO14/ASR_PC4 单线协议 -
红外接收 ASR_PA2 - IRM-3638
红外发射 ASR_PA0 - IR333-A/XL-2012IRC-940
雷达模块 IO17(RX)/IO18(TX)/IO46(OUT) UART + 数字 IO 支持 RD-03/CEM5826-M11,OUT可接ASR_PA1
I2C 总线 IO41(SDA)/IO42(SCL) I2C 连接 SHT40、MPU6050、OLED
光敏电阻 IO9(ADC1_CH8) 模拟输入 -

三、软件仓库

基于虾哥小智面包板代码修改:https://github.com/molun/xiaozhi-esp32

编译时选择:默语小智管家ESP32-S3版

引脚定义:
 
#ifndef _BOARD_CONFIG_H_
#define _BOARD_CONFIG_H_

#include

#define AUDIO_INPUT_SAMPLE_RATE  16000
#define AUDIO_OUTPUT_SAMPLE_RATE 24000

// 如果使用 Duplex I2S 模式,请注释下面一行
#define AUDIO_I2S_METHOD_SIMPLEX

#ifdef AUDIO_I2S_METHOD_SIMPLEX

#define AUDIO_I2S_MIC_GPIO_WS   GPIO_NUM_5
#define AUDIO_I2S_MIC_GPIO_SCK  GPIO_NUM_4
#define AUDIO_I2S_MIC_GPIO_DIN  GPIO_NUM_6
#define AUDIO_I2S_SPK_GPIO_DOUT GPIO_NUM_7
#define AUDIO_I2S_SPK_GPIO_BCLK GPIO_NUM_15
#define AUDIO_I2S_SPK_GPIO_LRCK GPIO_NUM_16

#else

#define AUDIO_I2S_GPIO_WS GPIO_NUM_4
#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_5
#define AUDIO_I2S_GPIO_DIN  GPIO_NUM_6
#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_7

#endif


#define BUILTIN_LED_GPIO        GPIO_NUM_14
#define BOOT_BUTTON_GPIO        GPIO_NUM_0
#define TOUCH_BUTTON_GPIO       GPIO_NUM_21
#define VOLUME_UP_BUTTON_GPIO   GPIO_NUM_NC
#define VOLUME_DOWN_BUTTON_GPIO GPIO_NUM_NC

#define DISPLAY_SDA_PIN GPIO_NUM_41
#define DISPLAY_SCL_PIN GPIO_NUM_42
#define DISPLAY_WIDTH   128

#if CONFIG_OLED_SSD1306_128X32
#define DISPLAY_HEIGHT  32
#elif CONFIG_OLED_SSD1306_128X64
#define DISPLAY_HEIGHT  64
#elif CONFIG_OLED_SH1106_128X64
#define DISPLAY_HEIGHT  64
#define SH1106
#else
#error "未选择 OLED 屏幕类型"
#endif

#define DISPLAY_MIRROR_X true
#define DISPLAY_MIRROR_Y true


// A MCP Test: Control a lamp
#define LAMP_GPIO GPIO_NUM_18

#endif // _BOARD_CONFIG_H_
 
编译配置:
{
    "target": "esp32s3",
    "builds": [
        {
            "name": "MolunSmartHome-ESP32S3",
            "sdkconfig_append": [
                "CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y",
                "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/4m.csv\"",
                "CONFIG_OLED_SSD1306_128X32=y"
            ]
        },
        {
            "name": "MolunSmartHome-ESP32S3-128x64",
            "sdkconfig_append": [
                "CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y",
                "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/4m.csv\"",
                "CONFIG_OLED_SSD1306_128X64=y"
            ]
        }
    ]
}


注意,需要关掉语音唤醒和PSRAM。如果使用N16R8模组,按照默认配置编译即可。

设计图

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

BOM

暂无BOM

3D模型

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

附件

序号文件名称下载次数
1
ESP32S3 4M Flash模组成功运行虾哥小智.mp4
1
2
虾哥小智源码编译演示.mp4
1
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航