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

为什么添加新的特征之后,需要配对后才能读写

cc2541,使用的是 SimpleBLEPeripheral 工程改写的,本来服务里有5个特征值,前面4个都是可以直接读或者写的,为什么第五个特征值需要配对后才能读?而且我自己新添加了一个特征值6,也是需要输入配对密码后才能读写,在新添加特征值时候,我把特征值5和6的一些设置和其他的几个比较,,没有发现什么不同的;为什么5和6就需要配对才可以??是有其它地方有特别设置吗?  ?求解

tim yuan:

我是按照附件中的步骤添加的,以下是附件

admin admin1:

配对跟读写profile应该没有直接的关系。

tim yuan:

回复 admin admin1:

admsadm 你可以说的详细点吗?我使用的是SimpleBLEPeripheral 这个示例工程,然后用手机app连接,手机使用的是iphone4s,装的app是appstore中下的 LightBlue。前面3个特征值都可以直接多或者写,第4个属性是通知,第5个读的时候app会弹出对话框要求输入密码配对。你的意思是说这是手机app的问题?但是我用安卓的相关app试了也是同样的需要配对 

shaokai Lin:

回复 tim yuan:

检查下是否是特征值的访问属性被你修改了。

特征值的访问属性有:可读、可写、认证可访问。。。

admin admin1:

回复 tim yuan:

tim yuan,

第五个profile的属性能贴出来看看吗

tim yuan:

回复 admin admin1:

// Simple Profile Characteristic 5 Propertiesstatic uint8 simpleProfileChar5Props = GATT_PROP_READ;

下面这个数组里面:

static gattAttribute_t simpleProfileAttrTbl[SERVAPP_NUM_ATTR_SUPPORTED] 

 // Characteristic 5 Declaration {     { ATT_BT_UUID_SIZE, characterUUID },    GATT_PERMIT_READ,     0,    &simpleProfileChar5Props  },

 // Characteristic Value 5{    { ATT_BT_UUID_SIZE, simpleProfilechar5UUID },   GATT_PERMIT_AUTHEN_READ,    0,     simpleProfileChar5  }, // Characteristic 5 User Description {   { ATT_BT_UUID_SIZE, charUserDescUUID },  GATT_PERMIT_READ,   0,   simpleProfileChar5UserDesp },

这些都是 SimpleBLEPeripheral  工程里面的,没有改过,只知道第一行里表示特征值时只读的属性

数组表里面的三项中,第一项表示特征值可见,后面两个就不知道是什么意思了

tim yuan:

回复 shaokai Lin:

谢谢 shaokai Lin ,我粗心了,

还有一个问题,使用ios的light blue去连接没有问题,但是使用安卓的BLE Scanner app去连接,会连上一下然后立即就断开了,手机这边不退出,2541再次开启广播才能够连接上。

推测是手机这边扫描请求和连接请求连续发送,会导致连接上就马上断开(可能是因为时间间隔还是什么?);而第二次连接,只是发送了连接请求,所以连接上了。

不知道这个推测是不是正确的,如果是,应该到哪一部分去找问题?

2541这边还是SimpleBLEPeripheral  这个工程改的

shaokai Lin:

回复 tim yuan:

《BLE Scanner app》是你自己写的应用程序吗?

可以尝试再Peripheral端打印出实际的连接间隔 

赞(0)
未经允许不得转载:TI中文支持网 » 为什么添加新的特征之后,需要配对后才能读写
分享到: 更多 (0)