打印
[GW低功耗蓝牙MCU]

GW3323用蓝牙抓包工具抓取数据

[复制链接]
311|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Lana636|  楼主 | 2024-10-24 11:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GW3323在与不同APP进行通信时,不同通道回应的数据不同。为了兼容非自研的APP,就需要抓取蓝牙数据,获取APP的数据传输通道。


一、蓝牙数据抓取工具
蓝牙数据抓取,可以从空中获取所有蓝牙数据进行分析;也可以用手机的开发者模式,对手机的蓝牙日志进行分析。
1、E104-BT5032U是个蓝牙抓包工具
参考手册:
E104-BT5032U+_Datasheet_CN_v1.0.pdf
cat驱动文件安装教程.pdf



2、抓取手机里的蓝牙日志文件
我们可以手机上打开开发者模式,设置将蓝牙数据保存为Log中,设置完后在app对打印机进行打印,然后吧手机中的btssnoop.log导入到电脑wireshark中就可以对蓝牙的数据进行分析了。下图是小米手机获取蓝牙日志的方式:




二、安装wireshark

三、数据分析
按照设备地址进行过滤,例如GW3323_BLE2(001f00)的mac地址是20:23:12:01:00:54.过滤后数据如下:



四、蓝牙服务与属性的简要说明
读取(Read):客户端(手机APP)主动请求数据。例如获取温度传感器的当前读数。
写入(Write):客户端(手机APP)主动发送数据。例如设置LED灯的状态。
通知(Notify):服务器(蓝牙模块)主动向客户端(手机APP)发送更新。例如心率监测器定期更新心率数据。
Uuid分为描述uuid,服务uuid,特征值uuid
添加服务:ble_gatts_service_add()
添加特征值:ble_gatts_characteristic_add()

GATT协议(蓝牙通用属性协议)中,每个GATT都有唯一的属性句柄(Handle,与客户端交互时需要明确指定的唯一标识符。通常在自定义服务和特征中,开发者用索引(Index)来访问属性表中的元素,这样可以提高访问速度。索引不是GATT通信的标准要求。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

9

帖子

0

粉丝