站内搜索
更多
#第十届立创电赛#小智AI项目 5655976A
专业版

#第十届立创电赛#小智AI项目 5655976A

310
0
0
1

简介

插件版小智AI是一款基于立创开源蓝牙模组的简易AI语音对话机器人,实现实时语音对话、情绪识别、问题解答。它硬件紧凑,低功耗,为用户提供智能、便携的交互体验。

简介:插件版小智AI是一款基于立创开源蓝牙模组的简易AI语音对话机器人,实现实时语音对话、情绪识别、问题解答。它硬件紧凑,低功耗,为用户提供智能、便携的交互体验。
第十届立创电子设计开源大赛
复刻成本:100

开源协议

Public Domain

创建时间:2025-08-14 20:30:22更新时间:2025-09-26 10:06:18

描述

* 1、项目功能介绍


  • AI实时语音对话: 实现与用户的流畅、自然的实时语音交流。
  • 情绪识别: 通过语音分析洞察用户情绪,做出更人性化的回应。
  • 解答疑惑: 提供实用信息和解决方案,作为智能助手解答用户问题。
  • 分享快乐: 具备情感交互能力,可理解并回应用户积极情绪。

基于立创开源蓝牙模组SF32LB52模组)开发的简易AI对话机器人,支持实时语音对话。该系统能够捕捉并理解用户的情绪,解答疑问,分享喜悦,带来自然流畅的互动体验。

要点要素:

  • 技术基础:采用立创开源蓝牙模组,嵌入式实现,低功耗、高稳定性。
  • 功能亮点:
    • 实时语音对话:高质量语音输入输出,响应快速。
    • 情绪理解:对用户情绪进行识别与响应,提升互动自然度。
    • 智能问答:覆盖日常疑问与常用知识,提供精准解答。
    • 情感陪伴:在对话中分享用户的快乐,提供积极互动。
  • 使用场景:日常陪伴、学习助手、小型智能家居场景的语音交互入口等。
  • 用户价值:简化交互、增强沉浸感、便携式AI对话伙伴。
  • 技术前景:可拓展为多模态输入、个性化对话、云端/离线混合部署等方向。

 

 

*2、项目属性


  • 是否首次公开:否,本项目非首次公开。
  • 是否为原创: 否,本项目为复刻作品,所有硬件设计、软件编程及结构设计均为开发团队完成。
  • 是否曾经在其他比赛中获奖: 是,本项目曾在其他比赛中获奖。
  • 是否在学校参加过答辩: 否,本项目暂未在学校参加过答辩。

* 3、开源协议


利他即利己,拥抱开源,赋予项目无限价值。

本项目秉持开源精神,旨在促进技术交流与共享。项目核心功能(AI实时语音对话、情绪识别等)将开源80%以上,确保项目的透明度和可复制性。

项目核心功能界定:

本项目中,基于立创开源蓝牙模组实现的AI实时语音对话功能,包括语音输入、AI处理(情绪识别、语义理解)和语音输出的完整闭环,被视为项目的核心功能。此功能是本项目能够解决用户AI语音交互问题的基石。

开源协议选择:

本项目原创部分推荐使用 GPLv3.0 开源协议

引用说明:

若本项目在开发过程中引用了其他开源项目,我们将严格遵守原项目的开源协议规定,并会在对应的代码或文档中清晰注明来源。

非核心功能说明:

  • 本项目中使用的立创开源蓝牙模组本身的功能(如BLE连接、BT PAN等)是其作为通用模块所实现的功能,不作为本项目的核心功能。
  • LM4871音频功放芯片实现的音频放大功能,作为通用模块的直接应用,不作为本项目的核心功能。

我们相信,通过开源共享,本项目将吸引更多开发者参与,共同完善和拓展其功能,使其在更广泛的领域发挥价值。

 

 

*4、硬件部分


完整原理图

电源部分

采用单节CR123A电池供电,通过SW1开关控制电源通断。CR123A电池电压3.7V,尺寸34x16.5mm,带有Type-C接口,方便直接充电。模组VSYS引脚直接连接电池电源,需注意模组电压范围要求3.7V~4.7V

电源和开关部分

主控部分

核心采用立创·开源SF32LB52模组,该模组是一款高性能、低功耗的蓝牙芯片,频率240MHz,集成8MB PSRAM和16MB Flash,支持锂电池直接供电。模组支持BT PAN功能,可直接连接手机上网,功耗更低,适用于电池供电场景。主控部分

 

模组与外设连接:

  • 屏幕连接: 通过GND、VDD33_VOUT2、PA04(SCL)、PAO5(SDA)、PAOO(RES)、PA06(D/C)、PAO3(CS)、PA42(BLK)引脚与1.69寸TFT屏幕连接。
  • 麦克风连接: 通过GND、MIC_BIAS上拉+MIC_ADC_IN直连,实现语音输入。
  • 按键连接: PA39用于用户自定义功能按键,PA34用于唤醒键。
  • 功放喇叭连接: 通过GND、VSYS、AUDACIP_OUT、AU_DACIN_OUT、IN_Shutdown引脚与功放芯片连接,驱动喇叭。
  • 灯连接: PA32用于用户自定义功能的LED灯。

音频功放部分

采用LM4871芯片,一款3W单声道AB类音频功率放大器,工作电压1.9V-5.5V。电路设计参考典型应用电路,并对器件参数进行优化以兼顾成本和性能。功放的Shutdown引脚(1脚)通过R4电阻默认为高电平(停止工作),由主控PA26引脚输出低电平控制功放开启,实现按需供电。声音大小通过R7、R8电阻调节,噪声通过C2、C5电容滤除。

音频功放部分

典型应用电路中,用到了 10K 20K 1UF 0.39UF 等器件,而我们为了购买器件少一点,让电路更简洁,将电阻统一改为 10K,电容改为常用的 100nF(0.1UF) 和 22UF。实测没有问题。

麦克风部分

 
麦克风咪头(通常为驻极体话筒)的核心是一个可振动的极板(振膜)与固定背极板组成的电容。
 
当声音振动波作用在振膜上时,会导致其与背极板的距离动态变化,从而改变电容值。当有声音时,器件内部电容发生变化,这一变化会引发电容两端的电荷移动,产生微弱的交流电信号(模拟信号)。
 
但是虽然麦克风内部的驻极体材料自带永久电荷(无需外部供电维持电场),即使没有电源输入,麦克风也能够使用,但是为了确保麦克风能够正常稳定的工作,通常是需要提供一个基准电压(通常2~5V),使内部电容处于预充电状态,确保声音引起的电容变化能转换为有效电流信号。
麦克风部分
 
在原理图中,R3 电阻的作用就是给麦克风的正极输入一个基准电压MIC_BIAS,这个电压是由模组控制输出的,由模组控制则可以在要用时才输出,不用时关闭,实现低功耗。R3 的电阻值为 10K,测试效果能够接受,过低则采集的音频信号弱,过高则易引入噪声。
 
在原理图中,U4 电容的作用就是对采集的信号进行滤波,滤除高频噪声,大多是滤除滋滋滋的声音或者声音沙哑问题。

屏幕显示部分

屏幕显示部分

幕显示使用的是 1.69寸TFT屏幕,采购自 金逸晨1.69寸TFT液晶屏ST7789小屏240x280显示器LCD圆角屏SPI彩屏
屏幕通过SPI协议控制,供电 3.3V。
 
这里SPI的通信控制信号引脚,可以使用主控的硬件SPI外设,实现更高的通信速率,更快的屏幕刷新。但是使用主控的硬件SPI外设,则需要选择特定的引脚。
 
模组与屏幕的连接
模组
1.69寸TFT屏幕
说明
GND
GND
屏幕电源地
VDD33_VOUT2
VCC
屏幕电源输入
PA04
DO(SCL)
屏幕通信时钟引脚
PA05
D1(SDA)
屏幕通信数据引脚
PA00
RES
屏幕屏幕复位引脚
PA06
D/C
屏幕读写功能引脚
PA03
CS
屏幕通信片选引脚
PA42
BLK
屏幕背光控制引脚,高电平屏幕背光亮
模组的引脚复用表
模组的引脚复用表

按键部分

 
每一个项目基本都需要有人机交互部分,本项目通过按键进行控制,U2 PA34_KEY 是唤醒键 + 语音输入键,按下 U4按键可以让主控从低功耗睡眠状态唤醒,当主控正在工作时,按下按键进行语音输入。
按键部分
 
U3按键目前待定用途,设计出来备用。

 

指示灯部分

LED指示灯
 
用于指示模组状态。通过模组IO控制。IO输出低电平LED灯亮,IO输出高电平LED灯灭。

下载部分下载电路

 
 
模组的下载是通过串口进行下载的,必须使用 PA18 和 PA19 引脚下载。
可以使用大部分的下载器本项目推荐直接使用 CH340X 模块的接口作为下载器。
 

 

 PCB设计

AI小智_PCB

*5、软件部分


前置准备

在开始之前,我们需要进行一些前置工具,请确保完成以下的步骤:
  1. sftool: 用于SF32系列SoC芯片的烧录
  2. 下载固件: 开发板的固件位于 https://github.com/78/xiaozhi-sf32/releases,我们下载最新release版本的压缩包。需要注意的是,我们一共需要bootloader.binER_IROM2.binER_IROM3.binER_IROM1.binftab.bin这五个文件。 建议先下载sftool工具,下载完成后将这些文件放在sftool文件夹中,与sftool.exe同一路径。
  3. 开发板对应固件: sf32lb52-xty-ai-tht.zip

sftool 命令格式及使用方法

sftool是一个命令行工具,它有一套自己的命令格式,一般的命令规则如下:
 
sftool [选项] [选项值] [命令] [命令选项]
 
全局选项
  • -c, --chip : 目标芯片类型 (目前支持SF32LB52)
  • -m, --memory : 存储类型 [nor, nand, sd] (默认: nor)
  • -p, --port : 串行端口设备路径
  • -b, --baud : 闪存/读取时使用的串口波特率 (默认: 1000000)
  • --before : 连接芯片前的操作 [no_reset, soft_reset] (默认: no_reset)
  • --after : 工具完成后的操作 [no_reset, soft_reset] (默认: soft_reset)
  • --connect-attempts : 连接尝试次数,负数或0表示无限次 (默认: 7)
  • --compat : 兼容模式,如果经常出现超时错误或下载后校验失败,则应打开此选项。
写入闪存命令
 
# Linux/Macsftool -c SF32LB52 -p /dev/ttyUSB0 write_flash [选项] <文件@地址>...# Windowssftool -c SF32LB52 -p COM9 write_flash [选项] <文件@地址>...
 
写入闪存选项
  • --verify: 验证刚写入的闪存数据
  • -u, --no-compress: 传输期间禁用数据压缩
  • -e, --erase-all: 在编程前擦除所有闪存区域(不仅仅是写入区域)
  • <文件@地址>: 二进制文件及其目标地址,如果文件格式包含地址信息,@地址部分是可选的
示例
Linux/Mac:
 
# 写入单个文件到闪存sftool -c SF32LB52 -p /dev/ttyUSB0 write_flash app.bin@0x12020000# 写入多个文件到不同地址sftool -c SF32LB52 -p /dev/ttyUSB0 write_flash bootloader.bin@0x12010000 app.bin@0x12020000 ftab.bin@0x12000000# 写入并验证sftool -c SF32LB52 -p /dev/ttyUSB0 write_flash --verify app.bin@0x12020000# 写入前擦除所有闪存sftool -c SF32LB52 -p /dev/ttyUSB0 write_flash -e app.bin@0x12020000
 
Windows:
 
# 写入多个文件到不同地址sftool -c SF32LB52 -p COM10 write_flash bootloader.bin@0x12010000 app.bin@0x12020000 ftab.bin@0x12000000# 其它同上
 

烧录固件

使用sftool工具烧录固件,打开终端之后输入如下命令(Windows): !!!需要注意的是:命令中的 ./sftool.exe 中的斜杠,在不同操作系统中有不同的表现: windows是反斜杠,linux是斜杠。
下面是1.2.0-1.2.2版本的烧录命令:
 
./sftool.exe -p COM3 -c SF32LB52 write_flash bootloader.bin@0x12010000 ftab.bin@0x12000000 ER_IROM2.bin@0x12A28000 ER_IROM3.bin@0x12228000 ER_IROM1.bin@0x12020000
 
1.3.0版本则应该使用下列命令:
 
./sftool.exe -p COM3 -c SF32LB52 write_flash bootloader.bin@0x12010000 ftab.bin@0x12000000 ER_IROM2.bin@0x12A28000 ER_IROM3.bin@0x12268000 ER_IROM1.bin@0x12020000
 
bootloader.binER_IROM2.binER_IROM3.binER_IROM1.binftab.bin是你下载的固件文件名,建议使用绝对路径引用,如果路径中出现中文或者空格请用"将路径括起来。 其中COM3是你连接开发板的串口号,可能会有所不同,请根据实际情况修改。 可以打开设备管理器查看对应串口号:'COM'后面接着的数字就是串口号
没有意外的话,烧录完成之后会自动重启运行,屏幕应该被点亮。

蓝牙使用注意事项

在连接板子设备之前,请打开手机的蓝牙网络共享功能!!!
Android蓝牙使用注意事项
以下是Android手机的蓝牙设置界面,通过打开个人热点共享中的蓝牙共享网络功能。
 
 
⚠ 注意 如果iOS在蓝牙列表未看见sifli-pan 设备,请尝试重启手机。

开始使用

正确烧录固件后,开发板初始化界面如下:

激活设备

烧录固件之后,确保蓝牙共享网络已打开,这时,手机就可以连接蓝牙 sifli-pan 设备了。 以下是Android手机连接状态示例图:
⚠ 注意:一般情况下,Android连接成功后,连接的蓝牙设备会显示正在向设备共享网络(iOS不会显示),我们可以以此确定是否成功开启蓝牙网络共享
⚠ 连接上sifli-pan设备后,开发板会有连接画面提示,此时按下对话按键(参考对应硬件支持查看对话按键),xiaozhi则会提示需要登录到控制面板,填设备码。
 
 
⚠ 这个时候,打开浏览器,输入网址:https://xiaozhi.me。浏览器用手机或者电脑都可以。 进入小智 AI 的网页后,点击控制台,用手机号登录。
新建智能体填写,最后添加设备码。
这个时候拔掉开发板上的数据线再接入就可以正常使用了
 

异常情况:

  1. 对应手机的显示可能是未打开蓝牙共享直接连接sifli-pan设备
  2. 蓝牙共享网络关闭
  3. 蓝牙已断开
 

唤醒 & 重连

唤醒
长时间未对话小智会进入休眠,此时需要按下唤醒键进行唤醒(参考对应硬件支持查看唤醒键)
重连
支持重连操作:若无主动删除手机匹配列表下的sifli-pan设备,当按下唤醒键也可进行蓝牙重连(参考对应硬件支持查看唤醒键)
 

*6、BOM清单


1 BH-123A-A1CJ002 BAT1   C5290177
2 100nF C1, C2 100nF C254085
2 1uF C3, C4 1uF C62934
1 22uF C5 22uF C43346
1 PM254-2-05-W-8.5 H1   C2897425
1 DB301V-3.81-2P-GN-S H2   C2826458
1 PZ254V-11-08P H3   C492407
1 GMI6050P-36db MIC1   C233939
9 10kΩ R1, R2, R3, R4, R5, R6, R7, R8, R9 10kΩ C2903232
4 M3螺丝 SCREW1, SCREW2, SCREW3, SCREW4    
1 SK12D07VG5 SW1   C431548
1 10nF U1 10nF C2832505
2 ZX-QC66-8.5CJ U3, U4   C7470133
1 XL-502UGD U5   C2895548
1 LM4871N U6   C47089163
1 LC-OPEN-SF32LB52-MOD-N16R8 U8   C42924267

 

*7、大赛LOGO验证


 

* 8、演示您的项目并录制成视频上传


 

 

 

前往查看更多详情 >

 

设计图

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

BOM

暂无BOM

3D模型

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

附件

序号文件名称下载次数
1
立创电赛:AI小智-夏蝉不知春秋 5655976A.mp4
0
2
sf32lb52-xty-ai-tht1.3.3.zip
0
3
3DShell_3DShell_PCB1_T.stl
0
4
3DShell_3DShell_PCB1_B.stl
0
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

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

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

底部导航