CC2541 AirSync(3)——特征值

来源:互联网 发布:网管软件平台 编辑:程序博客网 时间:2024/06/04 08:23

在做 CC2541 上微信的时候,最好配合 AirSyncDebugger 软件使用,这个软件只有安卓版本,下载地址:http://iot.weixin.qq.com/download.html;所有的相关资料都可以在这里下载,里面有个 Demo 程序,是基于 Nordic nRF51822 平台的。

在过 AirSyncDebugger 验证的时候,第一二步前面有说,这里说第三步。第三步主要是验证服务和特征值。wechatIOTAttrTbl[] 程序如下所示:

static gattAttribute_t wechatIOTAttrTbl[] ={// wechatIOT Service{{ ATT_BT_UUID_SIZE, primaryServiceUUID } ,/* type */GATT_PERMIT_READ ,/* permissions */0 ,/* handle */(uint8 *)&wechatService/* pValue */} ,    //////////////////////////////////////////////    // Indicate    //////////////////////////////////////////////// 1. Characteristic Declaration{{ ATT_BT_UUID_SIZE, characterUUID },GATT_PERMIT_READ,0,&wechatIndicateProps},// 2. Characteristic Value{{ ATT_BT_UUID_SIZE, wechatIndicateUUID },0, //return READ_NOT_PERMITTED0,&wechatIndicate},// 3.Characteristic Configuration{{ ATT_BT_UUID_SIZE, clientCharCfgUUID },GATT_PERMIT_READ | GATT_PERMIT_WRITE,0,(uint8 *)&wechatIndicateConfig},    //////////////////////////////////////////////    // Write    //////////////////////////////////////////////// 4.Characteristic Declaration{{ ATT_BT_UUID_SIZE, characterUUID },GATT_PERMIT_READ,0,&wechatWriteProps},// 5.Characteristic Value{{ ATT_BT_UUID_SIZE, wechatWriteUUID },GATT_PERMIT_READ | GATT_PERMIT_WRITE,0,&wechatWrite[0]    },//////////////////////////////////////////////// Read    //////////////////////////////////////////////// 6.Characteristic Declaration{{ ATT_BT_UUID_SIZE, characterUUID },GATT_PERMIT_READ,0,&wecharReadProps},// 7.Characteristic Value{{ ATT_BT_UUID_SIZE, wecharReadUUID },GATT_PERMIT_READ ,0 ,&ownAddress[0]} ,} ;
这里是 BLE 设备与 微信 连接的关键部分,只有这里对了,才能正确的连接和数据交换。当然还有写其他的地方,都不是重点,就不再这里写了。


这一块如果不熟悉的话理解起来还是比较麻烦的,我也是先做了一年多的蓝牙,把 CCC2541 的所有重要的地方都熟悉过了,在看上微信的程序才很容易,但是后面的封包、认证的程序就理解起来很困难,因为根本没有接触过。



1 0