BLE GATT协议初见

GATT协议:

GATT是服务端/客户端模型,通常外设是server端,提供不同的服务,不同的事务被区分成不同的服务;而中央设备是client 端,通过操作UUID或者handle, 进行读写,或者监听通知的操作。

GATT相关术语

特征值 characteristic

1.特征值的表征:区分特征值有唯一的UUID,或者句柄(server端属性表的索引)

 

2.特征值的权限:write 可读,read 可写,notify 可监听通知,write no response 可读(不应答的方式)

3.对特征值的操作:

write 有两种方式:notify 和 indication 应答或者不应答

read 可以通过UUID读取特征值,也可以通过特征值的句柄读取特征值

notify 通知,可以在客户端不主动请求的情况下,服务端主动推送数据。需要客户端(接收端)对该特征值进行监听

流程(个人理解):

服务端在属性表添加 notify 权限的特征值,此时会在该handle +1 多一个cccd

服务端写入:

对该handle写入数据即可

客户端接收:

客户端开启对特征值的通知监听,需要向该特征值的handle+1,写入01 00(notify),写入02 00(indication)

客户端取消对特征值的通知监听,需要向该特征值的handle+1,写入00 00

技巧:利用notify给主机发数据,可以避免在外设也实现一套 GATT client 的代码

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值