时间:2026/9/18 12:44:05阅读:次
最近好几个做硬件的朋友问我,安卓端调蓝牙低功耗设备到底用啥工具顺手。我一般直接甩BLE调试宝过去,这玩意儿体积小、没广告,关键是不用登录就能用。但说实话,工具再好也有人用得一肚子火,连接老断、数据看不懂、特征值找不着……今天就把我这两年用BLE调试宝踩过的坑和攒下的技巧一次性聊透,不管你是刚入门的嵌入式小白,还是天天跟手环、传感器打交道的测试老哥,看完至少能少熬两个晚上。
很多人第一次打开BLE调试宝,搜不到目标设备就慌了。其实十有八九不是软件问题,是权限没给全。安卓6.0以后蓝牙扫描需要定位权限,这设定挺反人类的,但没办法。你去手机设置里把定位打开,再给BLE调试宝授予“始终允许”的位置权限,基本就能刷出设备列表了。
还有一种情况,设备已经被其他App连着了。BLE是点对点连接,一个从机同时只能被一个主机连着。你先把手机里那些智能家居App、手环App后台全划掉,再重新扫描。我遇到过最离谱的一次,是同事的测试机连着个蓝牙耳机,结果死活搜不到开发板,排查了半小时才发现是耳机占着蓝牙通道。另外,如果你用的是安卓12以上的手机,注意看下“附近的设备”权限,这个也得给。
连上设备之后,BLE调试宝会列出所有服务。很多人看到那一长串UUID直接懵了,其实你只需要盯住三个东西:服务、特征值、描述符。服务是最大的盒子,特征值是盒子里真正干活的,描述符是特征值的说明书。你想读数据,就找带有“Read”属性的特征值;想发指令,就找“Write”或者“Write Without Response”的。
有个小技巧,BLE调试宝里长按某个特征值可以展开看它支持的所有属性。我调过一个血压计,它的数据上报特征值藏在第三个服务里,前两个服务全是空的,要不是挨个点开看,根本找不到。还有,如果你要接收通知,记得先点那个“订阅”按钮,也就是写描述符0x2902,不然设备发了数据你也收不到。这个坑我踩过不止一次,明明设备在发,手机就是没反应,最后发现是忘了开通知。
用BLE调试宝发十六进制指令的时候,注意输入格式。它支持文本和HEX两种模式,你要是发“01A2”这种,得切到HEX模式,不然它会把字母当ASCII码发出去,设备收到的就是另一回事了。收数据也是,如果显示一堆乱码,先检查编码格式,UTF-8、GBK都试试,有些老设备用的是GB2312。
丢包问题更常见。BLE默认的MTU是23字节,实际能用的载荷也就20字节。你一次发几百字节,肯定会被拆包,接收端如果没做拼包处理,看起来就像丢了数据。BLE调试宝里可以请求更大的MTU,安卓端一般能协商到247字节,但得设备也支持才行。我一般建议分包发,每包不超过20字节,中间加个10毫秒延时,稳得很。还有那个“自动重连”开关,调试的时候最好关掉,不然你刚想抓断开瞬间的日志,它又连上了,烦得很。
BLE调试宝自带日志功能,在设置里把“保存日志”打开,出问题的时候直接导出来看。常见的报错就那么几个:GATT_ERROR 133,一般是连接参数没协商好,或者设备已经断开了你还在发指令;GATT_ERROR 8,超时,多半是信号太差或者设备忙;GATT_ERROR 22,一般是特征值属性不对,比如你往只读的特征值写数据。遇到133别急着重启手机,先在BLE调试宝里点一下刷新服务,很多时候就好了。
最后说个冷门技巧,BLE调试宝可以配合nRF Connect一起用。比如你先用nRF Connect确认设备广播正常,再用BLE调试宝做批量收发测试,两个工具交叉验证,能省不少扯皮时间。反正我手机里这两个App是常驻的,调蓝牙离了它们真不行。希望上面这些经验能帮你少走点弯路,有啥新坑欢迎补充。

2026-09-18
极狐ARCFOX阿尔法S纯电轿车续航实测
东方甄选直播间爆火背后的选品逻辑
BLACKPINK吃鸡手游国服正版联动活动入口
免费PDF编辑器推荐一键编辑PDF文件
2025年黄道吉日查询一览表
绝地求生僵尸模式手机版免费下载安装
一点资讯最新版本手机官方下载app安装
DeepSeek软件最新版下载安装及功能升级全解析
洛克王国世界新手入门攻略与精灵捕捉技巧
热门评论