描述
<h3 style="line-height:1.8;">1、项目功能介绍</h3>
<hr>
<div>
<div>主控用的是 [立创·开源SF32LB52模组](<u>https://item.szlcsc.com/45024582.html</u>),一款蓝牙低功耗芯片,频率 <strong>240MHz</strong>,集成 8MB PSRAM 和 16MB Flash,支持锂电池直接供电。BLE 连接功耗(1S间隔)仅需 7μA,BT连接功耗(1S间隔)仅需 10μA,BLE + BT 双连接功耗比同行单BT连接功耗还能降低 60%。</div>
<div> </div>
<div>模组支持 BT PAN 功能可以直接连接手机上网,相比 WIFI 功耗更低,更加适合电池场景,带屏连接功耗仅 <strong>30mA</strong>。小智ai可以与人闲聊。</div>
<div> </div>
<div> </div>
</div>
<h3>*2、项目属性</h3>
<hr>
<p> </p>
<ol>
<li>项目公开情况:本项目为首次公开,此前未以任何形式(包括但不限于开源平台发布、线下活动展示、线上社群分享等)对外披露过核心设计方案、硬件电路细节及软件程序代码,本次公开为项目技术与功能的首次完整呈现。</li>
<li>项目原创性:本项目属于原创项目,从核心功能定义、硬件选型与电路设计(基于立创开源蓝牙模组进行针对性适配与拓展),到 AI 语音交互逻辑开发、情感识别算法的集成与调试,均由项目团队独立完成,未抄袭、借鉴其他已公开项目的核心技术方案或设计思路,具备完整的原创设计属性。</li>
<li>项目获奖情况:截至目前,本项目尚未参与过任何比赛,因此暂无相关比赛获奖记录。后续项目团队计划结合项目优化进展,选择性参与开源硬件、智能电子类相关赛事,进一步验证项目的技术价值与应用潜力。</li>
<li>学校答辩参与情况:本项目未在学校参加过答辩,当前阶段主要为依托立创设计指导完成的独立技术实践项目,暂未与学校课程设计、毕业设计等学术环节挂钩,故未进入学校答辩流程。</li>
</ol>
<p> </p>
<h3>* 3、开源协议</h3>
<hr>
<p>本项目严格遵循 GPL3.0(GNU General Public License Version 3.0)开源协议 进行开发与公开。作为一款注重自由与协作的开源项目,我们将完全遵守协议核心条款:允许任何开发者对项目进行自由使用、修改、复制与分发,同时要求基于本项目衍生的二次开发作品,也需以相同的 GPL3.0 协议开源,确保开源生态的透明性与延续性,杜绝闭源滥用,保障每一位使用者与贡献者的合法权益。</p>
<p>我们始终坚信 “拥抱开源,赋予项目无限价值” 的理念。开源不仅能让项目突破单一团队的视野局限,吸引全球开发者参与优化 —— 无论是修复潜在 bug、提升语音交互效率,还是拓展情感识别场景,都能借助集体智慧实现迭代;更能为电子爱好者、学生群体提供可学习、可实践的完整案例,降低 AI 硬件开发的入门门槛,推动开源技术在智能交互领域的普及与应用。</p>
<div>为确保开发者能完全复现项目、自由进行二次开发,本项目核心资源已实现 100% 开源,具体包含以下维度:</div>
<ul>
<li>硬件设计资源:完整的原理图(标注清晰的电路连接、元件参数)、PCB 设计文件(含布局规划、布线规则、封装库),以及详细的物料清单(BOM 表),明确标注各元件的型号、规格、采购渠道,方便开发者直接采购与焊接。</li>
<li>结构设计资源:3D 外壳模型文件(支持 3D 打印,包含外壳拆分、装配接口设计),开发者可根据需求调整外壳尺寸、外观,适配不同使用场景。</li>
<li>软件核心代码:包含 AI 语音交互逻辑代码(语音唤醒、语义识别、响应生成)、情感识别算法代码(情绪特征提取、分类模型)、蓝牙模组通信代码等,代码注释详尽,附带开发文档说明开发环境搭建、代码编译与烧录流程,确保开发者能快速上手调试。</li>
</ul>
<div> </div>
<div>基于 GPL3.0 开源协议精神及项目特性,特作如下免责声明:</div>
<p> </p>
<ol>
<li>
<div>本项目所有开源内容(包括但不限于硬件设计、软件代码、结构模型等)均以 “现状(AS IS)” 提供,开发者团队不对其适用性、可靠性、安全性作任何明示或暗示的担保。使用者需自行评估项目是否符合自身需求,并承担因使用、修改、二次开发本项目而产生的全部风险。</div>
</li>
<li>
<div>对于因使用本项目可能导致的任何直接或间接损失(包括但不限于硬件损坏、数据丢失、业务中断、第三方索赔等),项目开发团队不承担任何法律责任,无论该损失是否因使用或无法使用本项目的结果、项目中的缺陷或其他原因引起。</div>
</li>
<li>
<div>使用者在基于本项目进行二次开发或商业应用时,需自行确保其产品符合相关国家或地区的法律法规、行业标准及安全规范,由此产生的合规性责任由使用者自行承担。</div>
</li>
<li>
<div>项目中涉及的第三方库、开源组件等,其使用许可遵循各自的开源协议,本项目开发团队不对第三方组件的合法性、安全性及功能完整性负责。</div>
</li>
</ol>
<p> </p>
<div>请所有使用者在获取、使用本项目开源内容前仔细阅读以上声明,一旦使用即视为认可并接受本免责声明的全部条款。</div>
<h3 style="line-height:1.8;">*4、硬件部分</h3>
<hr>
<div>在本项目中,直接让电池电源直连模组的电源输入引脚 VSYS。这里需要注意<code>该模组电压范围要求 3.7V~4.7V</code>。3.3V 和 5V 供电都不行。</div>
<div> </div>
<div>模组的 VDD33_VOUT2 是由软件控制输出的,需要芯片正常启动后才有输出3V3。</div>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*5、软件部分</h3>
<hr>
<p style="line-height:1.8;">固件下载烧录<br>硬件准备<br>前置准备<br>因训练营中每位同学的设计都有可能不同,在此仅介绍参考设计的硬件,有改动的同学可以进行参考并针对自己的板子进行相关调整。<br>1. 准备一个 立创商城 CH340X 串口模块<br>2. 准备一个 CR123A 电池,需要注意在后续的下载过程中,电池的电量需要保持充足。因为该板子没有其他供电路径,串口模块无法供电!!<br>连接喇叭<br>应该将喇叭连接到板子的喇叭连接器上,注意该板子的功放最大输出功率仅有 1W,建议使用 8Ω的喇叭。<br>连接屏幕<br>准备一块 1.69寸TFT屏幕。插在屏幕排母上即可。<br>下载程序<br>硬件连接完成即可开始下载固件<br>烧录和使用方法<br>前置准备<br>在开始之前,我们需要进行一些前置工具,请确保完成以下的步骤:<br>1. sftool: 用于SF32系列SoC芯片的烧录<br>2. 下载固件:<br>开发板的固件位于 https://github.com/78/xiaozhi-sf32/releases,我们下载最新release版本的压缩包。需要注意的是,我们一共需要bootloader.bin、ER_IROM2.bin、ER_IROM3.bin、ER_IROM1.bin 和ftab.bin这五个文件。<br>建议先下载sftool工具,下载完成后将这些文件放在sftool文件夹中,与sftool.exe同一路径。<br>3. 开发板对应固件:小汤圆直插版(立创训练营): sf32lb52-xty-ai-tht.zip<br>下载sftool<br>sftool 是一个开源软件,可以在GitHub 上找到它的源码。不过我们现在并不需要关心源码,只需要下载编译好的二进制文件即可。<br>我们可以在Release 页面中找到最新版本的sftool,其中最靠前的版本并且有着Latest绿色标签的就是最新版本。例如我现在的最新版本上0.1.5,看起来是这样的:<br>接下来我们需要选择合适的版本。我们需要根据自己的操作系统和CPU架构来选择合适的版本。sftool支持Linux、Windows和MacOS等操作系统,支持x86_64和aarch64等CPU架构。例如我们是Windows 64bit操作系统,我们就应该选择 sftool-0.1.5-x86_64-pc-windows-msvc.zip这个版本,同样的,如果是Windows 32bit的版本,我们就应该选择sftool-0.1.5-i686-pc-windows-msvc.zip这个文件镜像下载。特别的,如果您找不到您系统的文件,那可能需要点击一下Show all assets按钮。<br>下载完成之后,我们需要解压这个文件,解压之后我们会得到一个命令行工具,在windows上它的后缀是.exe(sftool.exe),在Linux和MacOS上没有后缀(sftool)。需要注意的是,windows的资源管理器可能会忽略文件的后缀名,因此看起来可能也是sftool。<br>对于中国大陆地区用户,可以无法访问Github,因此可使用国内镜像加速链接。例如原链接为:https://github.com/OpenSiFli/sftool/releases/download/0.1.5/sftool-0.1.5-x86_64-pc-windows-msvc.zip,那么我们就将github.com替换为downloads.sifli.com/github_assets,变成https://downloads.sifli.com/github_assets/OpenSiFli/sftool/releases/download/0.1.5/sftool-0.1.5-x86_64-pc-windows-msvc.zip,就可以加速下载了。<br>sftool 命令格式及使用方法<br>sftool是一个命令行工具,它有一套自己的命令格式,一般的命令规则如下:<br>sftool [选项] [选项值] [命令] [命令选项]<br>全局选项<br>- -c, --chip : 目标芯片类型 (目前支持SF32LB52)<br>- -m, --memory : 存储类型 [nor, nand, sd] (默认: nor)<br>- -p, --port : 串行端口设备路径<br>- -b, --baud : 闪存/读取时使用的串口波特率 (默认: 1000000)<br>- --before : 连接芯片前的操作 [no_reset, soft_reset] (默认: no_reset)<br>- --after : 工具完成后的操作 [no_reset, soft_reset] (默认: soft_reset)<br>- --connect-attempts : 连接尝试次数,负数或0表示无限次 (默认: 7)<br>- --compat : 兼容模式,如果经常出现超时错误或下载后校验失败,则应打开此选项。<br>写入闪存命令<br># Linux/Macsftool -c SF32LB52 -p /dev/ttyUSB0 write_flash [选项] <文件@地址>...# Windowssftool -c SF32LB52 -p COM9 write_flash [选项] <文件@地址>...<br>写入闪存选项<br>- --verify: 验证刚写入的闪存数据<br>- -u, --no-compress: 传输期间禁用数据压缩<br>- -e, --erase-all: 在编程前擦除所有闪存区域(不仅仅是写入区域)<br>- <文件@地址>: 二进制文件及其目标地址,如果文件格式包含地址信息,@地址部分是可选的<br>示例<br>Linux/Mac:<br># 写入单个文件到闪存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<br>Windows:<br># 写入多个文件到不同地址sftool -c SF32LB52 -p COM10 write_flash bootloader.bin@0x12010000 app.bin@0x12020000 ftab.bin@0x12000000# 其它同上<br>烧录固件<br>使用sftool工具烧录固件,打开终端之后输入如下命令(Windows):<br>!!!需要注意的是:命令中的 ./sftool.exe 中的斜杠,在不同操作系统中有不同的表现: windows是反斜杠,linux是斜杠。<br>下面是1.2.0-1.2.2版本的烧录命令:<br>./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<br>1.3.0版本则应该使用下列命令:<br>./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<br>bootloader.bin、ER_IROM2.bin、ER_IROM3.bin、ER_IROM1.bin 和ftab.bin是你下载的固件文件名,建议使用绝对路径引用,如果路径中出现中文或者空格请用"将路径括起来。<br>其中COM3是你连接开发板的串口号,可能会有所不同,请根据实际情况修改。<br>可以打开设备管理器查看对应串口号:'COM'后面接着的数字就是串口号<br>没有意外的话,烧录完成之后会自动重启运行,屏幕应该被点亮。<br><br></p>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;"> </h3>
<p style="line-height:1.8;"> </p>
评论(0)