实现BLE 按键通知
本帖最后由 smagi 于 2018-2-25 10:51 编辑实现按键通知的步骤如下,
1. 搭建一个普通的GATT server, 如果没有完成这一步,请先学习 GATT Users Guide以及相关的blog.
2. 修改server GATT db接口文件 xx_server.dbi
2.1 修改characteristic 属性
properties: [ read, notify ],
2.2 增加 client_config 字段
client_config {
name : "XXX_CLIENT_CONFIG",
flags : [ FLAG_IRQ ]
}
3. 编写 clientConfigAccess 函数, 参考已有的服务程序
对ATT_ACCESS_WRITE的处理中需要记录 access_ind->cid以及 access_ind->value
4. 按键处理,编写发送通知的函数
4.1 检查记录的 cid 以及 client_config 值,确定此连接需要接受通知
4.2 发送通知,调用
GattNotificationRequest(gattManagerDataGetTask(), cid, HANDLE_XXX,1, &skPressed);
此处 HANDLE_XXX需要使用 sink_gatt_db.h中的定义,uint8 skPressed 记录按键值。
手机应用修改就不说了。记得修改dbi之后修改设备地址或者重启手机以涮新记录。
帮顶,:victory::victory::victory::victory::victory: 谢谢楼主分享,有需要时测试一下。 mark , thanks! 66666666666666666 :):):):):):)
页:
[1]