TI中文支持网
TI专业的中文技术问题搜集分享网站

请教一下CC2540,手机应用App通信问题。

本人使用CC2540标准例程SimpleBLEPeripheral进行开发BLE控制设备,目前底层固件和通信命令已经使用TI提供的ios端lightblue软件测试通过,同时自己开发的ios端控制软件也调试OK,ios端数据通信正常;但是使用安卓端软件控制时,有明显的数据通信延时。

备注:安卓发包指令和相关数据通信结构和ios是一致的,同样的安卓软件用来控制其他BLE设备时,数据通信正常。

不知道是什么原因造成安卓端在我们现有设备上的通信延时。

moon mike:

另外,请问一下,安卓端有没有类似于lightblue一样的测试工具呀?

key dongle:

回复 moon mike:

(1)看下那个有延迟的BLE设备与其他BLE设备的连接参数等有什么差异,同时需要注意ios和android的蓝牙连接要求要求也是不同的,对比一下。

(2)似乎还没有吧。

Yan:

回复 moon mike:

moon,

你可以可以用一下TI 的packet sniffer 抓包看看你的连接参数的情况,这个能一目了然。

moon mike:

回复 key dongle:

hi, key

    首先我的ios和安卓端软件发包属性都定义为WRITE_NO_RSP,同时BLE设备端软件数据写入属性定义为GATT_PROP_WRITE_NO_RSP。

1、使用ios软件连接发送数据时,数据通信没有延迟;

2、同样条件下使用andriod软件连接发送相同数据,刚开始连接时,数据通信也是正常的,大概过了几秒钟之后,数据通信开始出现明显的延迟。

对比了一下其他BLE设备的连接参数,没有发现什么异常,另外,您提到的ios和android的蓝牙连接要求要求也是不同的,这个能明细一下嘛,我不太了解这部分差异。。

thanks。。。。

moon mike:

回复 Yan:

hi,Yan

    我用packet sniffer抓包的情况如下,但是不知是否正常。

貌似用packet sniffer抓包,很多数据包都捕获不到。

Yan:

回复 moon mike:

moon,

从这个图来看,都是正常的, 50ms的connection interval。

之后有没有connection update 的请求呢?

moon mike:

回复 Yan:

hi,Yan

    正常通信时的抓包截图:

异常数据通信时抓包截图:

我感觉像是手机软件的问题,不是我BLE设备底层软件的问题,您觉得呢?

key dongle:

回复 moon mike:

参考附件P22,看到ios对连接时间参数要求相对较严。

moon mike:

回复 Yan:

手机对BLE设备发包一段时间之后,有connection update 的请求。

key dongle:

回复 moon mike:

参考附件P22,可看到ios对蓝牙连接参数相对较严的。

赞(0)
未经允许不得转载:TI中文支持网 » 请教一下CC2540,手机应用App通信问题。
分享到: 更多 (0)