ESP32 implementation for HID over GATT Keyboard and Mouse (Bluetooth Low Energy). Including serial API for external modu
esp32_mouse_keyboard
ESP32
⭐⭐☆☆☆ (2/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模拟键盘鼠标操作进行软件测试
智能家居控制:通过物理按键触发电脑操作