【转】蓝牙ble app开发(三) -- 抓包
原文网址:http://blog.csdn.net/lckj686/article/details/43156617
关于android 蓝牙app开发抓包的重要性在 android 蓝牙ble app开发(二) -- 关键概念,连接参数,连接请求 中已经详细描述就不再熬述了固件基于cc2540 cc2541
1、环境
需要一个抓包器几十块钱, USBdongle
装Packet Sniffer软件进行抓包。
环境搭建可以参考:http://blog.csdn.net/mzy202/article/details/32408223
注:关于软件的一些特别设置,比如过滤器什么的不用刻意追求,差不多就好。
另外补充一点,ble通信新到有37,38,39三个信道,具体在哪个信道是随机的,而且每次连接都不固定,所以抓不到是很正常的。多抓几次只能。建议是调试验的时候固件端修改下配置,设在固定信道里,配置信道的函数是:GAPRole_Init
2、具体的包
Direction:
M -> S 主机到从机 手机到ble固件
S -> M 从机到主机
出现 ? 如果不是发的太快,可能是异常了,也不排除抓包器不行
广播包
连接事件:
初始连接包:
前半截
后半截
winsize winoffset 窗口参数,ble协议里有,不用太关心
timeOut 超时时间
latency 对应slaver latency
Interval 对应connection Interval
详细描述见 android 蓝牙ble app开发(二) -- 关键概念,连接参数,连接请求
请求更新参数包:
接受请求参数:
result 0表示接受,1表示拒绝
重新设置更新参数:
write写:
主机监听:
监听到:(从机返回)