ESP32 implementation for HID over GATT Keyboard and Mouse (Bluetooth Low Energy). Including serial API for external modu esp32_mouse_keyboard

ESP32 ⭐⭐☆☆☆ (2/5) 已发布
asterics 887 Stars GPL-3.0 BOM 完整度: /5 教程完整度: /5

项目简介

ESP32 implementation for HID over GATT Keyboard and Mouse (Bluetooth Low Energy). Including serial API for external modu


这是一个基于ESP32芯片的开源项目,实现了蓝牙低功耗(BLE)HID协议,让ESP32能够模拟成无线鼠标和键盘。项目核心价值在于为辅助技术设备提供标准化的蓝牙输入方案,特别适合为残障人士设计的自适应输入设备。

标签

项目特点

支持蓝牙低功耗(BLE)HID协议,可同时模拟键盘和鼠标
提供串口API接口,方便与外部模块(如传感器、开关)集成
兼容Adafruit EZKey HID的通信协议,可复用现有代码
基于ESP32平台,开发成本低,社区资源丰富
支持自定义按键映射和宏命令
开源硬件设计,提供完整的原理图和PCB文件

技术规格

主控芯片 ESP32(双核Xtensa LX6)
蓝牙版本 蓝牙4.2 / BLE
蓝牙协议 HID over GATT(键盘+鼠标)
串口速率 115200 bps(默认)
供电电压 3.3V(通过USB或外部电源)
工作电流 约80mA(典型)
支持按键数 最多6键同时按下(键盘)
鼠标支持 移动、左键、右键、滚轮
固件更新 支持OTA无线更新
板载LED 1个状态指示灯

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP32开发板(如ESP32-DevKitC) 1 推荐使用带USB-UART的型号
Micro USB线缆 1 供电和编程
杜邦线(母对母) 若干 连接外部模块
按键开关 按需 用于键盘按键输入
电位器或编码器 按需 用于鼠标模拟输入
LED(3mm) 1 状态指示(可选)
220Ω电阻 1 LED限流(可选)

3D 模型

所需工具

工具用途是否必需
Arduino IDE 编写和上传固件 ✅ 是
ESP32板支持包 在Arduino IDE中支持ESP32 ✅ 是
USB转串口驱动 连接ESP32进行编程 ✅ 是
串口调试工具(如PuTTY) 测试串口API通信 ▢ 推荐
烙铁和焊锡 焊接外围元件 ▢ 推荐
万用表 调试电路连接 ▢ 推荐

能力画像

**记忆与知识检索**:3/5 — 需要查阅ESP32 BLE和HID协议文档,但核心代码已封装好
**动手与操作**:4/5 — 需要焊接和连接外部传感器/开关,适合动手爱好者
**编程与算法**:3/5 — 主要使用Arduino IDE编写简单逻辑,无需复杂算法
**设计与建模**:2/5 — 硬件设计已提供原理图和PCB文件,无需自行设计
**实验与调试**:4/5 — 需要通过串口调试API通信,测试按键和鼠标响应
**协作与分享**:3/5 — 开源项目,可提交Issue和PR,但社区规模中等
**学习与研究**:4/5 — 适合学习BLE HID协议、ESP32开发和人机交互设计
**系统集成**:4/5 — 可轻松集成传感器、开关等外部模块,扩展性强

所需技能

基础电子知识(电路连接、焊接) Arduino IDE使用经验 ESP32开发板的基本操作 串口通信调试能力 对蓝牙HID协议有基本了解(可选但推荐)

适用场景

为残障人士制作辅助输入设备(如眼控、头控鼠标)
制作自定义游戏手柄或宏键盘
将老旧设备(如轨迹球、摇杆)改造成蓝牙输入设备
教育演示:学习BLE HID协议和嵌入式开发
自动化测试:用ESP32模拟键盘鼠标操作进行软件测试
智能家居控制:通过物理按键触发电脑操作