前言
物联网和智能硬件快速发展,蓝牙通信已成为设备间交互的重要方式对于开发者而言,调试蓝牙设备往往是一件繁琐且平台依赖性强的工作。不同操作系统对蓝牙的支持方式各异,开发和测试过程常常需要在多个环境间切换。
本文推荐一款真正跨平台、功能完整、使用便捷的蓝牙调试工具。
项目介绍
BLE Toolkit+ 是一款专业的蓝牙调试工具,基于 uni-app + Vue 3 开发,支持多平台部署,同时支持微信小程序、iOS 原生应用和 Android 原生应用。
工具主要用于蓝牙设备的调试和开发,支持设备扫描、服务发现、特征值读写等功能。不管是嵌入式开发调试 ESP32 模块,还是移动端验证蓝牙通信逻辑,都能通过该工具高效完成工作。
项目功能
1、支持蓝牙设备的扫描与发现,实时列出附近可连接设备
2、可查看设备详细信息,包括名称、信号强度、广播数据等
3、提供服务与特征值的完整解析,支持读取、写入及启用通知
4、支持自定义蓝牙广播,可在 iOS 和 Android 上模拟 BLE 外设
5、数据写入支持 UTF-8 文本与 HEX 格式,满足不同协议需求
6、集成 ESP32 开发板支持,提供配套固件与通信示例
项目技术
技术栈
前端框架:Vue 3
UI 框架:@dcloudio/uni-ui
原生插件:BLE-Module(自定义蓝牙广播插件)
平台支持
微信小程序:使用微信小程序原生API
iOS原生:基于CoreBluetooth框架
Android原生:支持Android 5.0及以上版本
开发环境
开发板:ESP32
开发环境:Arduino IDE
依赖库:BLE库(ESP32内置)
功能特性
支持 BLE 服务广播
支持特征值读写
支持通知功能
支持多种数据格式(UTF-8、HEX)
服务说明
服务1(UUID: 4fafc201-1fb5-459e-8fcc-c5c9c331914b)
-
写特征值:支持文本和 HEX 格式数据写入
-
通知特征值:支持数据通知功能
服务2(UUID: 4fafc201-1fb5-459e-8fcc-c5c9c331914c)
-
只读特征值:设备信息
-
只写特征值:控制命令
-
通知特征值:状态更新
数据格式
-
文本格式:UTF-8 编码
-
HEX 格式:支持标准 HEX 字符串(例如:
FF01)
编译说明(ESP32 固件)
1、安装 Arduino IDE
2、安装 ESP32 开发板支持包
3、安装必要的库文件(如内置 BLE 库)
4、编译并上传代码到 ESP32 开发板
项目使用
安装依赖
cd BLEToolkit
npm install
运行项目
# H5 版本
npm run dev:h5
# 微信小程序
npm run dev:mp-weixin
# App(iOS / Android)
npm run dev:app
使用示例(uni-app 蓝牙 API)
// 初始化蓝牙模块
uni.openBluetoothAdapter({
success: () => {
console.log('蓝牙初始化成功');
// 开始搜索设备
uni.startBluetoothDevicesDiscovery({
success: () => {
console.log('开始搜索设备');
}
});
}
});
// 监听设备发现事件
uni.onBluetoothDeviceFound((devices) => {
console.log('发现新设备:', devices);
});
// 连接设备
function connectDevice(deviceId) {
uni.createBLEConnection({
deviceId: deviceId,
success: () => {
console.log('连接成功');
// 获取设备服务
uni.getBLEDeviceServices({
deviceId: deviceId,
success: (res) => {
console.log('设备服务列表:', res.services);
}
});
}
});
}
权限说明
Android 所需权限
-
BLUETOOTH(蓝牙基础权限) -
BLUETOOTH_ADMIN(蓝牙管理) -
ACCESS_FINE_LOCATION(定位权限,用于扫描) -
BLUETOOTH_SCAN(Android 12+ 扫描权限) -
BLUETOOTH_ADVERTISE(广播权限) -
BLUETOOTH_CONNECT(连接权限)
iOS 所需配置
在 Info.plist 中添加蓝牙权限描述(如 NSBluetoothAlwaysUsageDescription)
系统自动请求蓝牙权限,用于搜索和连接设备
注意事项
Android:必须授予位置权限才能正常扫描蓝牙设备(系统限制)
iOS:需在 Info.plist 中正确声明蓝牙用途,否则应用无法使用蓝牙功能
微信小程序:需在后台开启"蓝牙"相关接口权限
项目效果
项目源码
项目代码,硬件部分提供完整的 Arduino IDE 工程,包含两个标准 BLE 服务,分别用于数据交互与设备控制,支持通知、读写等多种操作模式。详细的开发文档、权限配置说明和编译指南均已在官网提供。
Gitee:https://gitee.com/luoyaosheng/smart-ble
总结
BLE Toolkit+不仅是一个工具,更是对跨平台蓝牙开发体验的一次系统性优化。它将原本分散在各平台的调试能力整合到一个统一入口,用前端技术提升传统硬件开发效率。不管是快速验证蓝牙模块功能,还是深入调试复杂通信协议,这款工具都能成为大家提供帮助。
关键词
#BLE调试、#uni-app、#Vue3、#跨平台、#蓝牙广播、#特征值读写、#ESP32、#微信小程序、#iOS、#Android
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!
方便大家交流、资源共享和共同成长
纯技术交流群、需要的小伙伴请扫码
有收获?不妨分享让更多人受益
关注「程序员开源栈」,共同提升技术实力

