现在在修改设备名字的时候遇到一个问题,每次修改名字后,要用 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 );
Barbara Wu:
名字是写在Scan Response Data里面的,要连接方主动扫描,Peripheral设备才会发送,
如果用Sniffer log看是有发出去,无法更新就应该是lightblue这端没有更新
he:
回复 Barbara Wu:
在 ScanRspData 里面已经发出修改后的名字了,但是在 lightblue 上面显示的名字还是没有修改。
Barbara Wu:
回复 he:
我对iOS的开发不熟,不知道是否会有接口读取更新后的参数
但是发出来的值如果更新了感觉问题应该是在lightblue这端
he:
回复 Barbara Wu:
好的,谢谢。
he:
回复 Barbara Wu:
但是我用信驰达的模块,他们那个修改名字之后在 Lightblue 上面马上就修改了啊
haibin deng:
回复 he:
你好!
我也遇到这个问题,
he:
回复 haibin deng:
请问你怎么解决的呢?
haibin deng:
回复 he:
你好!
我测试发现用LightBlue修改名字,其他手机搜索到的是新名字,只有修改名字那个手机还显示之前的名字
he:
回复 haibin deng:
您的代码是下面这样吧?
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, len, scanRspData );GGS_SetParameter( GGS_DEVICE_NAME_ATT, len, attDeviceName );
// Updata device nameGAP_UpdateAdvertisingData( selfEntity, FALSE, len, scanRspData );
还是说需要在其他地方有什么修改?
haibin deng:
回复 he:
是的