cc2541,使用的是 SimpleBLEPeripheral 工程改写的,本来服务里有5个特征值,前面4个都是可以直接读或者写的,为什么第五个特征值需要配对后才能读?而且我自己新添加了一个特征值6,也是需要输入配对密码后才能读写,在新添加特征值时候,我把特征值5和6的一些设置和其他的几个比较,,没有发现什么不同的;为什么5和6就需要配对才可以??是有其它地方有特别设置吗? ?求解
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
cc2541,使用的是 SimpleBLEPeripheral 工程改写的,本来服务里有5个特征值,前面4个都是可以直接读或者写的,为什么第五个特征值需要配对后才能读?而且我自己新添加了一个特征值6,也是需要输入配对密码后才能读写,在新添加特征值时候,我把特征值5和6的一些设置和其他的几个比较,,没有发现什么不同的;为什么5和6就需要配对才可以??是有其它地方有特别设置吗? ?求解
admsadm
你可以说的详细点吗?
我使用的是SimpleBLEPeripheral 这个示例工程,然后用手机app连接,手机使用的是iphone4s,装的app是appstore中下的 LightBlue。前面3个特征值都可以直接多或者写,第4个属性是通知,第5个读的时候app会弹出对话框要求输入密码配对。
你的意思是说这是手机app的问题?但是我用安卓的相关app试了也是同样的需要配对
// Simple Profile Characteristic 5 Properties
static 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 工程里面的,没有改过,只知道第一行里表示特征值时只读的属性
数组表里面的三项中,第一项表示特征值可见,后面两个就不知道是什么意思了
谢谢 shaokai Lin ,我粗心了,
还有一个问题,使用ios的light blue去连接没有问题,但是使用安卓的BLE Scanner app去连接,会连上一下然后立即就断开了,手机这边不退出,2541再次开启广播才能够连接上。
推测是手机这边扫描请求和连接请求连续发送,会导致连接上就马上断开(可能是因为时间间隔还是什么?);而第二次连接,只是发送了连接请求,所以连接上了。
不知道这个推测是不是正确的,如果是,应该到哪一部分去找问题?
2541这边还是SimpleBLEPeripheral 这个工程改的