微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2650 使用 LightBlue 查看修改名字问题

CC2650 使用 LightBlue 查看修改名字问题

时间:10-02 整理:3721RD 点击:

现在在修改设备名字的时候遇到一个问题,每次修改名字后,要用 LightBlue 连接 BLE 设备,退出后,名字才会显示已经修改。否则在 LightBlue 上面显示的名字始终都是修改之前的名字,请问这是怎么回事啊?

备注:

1、设备一直在广播,只用串口来发送修改的名字;

2、修改名字的代码如下:

GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, len, scanRspData );
GGS_SetParameter( GGS_DEVICE_NAME_ATT, len, attDeviceName );


// Updata device name
GAP_UpdateAdvertisingData( selfEntity, FALSE, len, scanRspData );

名字是写在Scan Response Data里面的,要连接方主动扫描,Peripheral设备才会发送,

如果用Sniffer log看是有发出去,无法更新就应该是lightblue这端没有更新

在 ScanRspData 里面已经发出修改后的名字了,但是在 lightblue 上面显示的名字还是没有修改。

我对iOS的开发不熟,不知道是否会有接口读取更新后的参数

但是发出来的值如果更新了感觉问题应该是在lightblue这端

好的,谢谢。

但是我用信驰达的模块,他们那个修改名字之后在 Lightblue 上面马上就修改了啊

你好!

我也遇到这个问题,

请问你怎么解决的呢?

你好!

我测试发现用LightBlue修改名字,其他手机搜索到的是新名字,只有修改名字那个手机还显示之前的名字

您的代码是下面这样吧?

GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, len, scanRspData );
GGS_SetParameter( GGS_DEVICE_NAME_ATT, len, attDeviceName );

// Updata device name
GAP_UpdateAdvertisingData( selfEntity, FALSE, len, scanRspData );

还是说需要在其他地方有什么修改?

是的

你现在用2640在做什么,我们可以讨论下,谢谢!

我试了一下如果是在CC2640广播的状态下,调用            GAPRole_SetParameter(GAPROLE_SCAN_RSP_DATA, sizeof(scanRspData2), scanRspData2);

就能从lightblue看到搜到的名称变化了

请问您说的不变化是在什么情况下呢?

你好!

在用手机的软件Lightblue修改名字后断开,搜索到的名字还是之前的,但是我用另外的手机搜索是改变后的

板子处于广播状态,在 lightblue 上面能收到板子的名称,然后通过串口发送需要修改的名称,修改后,Lightblue 上面显示的名称没有变化。Lightblue 连接板子之后,在广播数据那一栏里面发现 Local Name 已经修改成功。断开连接之后,Lightblue 上面显示的名字为修改后的名字。

我是用手机连接成功后,用手机修改的,

我广播数据那一栏里面发现 Local Name 一直没有被修改过来,但是搜索的名字是改变了

手机处于连接中去修改名字的话,需要断开连接之后再连接,就可以在 local Name 里面看见了。

這看起來是LightBlue的問題, 確實名稱有改進去scanRspData有看到, 而且其他app也都可以顯示改過之後的名稱。

有可能LightBlue會記住MAC對應的名稱, 目前推斷是這樣, 還沒找到解決的方式, 重裝LightBlue也是一樣..

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top