程序聚合 软件案例 基于ESP32S3主控的AI语音遥控器(开源)

基于ESP32S3主控的AI语音遥控器(开源)

2026-07-19 23:32:41
行业:人工智能
载体:硬件、网站
技术:AndroidX、C/C++、PyTorch、ESP8266/ESP32

业务和功能介绍

市面上的蓝牙语音遥控器方案普遍依赖厂商私有云服务,用户无法自行部署和定制语音处理逻辑。本项目的立项目标是从零打造一款完全开源、可自主部署的 AI 语音遥控器,覆盖从硬件 PCB 设计到云端后台的全链路,让开发者和硬件爱好者可以低成本复现并自由扩展。

核心功能模块包括四个部分:(1)硬件层:基于 ESP32-S3 模组自制 2 层 PCB,集成 PDM MEMS 麦克风、MAX98357A I2S 音频功放、TP4065 锂电池充电管理和 USB Type-C 接口,成品可装入市售遥控器外壳,单台 BOM 成本约 75-95 元;(2)固件层:基于 ESP-IDF v5.4 开发,实现 BLE HID 遥控(键盘/鼠标/多媒体)、SoftAP WiFi 配网(支持多组 WiFi 记忆)、PDM 麦克风采集、I2S 音频播放、HTTPS 语音管线和 OTA 双分区固件升级;(3)Android APP:作为语音桥接端,通过 UDP 接收 ESP32 的音频流,HTTP POST 转发给云端后台处理,再将 TTS 合成的音频回传给遥控器播放,同时提供蓝牙连接管理、WiFi 配网界面和远程日志查看功能;(4)PHP 云端后台:实现可插拔的 ASR→LLM→TTS 语音处理管线,支持 FunASR(免费语音识别)、微软 Edge TTS(免费语音合成)和 DeepSeek 等 OpenAI 兼容大模型 API,并提供 OTA 固件版本管理后台和 API 日志监控面板。

业务流程为:用户按下遥控器语音键 → ESP32 PDM 麦克风采集 16kHz PCM 音频 → 优先通过 UDP 发送给 Android APP 桥接转发(本地模式),若 APP 不可达则自动切换为 HTTPS 直连云端(云端模式)→ Web 后台依次执行语音识别(FunASR,约 1 秒)、大模型生成回复(DeepSeek,约 1.5 秒)、语音合成(Edge TTS,约 0.7 秒)→ PCM 音频通过 HTTP 响应返回 → ESP32 I2S 播放语音回复。整个流程端到端延迟约 3-4 秒。遥控器同时支持 BLE HID 标准协议,可直接控制 PC、电视、智能家居设备的方向键、确认键和多媒体按键。

项目实现

本项目由我独立完成全部的硬件设计、固件开发、Android APP 开发和 Web 后台开发。
GitHub开源项目名称为esp32s3-ble-voice-remote。
整体架构采用"端—边—云"三层设计:端侧为 ESP32-S3 遥控器负责音频采集和 BLE HID 遥控,边侧为 Android APP 提供 UDP 音频桥接和用户交互界面,云侧为 PHP+MySQL 后台执行 ASR/LLM/TTS 语音处理。两种工作模式(本地 UDP 桥接 和 云端 HTTPS 直连)可自动切换,保证在有无手机 APP 的场景下遥控器都能正常使用。

各模块技术栈:硬件使用立创 EDA 绘制原理图和 PCB Layout,嘉立创制板,手工贴片焊接 0402 封装元件;固件使用 C 语言基于 ESP-IDF v5.4 框架开发,涉及 FreeRTOS 多任务调度、BLE GATT/HID Profile、WiFi STA/SoftAP 双模、mbedTLS HTTPS 客户端、esp_http_client 和 esp_https_ota 组件;Android APP 使用 Java 基于 Android Studio 开发,涉及 BLE API、UDP Socket、HTTP 多线程通信;Web 后台使用 PHP 8.x + MySQL,Python Flask 微服务承载 FunASR 和 Edge TTS 引擎,Apache 部署。
我在项目中遇到的主要难点和解决方案其二:(1)ESP32 内部 RAM 不足导致 TLS 握手失败——由于 BLE、WiFi、HTTP 服务器、HTTPS 客户端和日志服务同时运行,internal RAM 一度降至 14KB,mbedTLS 分配失败报 esp-aes Failed to allocate memory。解决方案是启用 mbedTLS 动态缓冲区(MBEDTLS_DYNAMIC_BUFFER),将日志系统的环形缓冲区迁移到 PSRAM,使用 FreeRTOS 队列将 vprintf hook 中的耗内存操作卸载到独立任务,最终 internal RAM 恢复到 49KB 以上。(2)语音数据跨线程同步——Android APP 中 BLE 音频回调和 UDP 音频接收分别运行在不同线程,语音会话的起止检测和 PCM 数据累积需要线程安全地协同工作。解决方案是引入 synchronized 锁和共享 ByteArrayOutputStream 缓冲区,统一由 onVoiceSessionStart/End 管理语音会话生命周期,确保两种音频来源都能正确触发 Web 后台的语音处理

示例图片视频


Rui0317
5天前活跃
方向: 硬件开发-嵌入式硬件开发、人工智能-AI应用开发、
交付率:100.00%
相似推荐
基层治理协同平台
该平台目前可应用于基层工作人员处理网格员,网格长,居民的各类事件以及投诉建议,各种类型统计包括但不限于(车辆信息,基础设施信息,网格信息,居民信息,网格员信息,场所信息,),可广泛应用于基层各类工作中帮助基层人员减负、增效,让工作更便捷。
焦作市核酸预登记管理系统
焦作市核酸预登记管理系统是为了全面提升焦作市常态化公共卫生应急处置能力、优化核酸检测服务流程、规范全员核酸预登记数据管理,解决传统核酸登记模式中人工登记效率低、人员聚集风险高、数据统计滞后、信息台账混乱、跨区域数据无法联动等痛点,结合焦作市市域人口分布、区县管理架构、基层防疫工作实际需求。本系统聚焦便民登记、精准管控、高效统计、数据溯源四大核心目标,整合全市核酸检测预登记全流程业务,实现市民线上自主预登记、基层工作人员批量审核、卫健部门统筹监管、检测机构数据联动的一体化管理模式,有效降低基层防疫工作压力,减少线下排队聚集问题,提升焦作市公共卫生应急响应智能化、数字化水平,为全市疫情防控、常态化核酸筛查工作提供坚实的数据支撑与系统保障。
乘车通App/小程序
为进一步提升久事公交 “绿色、 智慧、 人文、 品质”公交特色 ,缓解 “等车焦虑”改善乘客体验。打造久事公交品牌影响力 ,加快久事公交品牌建设推广 ,提升品牌形象;提升久事公交公共交通服级; 获取用户OD信息 ,为线网优化、 时刻表优化提供数据支撑;获取用户出行时间信息 ,为早高峰、 晚高峰优化运营提供数据支撑。 建立与乘客的便捷的沟通渠道 ,(例如 :车厢、 站点等设备设施的故障反馈、 对公交线路或服务提出建议)提升集团对乘客服务满意度。 对接一卡通公司 ,实现二维码乘车。 实时公交数据 ,可以查看附近的公交站点 ,点击线路后可选择站点进行查看到站时间 ,采用高德地图。 项目定位: 为久事公交集团打造面向乘客的智慧出行服务平台 ,整合公交实时信息、 乘车支付、 反馈互动功能,提升乘客出行体验 ,支撑公交集团线网优化与运营决策。 核心应用:实现二维码乘车、 公交实时到站查询、 线路众筹预约、 故障反馈等功能 ,基于用户出行数据为公交线网优化、 高峰运营调整提供数据支撑 ,提升公交服务满意度
昌通码
1、疫情防控 2、扫码登记-系统预警-人员隔离赋红码-隔离14天系统定时处理在赋绿码-隔离结束 3、大数据可视化平台-显示各个县-村的预警和出入人员登记。 4、对接第三方系统,酒店系统,提供名单数据传至第三方核对。
智慧排水决策平台
深度参与“城市排水智慧决策平台”建设 ,兼任技术骨干 ,负责需求梳理、功能设计与开发协同。基于 Spring Boot 进行服务端开发 ,运用 Kafka+Flink 实现排水实时数据的接入与流处理 ,打通从传感器数据采集到业务决策展示的全链路; 同时主导完成配套移动端 App 的研发 ,覆盖安卓、iOS 及鸿蒙系统 ,为巡检人员和决策者提供实时数据查询、预警推送与现场上报功能 ,确保系统高度贴合城市排水管理实际。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服