Skip to content

shj56166/kongzhi2

Repository files navigation

SPP Control: Automation & Terminal

一款为用户,电子爱好者与开发者打造,集图形化控制、后台自动化、底层调试于一体的 SPP 经典蓝牙多功能安卓应用。


📌 概览

本项目旨在解决与 SPP 蓝牙模块(如 HC-05、HC-06)交互时的常见痛点。它提供了一个直观、现代的用户界面来控制多路继电器等设备,并集成强大的后台服务,确保定时任务即使在息屏、后台、设备休眠等情况下也能被精准触发。

专为开发者设计的指令终端,使其成为一个强大的蓝牙协议调试工具。


✨ 核心功能

⚡️ 多路动态控制 (Dynamic Multi-Channel Control)

  • 动态添加、编辑和删除控制卡片。
  • 为每个开关配置名称和对应的十六进制指令。
  • 自动保存所有配置,实现高度个性化。

🕒 精准后台定时 (Precise Background Timing)

  • 支持“倒计时”和“定时预约”两种模式。
  • 使用 AlarmManager 与前台服务,确保任务即使在后台、息屏、重启后依然精准执行。

🔄 高频自动循环 (High-Frequency Auto-Cycling)

  • 单个设备可开启自动循环模式。
  • 自由调节频率(1–20 次/秒),适用于测试、老化实验等场景。

⌨️ 底层指令调试 (Low-Level Command Terminal)

  • 支持 HEX(16进制)和 Text(文本)格式收发。
  • 实时查看精确时间戳的原始数据流。
  • 面向蓝牙通信协议开发者设计。

📚 全面操作日志 (Comprehensive Logging)

  • 自动记录蓝牙连接/断开、数据收发、系统错误等关键事件。
  • 清晰分类,精确到毫秒,便于追踪问题。

🛠️ 技术栈与架构解析

1. 前端 (UI Layer)

  • 技术: HTML5, CSS3, JavaScript
  • UI 库: Material Web Components
  • 实现: 所有 UI 运行在 Android 原生 WebView 中,开发迭代快速,界面现代、流畅。

2. 原生后端 (Logic Layer - Kotlin)

  • BluetoothService.kt
    Foreground Service,维持蓝牙连接与数据通信,处理定时任务执行。

  • AlarmReceiver.kt
    接收系统 AlarmManager 的广播,触发定时操作。

  • MainActivity.kt
    WebView 容器 + 权限请求 + 前后端桥梁协调器。

3. 通信桥梁 (Bridge)

  • JS → Native
    通过 window.BTBridge 调用 Kotlin,例如:
    BTBridge.sendData("A0...")

  • Native → JS
    Kotlin 广播 → MainActivity 接收 → WebView.evaluateJavascript(...) 执行 JS 回调:
    window.onConnectionStateChange(...)


🚀 使用说明

连接设备

  1. 打开 App,点击右下角蓝牙悬浮按钮。
  2. 自动连接名为 HCW 的已配对设备。
  3. 顶部状态指示灯变绿表示连接成功。

主控界面

  • 添加设备:点击底部“添加继电器”按钮。
  • 编辑设备:点击卡片右上角编辑图标,修改名称、指令等。
  • 手动控制:点击“开启”或“关闭”按钮发送指令。
  • 展开高级功能:点击卡片右上角展开图标,进入定时/自动循环设置。

设置定时任务

  1. 点击卡片高级设置 > 定时任务模块。
  2. 选择“倒计时”或“定时预约”。
  3. 设置时间与目标动作(开启/关闭)。
  4. 点击“设置任务”启动;任务即使退出 App 后仍有效。
  5. 可在卡片下方随时取消任务。

使用指令调试

  1. 切换到“调试”页面。
  2. 输入 HEX 或文本指令,点击发送。
  3. 左下角可切换收发格式。
  4. 实时显示收发数据,带时间戳标记。

👤 关于作者

  • 作者:拿铁咖啡不加奶

  • AI 协作:Gemini

  • 年龄:16 岁

  • 简介:本项目为作者于 2025 年 7 月,在 AI 协助下完成的首个 Android 项目。

  • 联系方式


❤️ 支持与开源

如果这个项目对您有帮助,或者您欣赏这份探索精神,欢迎通过以下方式支持我:

  • 在 GitHub 上点一个 ⭐ Star!
  • 分享给有类似需求的朋友!

📄 许可证

本项目使用 MIT License 开源。您可以自由使用、修改与分发。

About

SPP Control: Automation & Terminal

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors