查看: 2714|回复: 2

[原创] 【经验分享】ble的notification和indication

[复制链接]

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
19947
最后登录
2024-4-19
发表于 2021-5-10 09:48:23 | 显示全部楼层 |阅读模式
Ble服务端传输消息有两个常用手段,notification和indication。那么这两者之间有什么区别呢?
Notification 不需要应答,所以服务端发送的消息,它自己并不知道消息是否发送成功。
Indication 需要客户端应答,每次服务端发送完数据都需要客户端发送应答消息。其中有一点很重要,如果你发送的indication客户端没有应答,你是不能再次发送indication的。
pastedImage_1.png
需要注意的是,服务端一开始是无法直接发送Indication和Notification。首先必须是客户端通过往服务端的CCCD特征(clinet characteristic configuration descriptor)写入值来使能服务端的这两个功能Notification/Indication,这样服务端才能发送。这也是为什么我们在看服务端的profile时候是有cccd特征的原因。
总结一下,Notification是一种不可靠传输,indication则是可靠传输。但是可靠传输意味着传输数据的速率降低,开发ble程序如果对数据可靠性要求不是很高的情况下就使用Notification吧。
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-24 18:42
  • 签到天数: 206 天

    [LV.7]常住居民III

    18

    主题

    311

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2743
    最后登录
    2024-4-9
    发表于 2021-5-10 10:52:57 | 显示全部楼层
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-12 15:47
  • 签到天数: 93 天

    [LV.6]常住居民II

    0

    主题

    356

    帖子

    0

    高级会员

    Rank: 4

    积分
    761
    最后登录
    2023-3-15
    发表于 2021-5-11 16:39:46 | 显示全部楼层
    看看有点意思
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-20 22:07 , Processed in 0.111840 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表