当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]这个ESP32项目是一个令牌高效的,由gemini驱动的设备,可以从预定义的文本提示提供实时语音响应。

简介:一个“无麦克风”语音助手的案例

在一个总是监听设备的时代,我想探索另一种选择:一种智能、反应灵敏、完全由用户控制的语音助手。我的ESP32语音助手v0.1项目演示了如何构建一个强大的人工智能驱动的设备,而不需要一个“永远在线”的麦克风。这不仅提供了一层隐私,而且还允许有意控制API令牌的使用(服务器代码中限制为25个)。

本指南将引导您将ESP32,使用Gemini API和gTTS的Python服务器,I2S音频放大器和OLED显示器集成到功能性语音助手中。

功能一览

•离线操作:按钮驱动的选择预定义的提示可重复,麦克风自由交互。

•Gemini API集成:Python服务器使用Gemini进行智能文本响应。

•token - efficient:在Python服务器中故意设置输出长度限制(25),以管理AI令牌消耗。

•文本到语音(TTS):通过gTTS库生成实时音频流。

•I2S音频输出:通过MAX98357A放大器和4欧姆扬声器播放高质量声音。

•视觉反馈:0.96英寸的OLED显示屏和状态led提供清晰的操作状态(例如,“Thinking…”,“Speaking…”,“Ready”)。

它是如何工作的:系统架构

该项目采用客户机-服务器体系结构。ESP32作为客户端,处理用户输入和音频输出,而Python服务器管理AI和TTS处理。

•初始化:ESP32连接到Wi-Fi,显示“Ready”,等待输入。

•用户输入:

•“下一步”按钮:循环通过存储在ESP32上的预定义文本提示数组。

•“发言”按钮:触发发言过程。当前选择的提示符通过HTTP GET请求发送到Python服务器。

•Python服务器处理:

•接收到提示后,服务器将其发送到Gemini API。

•Gemini返回一个文本响应。然后将此响应截断或过滤为预定义的长度,以保存AI令牌。

•处理后的文本被输入到gTTS库中,该库生成一个音频流。

•音频回放:服务器将音频流回ESP32。ESP32利用其I2S外设通过MAX98357A放大器和扬声器播放该流。

•状态更新:服务器通信时OLED显示屏显示“Thinking…”,音频播放时显示“Speaking…”,并有对应的LED指示灯。

它是如何制作的

硬件组件

•单片机:ESP32 Dev Kit C

•显示:0.96英寸OLED显示屏(SSD1306)

•音频输出:MAX98357A I2S d类放大器+ 8欧姆扬声器

•用户输入:2个触觉按钮

•视觉提示:红色和绿色led

•杂项:面包板,跳线,1A USB电源

接线图和引脚

(所有接地引脚应接在共同接地轨上)

软件设置:固件和服务器

该项目需要设置ESP32固件(使用Arduino IDE)和Python服务器。在这里获取代码。

1. ESP32固件安装(Arduino IDE)

•安装Arduino IDE并添加ESP32板管理器

•从Boards Manager中安装esp32包。

•通过库管理器安装必要的库:“Adafruit GFX库”和“Adafruit SSD1306库”。

•上传提供的固件代码(确保更新了Wi-Fi凭据)。

2. Python服务器设置

•确保安装了Python 3。

•创建并激活虚拟环境。

•安装依赖:pip Install -r requirements.txt

•使用GEMINI_API_KEY="YOUR_API_KEY_HERE"创建a.e env文件。

•运行server: python server.py。

结论和未来的改进

该项目为构建交互式AI驱动硬件提供了坚实的基础。它突出了将现成的微控制器与强大的AI API和高效的TTS解决方案相结合的能力。未来的增强可能包括添加更复杂的提示管理、基于web的配置界面,甚至与本地语音模型集成,以实现完全的气隙操作。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭