Bluetooth LE Mouse library for the ESP32 (Arduino IDE compatible) ESP32-BLE-Mouse

ESP32 1/5 已发布
T-vK 992 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5

项目简介

ESP32蓝牙低功耗鼠标库(兼容Arduino IDE)


ESP32-BLE-Mouse 是一个专为 ESP32 微控制器设计的开源库,它能够让 ESP32 模拟成一只蓝牙鼠标,并通过编程精确控制鼠标的各种操作。该项目解决了在没有传统物理鼠标或触摸板的情况下,如何利用低成本的 ESP32 芯片实现无线人机交互的问题。其核心功能覆盖了鼠标的所有基本操作,包括左键、右键、中键点击,以及前后导航键;同时支持鼠标指针的上下左右移动、垂直和水平滚动。此外,它还允许用户自定义蓝牙设备名称和制造商信息,并可选地向主机报告电池电量,增强了设备的实用性和个性化。

标签

项目特点

支持标准鼠标动作:左键、右键、中键点击,以及移动和滚轮操作
兼容Arduino IDE,安装后即可像调用普通库一样使用
基于BLE协议,无需配对即可连接(部分系统支持快速连接)
可自定义设备名称和制造商信息,方便识别
轻量级实现,对ESP32资源占用低,适合电池供电项目
开源社区活跃,示例代码丰富,上手门槛低

技术规格

支持芯片 ESP32(所有系列)
开发环境 Arduino IDE(1.8.x及以上)
蓝牙协议 Bluetooth Low Energy 4.2+
鼠标按键 左键、右键、中键(可扩展)
移动精度 相对移动(delta x/y),步长1
滚轮支持 垂直滚动,步长1
最大连接数 1个主机(标准BLE HID设备)
功耗 取决于ESP32工作模式,典型约80mA(活动)
库文件大小 约50KB(编译后)
依赖库 ESP32 BLE Arduino(内置)

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP32开发板(如NodeMCU-32S) 1 必须,任何ESP32均可
按键(微动开关) 3+ 左键、右键、中键,可选
滚轮编码器 1 可选,用于滚轮功能
摇杆或触摸板 1 可选,用于鼠标移动
锂电池(3.7V) 1 可选,用于无线供电
稳压模块(如AMS1117-3.3) 1 可选,电池供电时使用
杜邦线/面包板 若干 原型验证用
USB数据线(Micro USB/Type-C) 1 烧录程序用

能力画像

**记忆与知识检索**:2/5 — 项目本身不涉及复杂知识库,但需要查阅BLE HID协议和ESP32文档。
**动手与操作**:3/5 — 需要焊接按键、连接电路,但整体硬件简单,适合新手。
**编程与算法**:3/5 — 主要调用库函数,无需复杂算法,但需理解Arduino编程基础。
**设计与建模**:2/5 — 如需外壳或机械结构,需要简单3D建模能力,非必须。
**实验与调试**:4/5 — 蓝牙连接不稳定时需反复调试,建议使用串口输出日志。
**协作与分享**:3/5 — 可通过GitHub提交Issue或PR,社区活跃度中等。
**学习与研究**:4/5 — 适合学习BLE HID协议、ESP32低功耗开发,有较多扩展空间。
**系统集成**:3/5 — 可与其他传感器(如陀螺仪)集成,实现体感鼠标等高级功能。

所需技能

Arduino IDE基本使用(安装库、编译、上传) C/C++基础语法(变量、函数、循环) 电路连接基础(面包板、杜邦线、按键接线) 蓝牙协议基本概念(可选,有助于调试) 串口调试(输出日志排查问题)

适用场景

制作无线演示翻页器或遥控鼠标
构建体感鼠标(配合MPU6050等陀螺仪传感器)
智能家居控制面板(通过鼠标点击触发场景)
辅助输入设备(为特殊人群定制简易鼠标)
教育演示:学习BLE HID协议与嵌入式开发
原型验证:快速测试蓝牙鼠标交互逻辑