视频地址:哔哩哔哩
项目概述
蓝牙调试助手是一个用于蓝牙低功耗(BLE)设备开发和调试的移动应用程序,旨在帮助开发者更高效地进行蓝牙相关项目的调试和分析。
主要功能包括:
- 蓝牙数据捕获:实时捕获蓝牙设备之间的通信数据,包括连接状态、传输数据等。
- 数据包分析:解析蓝牙数据包,显示详细信息如信号强度、设备地址、数据内容等。
- 设备管理:支持对蓝牙设备的扫描、连接、数据收发和断开操作。
- 实时监控:提供实时的蓝牙设备状态监控,帮助开发者快速定位问题。
- 配置管理:支持对蓝牙设备的配置参数进行调整和管理。
该工具以图形化界面呈现,操作简单,适用于需要进行蓝牙通信测试和调试的场景。
用户使用App的流程见下表:
| 步骤 | 具体内容 |
|---|---|
| 1 | 用户打开App并扫描蓝牙设备 |
| 2 | 用户连接目标蓝牙设备 |
| 3 | 选择需要读写的UUID |
| 4 | 根据通信协议,发送数据测试 |
项目框图

功能概述
1.蓝牙列表
- 蓝牙搜索
- 支持 蓝牙名称、mac地址、RSSI(0到-100范围)搜索过滤
- 蓝牙列表,显示 设备名称(没有显示 N/A)mac地址、rssi
- 蓝牙连接,只有支持连接的设备才会显示连接按钮,点击跳转到收据收发页面
- 广播数据解析,按照官方的格式进行解析,参考 https://www.bluetooth.com/specifications/assigned-numbers/
参考图

功能描述
触发方式
应用初始化时进入此页面
页面展示内容
- 初始化时,开始扫描附近的蓝牙设备
- 扫描到设备后进行数据处理,并渲染
- 将设备的mac地址、rssi、名称 封装到一个map对象中,方便取值
- 将map 添加到 数组中
- 点击连接按钮进入数据收发界面
- 只有当设备支持连接时才会展示连接按钮
2.数据收发功能
- 蓝牙通信设置
- 基本设置,mtu、phy
- 通信协议设置,支持拼接帧头、帧尾、校验位、帧长、控制字,用户只需发送数据位
- 追加符设置,支持追加换行符 0x0D(回车)、 0x0A(换行)
- 日志管理
- 自动滚屏,可以进行设置日志是否自动滚屏
- 日志显示,在日志中高亮显示不同UUID的内容
- 时间戳拼接,可以进行设置日志是否拼接时间戳
- 日志一键清理
- 日志存储限制,当前窗口显示的数据 不超过 1000条
- 用户每次打开软件,清空日志文件,一旦有数据接收并将日志追加写入到此文件(该文件保留的是全部日志内容)
- 日志保存,默认存储日志文件到系统位置
- 数据收发
-
支持Hex和文本两种数据格式发送与显示
-
支持监听多个读UUID,写只写一个UUID
-
参考图


功能描述
触发方式
在蓝牙列表页面点击蓝牙连接时进入此页面
页面展示内容
- 初始化时
- 配置蓝牙连接状态监听,并赋值给isConnect;
- 配置蓝牙数据接收监听,将接收到的数据进行处理。
- 页面上方有两个tab切换,分别是 蓝牙服务、实时日志
- 蓝牙服务 主要展示了该设备的服务列表和读写UUID,该部分用于选择设备的接收UUID、写UUID
- 实时日志 主要展示了该设备从连接以来的收发记录、连接、断开连接等记录
- 页面下方主要就是发送按钮 及 发送相关的配置
- 循环发送
- 拼接换行
- 协议配置
- 快捷发送按钮 是跳转到 自定义数据界面,选择已经配置好的自定义数据发送给硬件
3.自定义数据功能
-
添加自定义数据
- 通过输入数据描述和数据内容添加自定义数据,数据内容支持Hex格式
-
编辑自定义数据
- 在自定义数据列表中点击编辑按钮即可编辑自定义数据
-
删除自定义数据
- 在自定义数据列表中点击删除按钮即可删除自定义数据
-
使用自定义数据
- 在数据收发界面 点击快捷发送 跳转至自定义数据页面,选择自定义数据后并携带返回结果
参考图
功能描述
触发方式
在数据收发页面点击快捷发送时进入此页面
页面展示内容
- 初始化时
- 读取缓存文件中的自定义数据列表并赋值。
- 点击添加
- 跳出添加数据弹窗,结束后并将输入结果添加到list中
- 点击发送
- 将该项数据的值保存在缓存中,并由上层页面调用
- 点击删除
- 删除该项的值
4.数据波形图功能
窗口展示区根据设备发送的数据自动调整窗口宽度,可设置当前窗口展示的最大点数
通信协议参考如下
规则
<计数戳>{窗口名称}数据\n
备注
1.任意数据都可以分窗
2.当数据为逗号分隔数字时可以绘图
3.不支持中文,花括号、尖括号、换行符\n不可省略
4.计数戳为纯数字,作为X轴数据,不可带单位
数据示例
<0.0>{plotter}1,2,3,4
<1.0>{plotter}1,2,3,4
<2.5>{plotter}1,2,3,4
功能描述
触发方式
在数据收发页面点击数据波形时进入此页面
页面展示内容
- 初始化时
- 开始蓝牙状态监听操作,一旦断开连接返回到上个页面
- 蓝牙数据监听,对读取到的数据进行处理
- 根据通信协议解析 不同窗口的x、y值
- 页面销毁
- 取消蓝牙状态监听、蓝牙数据监听
- 页面上方是窗口的列表,用来选择窗口
- 页面中间是波形展示区域,用来显示处理好的波形数据
