# utools_bluetooth_utils
**Repository Path**: fancy171101034/utools_bluetooth_utils
## Basic Information
- **Project Name**: utools_bluetooth_utils
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-06
- **Last Updated**: 2025-11-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🔵 蓝牙调试工具 - uTools插件
> 专业的蓝牙低功耗(BLE)设备扫描与调试工具,基于uTools平台开发
## 🚀 功能特性
### 📡 设备扫描
- 🔍 **实时扫描** - 自动发现附近的蓝牙BLE设备
- 📊 **智能排序** - 按信号强度(RSSI)动态排序
- 🎯 **状态识别** - 实时显示设备可连接状态
- 🔄 **连续扫描** - 支持持续扫描模式
### 📱 设备详情
- 🏷️ **完整信息** - 名称、ID、MAC地址、信号强度
- 🏭 **制造商数据** - 解析设备制造商特定数据
- 📋 **服务数据** - 显示设备广播的服务信息
- 📊 **信号分析** - 实时RSSI值监控
### 🔧 服务发现
- 🔍 **GATT服务** - 发现设备所有GATT服务
- 📋 **特征值** - 列出服务包含的所有特征值
- 📝 **属性识别** - 显示特征值读写权限
- 🎨 **标准命名** - 自动识别标准蓝牙服务名称
### 🎛️ 调试工具
- 📖 **数据读取** - 读取特征值数据(支持文本/十六进制)
- ✍️ **数据写入** - 向特征值写入自定义数据
- 🗂️ **快捷指令** - 预设常用指令模板
- 💾 **历史记录** - 保存操作历史
## 📦 快速开始
### 🖥️ 开发环境
#### 1. 安装依赖
```bash
npm install
```
#### 2. 启动开发服务器
```bash
npm run dev
```
#### 3. 浏览器测试
访问 http://localhost:5173 进行功能测试
### 📱 uTools插件
#### 1. 构建插件
```bash
npm run build
```
#### 2. 导入uTools
- 打开uTools → 插件管理 → 本地插件
- 选择 `dist` 文件夹导入
- 在uTools中搜索 "蓝牙调试工具" 使用
## 🏗️ 项目架构
```
BluetoothUtils/
├── 📁 public/ # 静态资源
│ ├── 🖼️ logo.png # 插件图标
│ ├── ⚙️ plugin.json # uTools插件配置
│ └── 📁 preload/ # Node.js服务层
│ ├── 📦 package.json # 服务配置
│ └── 🔧 services.js # 蓝牙核心服务
├── 📁 src/ # 前端源码
│ ├── 📱 App.vue # 主应用组件
│ ├── 🎨 main.css # 全局样式
│ ├── ⚡ main.js # 应用入口
│ └── 📁 BluetoothUtils/ # 蓝牙功能模块
│ ├── 🔍 index.vue # 设备扫描界面
│ └── 🔧 service.vue # 服务调试界面
├── 📁 Hello/ # 欢迎界面
├── 📁 Read/ # 数据读取模块
├── 📁 Write/ # 数据写入模块
└── ⚙️ 配置文件
├── 📦 package.json
├── ⚡ vite.config.js
└── 🛠️ jsconfig.json
```
## 🛠️ 技术栈
| 技术 | 用途 | 版本 |
|---|---|---|
| **Vue 3** | 前端框架 | ^3.3.0 |
| **@abandonware/noble** | 蓝牙BLE库 | ^1.9.2 |
| **Vite** | 构建工具 | ^4.4.0 |
| **uTools API** | 插件系统 | 最新 |
| **ESLint** | 代码规范 | ^8.0.0 |
## 📊 信号强度参考
| RSSI值 | 信号强度 | 距离估计 |
|---|---|---|
| **-30 dBm** | 极佳 | < 1米 |
| **-50 dBm** | 良好 | 1-5米 |
| **-70 dBm** | 一般 | 5-15米 |
| **-90 dBm** | 较弱 | > 15米 |
## 🔐 系统权限
### 🍎 macOS
```bash
# 授予蓝牙权限
系统设置 → 隐私与安全 → 蓝牙 → 允许uTools/终端访问
```
### 🪟 Windows
```bash
# 管理员权限运行
# 安装蓝牙驱动程序
```
### 🐧 Linux
```bash
# Ubuntu/Debian
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
# CentOS/RHEL
sudo yum install bluez bluez-libs bluez-devel
```
## 🎯 使用指南
### 📍 设备扫描
1. 启动插件 → 点击"开始扫描"
2. 查看发现的设备列表
3. 点击设备查看详细信息
4. 按信号强度排序查找最近设备
### 🔍 服务发现
1. 连接设备 → 进入服务界面
2. 查看所有GATT服务列表
3. 展开服务查看特征值
4. 识别服务类型和权限
### 📝 数据操作
1. **读取数据**:点击特征值 → 选择"读取"
2. **写入数据**:点击特征值 → 输入数据 → 选择格式 → 发送
3. **快捷指令**:使用预设模板快速操作
## 🐛 常见问题
扫描不到设备?
1. ✅ 确认蓝牙已开启
2. 🔐 检查系统蓝牙权限
3. 📱 确保附近有BLE设备广播
4. 🔄 尝试重启扫描
连接失败?
1. 🔍 确认设备可连接
2. 📶 检查信号强度(>-70dBm)
3. 🔐 验证设备配对状态
4. 🔄 重新连接尝试
服务发现不完整?
1. 🔄 使用"刷新"按钮重新发现
2. 📊 查看调试信息确认服务数量
3. 🔍 检查设备实际服务配置
4. 📱 使用其他工具验证