# miniprog-ble **Repository Path**: mybluetooth/miniprog-ble ## Basic Information - **Project Name**: miniprog-ble - **Description**: 微信小程序,BLE 调试助手 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-15 - **Last Updated**: 2026-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BLE Debugger - 微信小程序 BLE 调试助手 仿 nRF Connect 风格的 BLE 调试工具,支持设备扫描、服务/特征发现、Read/Write/Notify 全功能调试。 ## 📁 项目结构 ``` ble-debugger/ ├── app.js # 全局逻辑(蓝牙适配器初始化) ├── app.json # 页面路由 & 窗口配置 ├── app.wxss # 全局样式(深色主题 + 通用组件) ├── project.config.json # 项目配置 ├── sitemap.json # 站点地图 ├── utils/ │ └── ble.js # BLE 工具类(UUID解析、数据转换、广播解析) ├── pages/ │ ├── index/ # 设备扫描页 │ │ ├── index.js │ │ ├── index.wxml │ │ ├── index.wxss │ │ └── index.json │ ├── device/ # 设备详情页(服务 & 特征列表) │ │ ├── device.js │ │ ├── device.wxml │ │ ├── device.wxss │ │ └── device.json │ └── characteristic/ # 特征调试页(Read/Write/Notify) │ ├── characteristic.js │ ├── characteristic.wxml │ ├── characteristic.wxss │ └── characteristic.json ``` ## 🚀 使用方式 1. **导入项目**:打开微信开发者工具 → 导入项目 → 选择 `ble-debugger` 目录 2. **AppID**:测试可选"测试号",正式发布需填入自己的 AppID 3. **真机调试**:BLE 功能必须在真机上运行(模拟器不支持蓝牙) ## 🔧 核心功能 | 功能 | 说明 | |------|------| | 📡 设备扫描 | 实时扫描周围 BLE 设备,显示名称、RSSI 信号格、MAC 地址 | | 🔍 服务发现 | 自动获取所有 GATT 服务,识别标准 UUID 名称 | | 📋 特征列表 | 展示每个特征的支持操作(Read/Write/Notify/Indicate) | | 📖 Read | 读取特征当前值,Hex + ASCII 双格式展示 | | ✍️ Write | 支持 Hex / Text / Decimal 三种输入格式 | | 🔔 Notify | 实时接收通知数据,带时间戳日志,支持暂停/清除 | ## 📱 界面预览(仿 nRF Connect) - **深色主题**:深色背景 + 青色强调色,长时间调试不伤眼 - **等宽字体**:UUID、Hex 数据全部使用等宽字体,对齐清晰 - **信号格**:RSSI 转 5 级信号强度可视化 - **属性标签**:Read/Write/Notify/Indicate 彩色标签一目了然 ## ⚠️ 注意事项 1. **真机必备**:微信小程序 BLE API 在模拟器中不可用,必须真机调试 2. **权限声明**:`app.json` 中无需额外声明蓝牙权限,但手机系统蓝牙需开启 3. **iOS 限制**:iOS 上 `notifyBLECharacteristicValueChange` 的 `type` 参数必须为 `'notification'` 或 `'indication'` 4. **MTU**:默认 20 字节,部分设备支持协商更大 MTU(23-512) 5. **连接数**:微信小程序同一时间建议只保持 1 个 BLE 连接 ## 🛠️ 二次开发 ### 添加自定义 UUID 名称映射 编辑 `utils/ble.js` 中的 `UUID_MAP`: ```js const UUID_MAP = { '1800': 'Generic Access', 'FFE0': 'My Custom Service', // 添加你的 UUID 'FFE1': 'My Custom Char', // ... }; ``` ### 修改主题色 编辑 `app.wxss` 中的 CSS 变量: ```css page { --accent: #00e5ff; /* 主强调色 */ --bg-primary: #0f0f1a; /* 主背景 */ --text-mono: #00ff88; /* 数据色 */ } ``` ## 📄 License MIT