CC2540 和 国产安卓手机通讯有问题
最近在开发基于CC2540的一款产品,用户通过手机APP和它通讯。产品在测试阶段,发现CC2540和有些国产安卓手机通讯不稳定比如乐视1(安卓版本5.02,蓝牙版本4.0),酷派 大神not3(安卓版本5.1 蓝牙版本4.0),OPPO A37m(安卓版本5.1蓝牙版本4.1)等。这些手机在和CC2540连续通讯时,有时手机端就收不到蓝牙发来的信息,不知道是哪里的问题。最严重的是乐视2(安卓版本6.0,蓝牙版本4.2),直接无法搜索到蓝牙广播。目前这个项目因为这个问题一直处于停滞阶段,请TI的技术人员,看能从哪里解决这个问题。
1. 使用最新的协议栈1.4.1来测试,用里面的例子测就好
2. 抓包分析,看是因为什么原因导致,一般像断开都会有个断开的原因,另外,你发了广播,手机不回应,再找芯片的问题也没用是吧。 TI的协议栈是过了蓝牙认证的。
3.也可以拿一些其他方案对比测一下
以前就有用户反映这个问题,好像用的苹果手机。
建议直接采用BLE协议栈内的例程测试
你好,TY:
1、目前我们的产品是在协议栈1.3.2版本上开发的。
2、 我使用抓包软件抓了两种手机通讯数据,还是看不出哪里有问题。其中,小米2S通讯时稳定的。酷派大神note3是不稳定的。您帮忙查看下,那台不行的手机抓包记录在附件。
3、关于有些国产安卓手机直接就搜不到CC2540的广播,有没有方法,比如修改APP某些参数,可以让目前搜索不到广播的手机也能用。我们目前遇到的手机是乐视2(安卓6.0,蓝牙4.2),.直接就搜索不到广播。使用了好多BLE扫描软件都不行。或者是怎样判断是手机自身的问题,因为实际这个产品是被用于所有普通用户的,只有兼容所有手机,这个产品才可以有更大的市场。
你好,Susan:
CC2540装载的是 TI 蓝牙协议栈 1.3.2 例程中的SimpleBLEPeripheral,测试。和通讯不稳定的安卓手机交互多条数据偶尔不稳定。走单条命令稳定。通讯不稳定的手机比如:乐视手机1(安卓5.01,蓝牙4.0),一加A0001 (安卓4.3 蓝牙4.0),酷派大神Note3 全网通( 安卓5.1 ,蓝牙4.0),OPPO A37m (安卓5.1,蓝牙4.1)。等,不知道是国产手机蓝牙4.0兼容性不好,还是APP调用蓝牙的API的问题。
你把抓包拉到最后,这里的错误是,手机主动提出断开的。如下
错误号0x13,查协议栈如下,这个是M->S发起的
#define HCI_ERROR_CODE_REMOTE_USER_TERM_CONN 0x13
下一步建议:
1. 升级TI的协议栈到1.4.1,也升级下大神note3的固件。