一款为用户,电子爱好者与开发者打造,集图形化控制、后台自动化、底层调试于一体的 SPP 经典蓝牙多功能安卓应用。
本项目旨在解决与 SPP 蓝牙模块(如 HC-05、HC-06)交互时的常见痛点。它提供了一个直观、现代的用户界面来控制多路继电器等设备,并集成强大的后台服务,确保定时任务即使在息屏、后台、设备休眠等情况下也能被精准触发。
专为开发者设计的指令终端,使其成为一个强大的蓝牙协议调试工具。
- 动态添加、编辑和删除控制卡片。
- 为每个开关配置名称和对应的十六进制指令。
- 自动保存所有配置,实现高度个性化。
- 支持“倒计时”和“定时预约”两种模式。
- 使用
AlarmManager与前台服务,确保任务即使在后台、息屏、重启后依然精准执行。
- 单个设备可开启自动循环模式。
- 自由调节频率(1–20 次/秒),适用于测试、老化实验等场景。
- 支持 HEX(16进制)和 Text(文本)格式收发。
- 实时查看精确时间戳的原始数据流。
- 面向蓝牙通信协议开发者设计。
- 自动记录蓝牙连接/断开、数据收发、系统错误等关键事件。
- 清晰分类,精确到毫秒,便于追踪问题。
- 技术: HTML5, CSS3, JavaScript
- UI 库: Material Web Components
- 实现: 所有 UI 运行在 Android 原生 WebView 中,开发迭代快速,界面现代、流畅。
-
BluetoothService.kt
Foreground Service,维持蓝牙连接与数据通信,处理定时任务执行。 -
AlarmReceiver.kt
接收系统 AlarmManager 的广播,触发定时操作。 -
MainActivity.kt
WebView 容器 + 权限请求 + 前后端桥梁协调器。
-
JS → Native
通过window.BTBridge调用 Kotlin,例如:
BTBridge.sendData("A0...") -
Native → JS
Kotlin 广播 →MainActivity接收 →WebView.evaluateJavascript(...)执行 JS 回调:
window.onConnectionStateChange(...)
- 打开 App,点击右下角蓝牙悬浮按钮。
- 自动连接名为
HCW的已配对设备。 - 顶部状态指示灯变绿表示连接成功。
- 添加设备:点击底部“添加继电器”按钮。
- 编辑设备:点击卡片右上角编辑图标,修改名称、指令等。
- 手动控制:点击“开启”或“关闭”按钮发送指令。
- 展开高级功能:点击卡片右上角展开图标,进入定时/自动循环设置。
- 点击卡片高级设置 > 定时任务模块。
- 选择“倒计时”或“定时预约”。
- 设置时间与目标动作(开启/关闭)。
- 点击“设置任务”启动;任务即使退出 App 后仍有效。
- 可在卡片下方随时取消任务。
- 切换到“调试”页面。
- 输入 HEX 或文本指令,点击发送。
- 左下角可切换收发格式。
- 实时显示收发数据,带时间戳标记。
-
作者:拿铁咖啡不加奶
-
AI 协作:Gemini
-
年龄:16 岁
-
简介:本项目为作者于 2025 年 7 月,在 AI 协助下完成的首个 Android 项目。
-
联系方式:
- QQ:984388724
- Email:shj561661@outlook.com
如果这个项目对您有帮助,或者您欣赏这份探索精神,欢迎通过以下方式支持我:
- 在 GitHub 上点一个 ⭐ Star!
- 分享给有类似需求的朋友!
本项目使用 MIT License 开源。您可以自由使用、修改与分发。