当前位置: 首页 > ops >正文

初识小智AI项目

文章目录

  • 前言
  • 一、准备工作
  • 二、程序烧录
  • 三、小智配网
  • 四、配置参数更改

前言

  随着人工智能技术的飞速发展,语音交互和物联网控制已成为智能设备领域的热门方向。小智AI语音机器人的设计初衷就是将这些技术集成到廉价、易用的硬件上,为用户提供低门槛的智能语音交互能力。ESP32 系列芯片具有成本低、性能高、丰富接口等优势,且对初学者友好。“小智AI语音机器人是一款基于开源ESP32平台的创新项目,集成了大语言模型(LLM)、自动语音识别(ASR)、文本转语音(TTS)以及多语言对话功能,同时支持物联网设备控制和丰富的硬件扩展。这款机器人以零代码对接为核心优势,为开发者、创客和技术爱好者提供了一个高效、灵活的智能语音开发平台”。换言之,小智的设计理念是尽量降低开发和使用门槛,用户无需编写复杂代码,只要简单配置就能调用云端或本地的 AI 模型实现对话。 该项目解决了让普通爱好者快速搭建个人 AI 助手的问题。通过集成离线语音唤醒、在线语音识别、大模型对话和语音合成等功能,小智能够实现“说话就能听懂、听懂就能回答”的基本需求。
  “小智 AI 聊天机器人”是由虾哥开源的一个开源的语音聊天项目,基于乐鑫的 ESP32 平台开发。该项目以 MIT 许可证发布,允许任何人免费使用并用于商业用途。项目旨在帮助更多人入门 AI 硬件开发,了解如何将当下飞速发展的大语言模型 (LLM) 应用到实际硬件中,无论是对 AI 感兴趣的学生还是探索新技术的开发者都可以通过这个项目获得宝贵的学习经验。

核心功能
  小智AI聊天机器人的核心功能包括多模态语音交互和大模型集成两大部分,此外还支持联网显示和记忆管理等特性。具体而言:

  • 语音唤醒和识别:支持基于按键的手动唤醒(BOOT 键单击/长按触发)和离线语音唤醒 (基于 ESP-SR);支持流式语音识别(通过网络协议发送音频);支持 5 种语言的识别(普通话、粤语、英语、日语、韩语)。
  • 声纹识别:内置声纹模型(3D-Speaker),可以识别出喊话者是谁,实现个性化唤醒。
  • 大模型对话:可调用主流大语言模型(如 Qwen、DeepSeek、Doubao 等)进行自然语言理解与生成。用户可以在项目中配置不同的提示词和语音音色(自定义角色),灵活定义对话风格。
  • 联网与显示:硬件支持 Wi-Fi 和可选的 ML307 Cat.1 4G 模块,使机器人在无Wi-Fi环境下也能联网。设备配备OLED 或 LCD 显示屏,可用来显示信号强度、对话内容甚至图片/表情等,增强交互体验。另外,系统支持多种显示内容(文字、表情等),并支持通过 LED 灯提示状态。

以上功能使得小智能够在实时聊天、控制智能家居设备等多种应用场景下进行自然流畅的多轮语音对话。

应用场景
凭借多语言语音交互与物联网控制能力,小智AI聊天机器人可广泛应用于以下场景:

  • 智能家居:通过语音指令控制家电(如灯具、空调、温度传感器等),实现语音开关、状态查询等功能,提高居家生活智能化水平。
  • 教育与娱乐:作为 AI 启蒙工具,小智可用于语言学习、儿童教育或互动玩具开发。在对话中帮助用户学习知识或陪伴娱乐,使学习过程更加生动有趣。
  • 创客开发:项目开源且硬件模块丰富,适合作为创客社区的教育工具或原型开发平台。开发者可以在此基础上扩展功能,如定制机器人形象、增加传感器或外设等。
  • 工业与户外控制:在没有稳定 Wi-Fi 的环境下,配合 4G 模块,小智可应用于工厂设备监控或户外环境交互场景。例如语音查询工厂环境数据或远程控制设备。此外,小智也可用作桌面助手、信息查询终端等多种应用,总体来说具有家庭助手、学习陪伴、DIY 娱乐和智能控制等多面向用途。

接下来让我们开始搭建“小智AI”的软硬件。

一、准备工作

  硬件准备:ESP32-S3-DevKitC-1开发板(选择 WROOM N16R8 模组)、ICS-43434麦克风模块、MAX98357音频放大器模块、4欧3W喇叭、OLED/LCD显示屏、SYB-500 组合面包板、面包板线若干。

ESP32-S3开发板 ICS-43434麦克风
GPIO4WS 数据选择
GPIO5SCK 数据时钟
GPIO6SD 数据输出
3V3VDD 电源正
GNDGND
MAX98357A数字功放
GPIO7DIN 数字信号
GPIO15BCLK 位时钟
GPIO16LRC 左/右时钟
3V3VIN与SD短接,然后接3V3
GNDGND与GAIN短接,然后接GND
OLED显示屏(I2C接口)
GPIO41SDA 数据线
GPIO42SCK 时钟线
3V3VCC 电源正
GNDGND
4G 模块(ML307R,可选)
5VVCC与EN短接,然后接5V
GPIO11TXD 发送数据
GPIO12RXD 接收数据
GNDGND

  MAX98357A数字功放的增益设置(增益越大,信号放大效果越好),如果放大声音会失真,应该是增益小了,增加增益。

3dB在GAIN和Vin 之间连接一个 100K 电阻
6dBGAIN直接连接到Vin
9dBGAIN未连接任何东西
12dBGAIN 直接连接到 GND
15dBGAIN和GND之间连接一个 100K 电阻

  软件准备:VSCode环境搭建,可参考https://blog.csdn.net/qq_42250136/article/details/135253936?

项目源码下载:https://github.com/78/xiaozhi-esp32

下载完成后解压到任意目录备用

二、程序烧录

  1. 打开VSCode在开始页面选择打开文件夹。
    在这里插入图片描述
  2. 打开目录到电脑上自己存放的小智AI源代码解压后的跟目录。
  3. 打开 xiaozhi-esp32-main\main\boards\bread-compact-wifi 目录下的 config.h 配置头文件。
  4. 选择当前安装的IDF版本、烧录方式、烧录端口以及开发板型号。
  5. 然后构建项目,再烧录项目。每次构建项目时,建议把原来的build先清理掉。

三、小智配网

  当ESP32-S3-DevKitC-1开发板的RGB蓝灯闪烁,表示设备处于配网状态。如果不是配网状态,则重新操作第二节的第5点。
  如需重新配网,将设备保持接通电源,按下RST键松开,再按下BOOT键松开,则重新配网。

  1. 连接Xiaozhi-XXXX热点
      使用手机或电脑连接到设备的 WiFi 网络,通常以 Xiaozhi-XXXX 命名。选中并连接,等待几秒wifi热点连接成功,将自动进入选择界面,请勿提前手动关闭界面,如下图示:

      连接上热点后,会自动打开浏览器访问 http://192.168.4.1,注意:连接网络请确保在同一个局域网内。
  2. 选择并配置WIFI
      在小智热点扫描到的2.4G网络中,选择用户自己家或办公室的WIFI网络(不用手动输入wifi名称SSID),选择名称后会自动填写。在密码输入框中输入当前选择的wifi密码,点击 连接 按钮提交即可(如果是手机已经保存过的密码会自动提交)。注意:打开wifi扫描页面会有点慢,请等待5秒左右,请勿取消或关闭页面。
  3. 连接并重启设备
      在网络配置页面上,选择 WiFi 名称(仅支持 2.4G,iPhone 热点要打开“最大兼容性”选项),SSID将会自动填写,在下方输入密码,然后点击 “连接” 按钮(如上图所示)。
      如果 WiFi 名称和密码正确,设备将自动连接到 Wi-Fi,并显示 登录 成功标志,表示已经配置网络成功,设备将在 3 秒后自动重启。

      重新启动后设备将会自动连接刚才配置的WIFI网络。如果配置失败,请检查 WiFi 名称和密码是否正确,或者尝试重新配置。
      连接上互联网后,喇叭就会播报6位设备验证码,同时OLED显示屏不断显示该验证码,记住该验证码,后面添加设备要使用该验证码。
  4. 添加设备到管理后台,电脑浏览器访问 小智AI聊天机器人-控制面板 后台:https://xiaozhi.me ,如未注册请先注册账号。

    创建智能体,注意:一个小智AI智能体可以在多个设备终端中连接使用,比如你放在家里的小智AI设备和放在公司的小智AI设备共用一个智能体,对应相同的AI角色和配置以及记忆体等。

    确定提交后,新建智能体完成后,出现在智能体列表中,然后添加新设备,把6位设备验证码填写上去。
    添加完后如图所示,底部则是配置角色参数,添加多个设备等设置。注意:配置完参数后,按复位重启设备,新配置才会生效。

    以上配置完后就可以使用AI小智了。

四、配置参数更改

  1. 打开SDK配置编辑器。
  2. 更改OLED尺寸,找到Xiaozhi Assistant目录,点击该目录跳转然后根据你的OLED更改对应的驱动芯片型号和分辨率,更改完记得保存。
  3. 更改LCD显示,选择开发板类型为WiFi+LCD,然后根据你的LCD选择对应的驱动芯片型号和分辨率。

    LCD接线,打开bread-compact-wifi-lcd目录下的config.h,找到对应引脚定义,根据引脚定义接线。当然也可以根据自己需求去修改引脚定义,无固定接线。
  4. 更改4G模块联网,选择ML307 AT开发板。

    4G模块接线引脚定义。
  5. 更改唤醒词。
  6. 更改分区表,使用8M的flash就修改为 partitions_8M.csv,使用4M的flash就修改为 partitions_4M.csv。
  7. 扩展其他外设,一般在iot目录下的things子目录下创建.cc文件进行扩展,然后在对应的开发板目录下的.cc文件去引用即可。
    以上配置参数也可以通过修改对应代码去更改,建议基本了解整个项目源码后再去修改。每次更改完配置都需重新构建并烧录项目。
    经过以上说明,可初步了解AI小智项目,基本使用AI小智,后面更深入则需自己去研究。
http://www.xdnf.cn/news/10815.html

相关文章:

  • 酵母杂交那些事儿(一)
  • [Python] struct.unpack() 用法详解
  • 在 Linux 上安装 Nmap 工具
  • CSRF攻击与防御
  • 现代密码学介绍
  • 前端开发处理‘流式数据’与‘非流式数据’,在接收完整与非完整性数据时应该如何渲染和使用
  • 【产品研究】安克创新公司产品研究
  • 推荐算法八股
  • STM32外部中断(EXTI)以及旋转编码器的简介
  • 【深度学习-Day 22】框架入门:告别数据瓶颈 - 掌握PyTorch Dataset、DataLoader与TensorFlow tf.data实战
  • MongoTemplate常用api学习
  • [手写系列]从0到1开发并上线Edge浏览器插件
  • AJ-Report
  • 深拷贝与浅拷贝的区别?如何手写实现一个深拷贝?
  • 英语写作中“不少于(小于)”no less than替代no fewer than的用法
  • 【文献精读】Explaining grokking through circuit efficiency
  • virtualbox安装扩展工具以支持共享文件夹
  • Foundation Models for Generalist Geospatial Artificial Intelligence论文阅读
  • RTOS:初始化新任务(含源码复杂点解读)
  • MyBatis相关面试题
  • dvwa7——SQL Injection
  • CentOS 7镜像源替换
  • 豆包的图片生成功能基于其底层AI模型,结合了多模态大模型和图像生成技术,其核心逻辑主要包括以下几个部分:
  • mac下通过anaconda安装Python
  • 你的台式机PCIe插槽到底是几条lane
  • 电脑硬盘分几个区好
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Dad Jokes(冷笑话卡片)
  • VueScan:全能扫描,高清输出
  • 《Linux C编程实战》笔记:多路复用
  • vue3:Table组件动态的字段(列)权限、显示隐藏和左侧固定