分析工具:wireshark

1、开启记录蓝牙包,在开发者选项下面

2、adb rm掉 btsnoop_hci.log 文件,我的手机在/sdcard 路径下面。先删除是为了不让之前的包干扰

3、一些列蓝牙操作之后adb pull /sdcard/btsnoop_hci.log f:/btpacket/btsnoop_hci.log

4、使用wireshark打开

0818b9ca8b590ca3270a3433284dd417.png

场景:手里有一台体脂秤,使用lightblue只能大概看到体重数据,原本是脂肪等数据的全是FF,于是猜测是否需要写入其他参数。使用官方app时 需要填写个人信息 我填的是身高170 性别女 年龄20。

使用wireshark打开之后(楼主也不太会用这个就从最后开始找,因为测量结束之后我就断了蓝牙)寻找手机->设备的交互报文,找到如上图,我发现有一组数很眼熟 01  14  aa。aa = 170  14 =20  01 大概就是女的意思了。然后为了能在我的app中使用需要知道 往哪个特性写了值,很显眼的UUID:1bcxxxxxxx。但是需要注意我看了设备所有的特性uuid都没有1bcxxx 的。原来分析工具是存放方式不一样 应该是29f1xxxx开头的UUID

写入:

chara.setValue(new byte[]{(byte) 0x10,(byte) 0x00,(byte) 0x01,(byte) 0x14,(byte) 0xaa});gatt.writeCharacteristic(chara);

返回:000114AA026900F3022C001A010B0805FA00D500

000114AA0269体重00F3脂肪022C水分001A骨骼010B肌肉08内脏脂肪 05FA卡路里00D5BMI00

000114aa026b00f4022c    001a    010b    09         05fd      00d6   00

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐