大数跨境
0
0

基于 uni-app + Vue 3 的跨平台蓝牙调试工具

基于 uni-app + Vue 3 的跨平台蓝牙调试工具 DotNet技术匠
2025-12-12
0
导读:一款专业的蓝牙调试工具。

前言

物联网和智能硬件快速发展,蓝牙通信已成为设备间交互的重要方式对于开发者而言,调试蓝牙设备往往是一件繁琐且平台依赖性强的工作。不同操作系统对蓝牙的支持方式各异,开发和测试过程常常需要在多个环境间切换。

本文推荐一款真正跨平台、功能完整、使用便捷的蓝牙调试工具。

项目介绍

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

声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!


END


仅10MB 开箱即用!这款简约强大、完全可控的开源网盘,轻松替代百度网盘
开源一物一码溯源防伪系统:全行业通用的商用级解决方案
用 Fay 连接 2.5D/3D 数字人与 OpenAI 兼容大模型
视频 AI 识别平台,支持 RTSP/RTMP 与人脸/车牌/跌倒检测
企业智能体:BuildingAI 开源平台支持 RAG 与智能体控制(MCP)
AI 测谎实战:一行命令实现微表情与心率分析
AI 视频监控系统开源免费,Docker一键实现私有化部署
一个轻量灵活的无侵入 AI 工作流引擎

拖拽即用,物联云组态设计器打通多行业大屏落地

开源云原生监控:一体化可观测与智能告警
开箱即用的数据同步工具:支持 20+ 数据源,实时监控、毫秒级响应



备注【开源

方便大家交流、资源共享和共同成长

纯技术交流群、需要的小伙伴请扫码




有收获?不妨分享让更多人受益

关注「程序员开源栈」,共同提升技术实力


点分享
点收藏
点在看
点点赞

【声明】内容源于网络
0
0
DotNet技术匠
「DotNet技术匠」聚焦.NET核心,分享深度干货、实战技巧、最新资讯、优质资源,助你领跑技术赛道,赋能开发者成长。
内容 1715
粉丝 0
DotNet技术匠 「DotNet技术匠」聚焦.NET核心,分享深度干货、实战技巧、最新资讯、优质资源,助你领跑技术赛道,赋能开发者成长。
总阅读303
粉丝0
内容1.7k