This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LightBlue与Peripheral握手包求解

Other Parts Discussed in Thread: CC2540

今天用sniffer抓取LightBlue跟Peripheral连接流程,其中有一个过程不太了解是什么意思,资料查了一圈也没找到答案,具体如下:

我觉得这个两个会话貌似寻找到了Peripheral上的两个service,一个是device infomation,一个是FF F0,但我不清楚这两个命令的具体含义。

恳请TI工程师不吝赐教。

  • Hi liqun,

    这是两个写的操作, 一个往0x0001的handle上写了FF FF 00 28, 另一个也是, 区别是写到了0x0023的handle上.

    至于外设回的内容, 由于没有解析出来, 只显示generic l2cap payload, 所以很难知道具体是什么.

    你用的是simpleBLEPeripheral?

    建议你可以用CC2540 USB dongle 连接到PC, 然后用BLE device monitor (可以在TI网站上下载到) 连接你的外设, 并查找一下service和characteristic, 对应起来看看你的外设的0x0001和0x0023 的handle对应的是什么, 写类似的这些数据进去会有什么反应, 同时也可以抓包看看.

  • 非常感谢您的回复,我原先的猜想也是这样的,但是这么理解的话整个上下文联系不起来啊

    我昨晚对照device monitor的log仔细比对之后,貌似对应上了什么,如上图红色标记文字所示。我现在的理解那个所谓的ATT_Write_Cmd应该不是写什么,而是遍历所有主服务,是不是sniffer软件有bug,应该是 0x10 0x0001 0xFFFF 0028,意思是从0x0001~0xFFFF handle的所有主服务,所以下面才返回了所有主服务的uuid,但是我也不确定我的这个推论是否对。

    我在协议栈中gatt.h中找到有ATT_Write_Cmd这个事件,也就是说ATT_Write_Cmd这是一个事件类型,在我现在很好奇ATT_Write_Cmd这个事件类型的意思是什么。

    期待您的帮助

  • Hi liqun,

    sniffer软件目前没有类似bug :)

    在这条写命令之前, 是否有其他的读命令呢?

    Generic L2CAP Payload 这种真的比较难判断里面的内容到底是什么 :(