设备名的问题
yan,你好
app把设备名字改好后,在app里显示是改成功了。但我断开后,重新连接。或在蓝牙设置里面忽略设备再配对连接,名字又回到以前在固件中设置好的。
我在固件中收到它修改的名字重新设置一次,还是不行。是不是收到app修改的名字要把他用snv读写来处理才能真正修改过来。
谢了。
祝好
Lincoln
advertData或者scanRspData设备名字,还有 GGS_SetParameter( GGS_DEVICE_NAME_ATT, sizeof ( attDeviceName ) , attDeviceName );这个设备名字也需要修改。
全部修改过来才行
yan,你好,我的deviceName,advertData,与attDeviceName不一样。app里显示的是attDeviceName。因此我只更新了GS_SetParameter( GGS_DEVICE_NAME_ATT, sizeof ( attDeviceName ) , attDeviceName ),是不是不一样也要更新deviceName,advertData这两个。谢了。
祝好
lincoln
林肯,
正如weiwei 所说, 你两个都要改。
advertData 只是改变了你的广播内容。
好的,谢谢weiwei,谢谢yan。我一直对uuid读写属性,_WriteAttrCB,_ReadAttrCB有写困惑,想仔细理一下:
1)在从机这边定义uuid的属性读写,是否都是针对主机的,还是从机本身自己有读写操作。因为从机对主机读写是r/notify。
2)主机对从机读。是否从机一定要notify,还是可以不做?
3)主机对从机写,从机是通过回调_WriteAttrCB相应,是否意思就是从机可以在_writeAttrCB拦截到数据并把它取出来。
4)主机对从机读。从机是通过回调_ReadAttrCB相应,是否意思就是主机可以在_ReadAttrCB拦截到数据并把它取出来。
我现在老出现这种情况:(主机)app那边给从机写数据,从机这边我存起来,用lightblue看还是老的,没有更新。怎么才能看到更新的值。A
看到程序中好象有ChangeCB,_appCBs回到更新值,但吃不准怎么用。
谢了。
祝好
lincoln
1 UUID里面的属性值 就是用来作数据交换的,针对自己而言 这个没有什么意义吧
2) indicate 也可以 ,什么都不做 也可以的 ,那就是主机乱使能一个通知 试试就知道了。如果有通知功能的属性 ,好像 我们上层阻止不了数据传递。
3)是这样的啊 回调函数嘛 就干这个的
4)static void simpleBLECentralProcessGATTMsg( gattMsgEvent_t *pMsg ) 更新的数据 就会触发 这个函数 里的事件 在这里 处理下 新直就行了
yan:
你好 ,我现在在做更新devicename,遇到了一些问题。
我用的是cc2540,手机端调试用的是lightblue。
我的过程是这样的 :通过lightblue将新的设备名字下发,设备收到后首先将新的名字存到flash中,然后更新值scanRspData和attDeviceName这两个数组里面值,最后调用GGS_SetParameter( GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN, attDeviceName );和
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, 26, scanRspData );这两个函数更新名字。
我想实现的是lightblue发送数据之后,设备名字得到更改。断开连接之后,重新扫描的时候应该localname和devicename都得到更新。
但现在的情况是这样的:
1.lightblue数据下发之后,断开连接,设备不重启,刷新lightblue的设备列表,localname和devicename都未得到更新。
2..lightblue数据下发之后,断开连接,重启设备,刷新lightblue的设备列表,localname得到更新,devicename未得到更新。
3..lightblue数据下发之后,断开连接,设备不重启,再次连接设备,然后断开连接,重新刷新lightblue的设备列表,localname和devicename都得到更新。
请问问题出在什么地方?是cc2540的代码有问题 还是lightblue本身存在问题?
zhao,
CC2540 代码应该不会有问题。
请确保你用的是最新的1.4版本协议栈,然后用Device Monitor 试试看修改会不会成功。
zhao jia,
你好,我现在遇到和你同样的问题,请问你解决这个问题了吗?
好像是手机端会有缓存, 要重新连接上之后才会更新。
那你,现在是没有修改吗?还是APP端做了修改?
这个问题目前还没有解决吗?