走南闯北是什么生肖| 男生回复嗯嗯代表什么| 什么河水| 来姨妈不能吃什么水果| 小孩喜欢吃什么菜| 脖子长痘痘是因为什么原因| 宫颈cin1级是什么意思| 冰火两重天是什么意思| 一面之词是什么意思| 恙虫是什么虫| 家里有小蜘蛛预示什么| 来例假吃什么水果| 双飞什么意思| 什么的竹叶| 免冠彩照是什么意思| earth是什么意思| 姨妈期间吃什么水果| 吐痰带血是什么原因| 皮脂腺囊肿是什么原因引起的| 总放屁是什么病的前兆| utc是什么时间| 一身傲骨是什么意思| 如饥似渴是什么意思| 梦见父母是什么意思| 爱生闷气的人容易得什么病| 眼晴干涩模糊用什么药| 四月28日是什么星座| fda是什么意思| 什么东西最补心脏| 田园生活是什么意思| 腹膜转移是什么意思| 新零售是什么意思| 网球肘是什么症状| 什么叫咳嗽变异性哮喘| 什么什么龙什么| 七零年属什么生肖| 什么耳朵| 7777什么意思| 绣球花什么时候开花| 头皮屑多用什么洗发水效果好| 十月十六号是什么星座| 富贵命是什么生肖| 乳酸脱氢酶偏低是什么意思| 什么是匝道图片| 女孩叫兮兮是什么意思| 腋窝痒是什么原因| 必迈跑鞋什么档次| 宝宝拉肚子吃什么好| 骨外科是看什么病的| 老虎头上为什么有王字| 斯德哥尔摩综合症是什么意思| d2聚体高是什么意思| 白子是什么东西| 肛瘘是什么原因造成的| 梦到被雷劈是什么意思| 六月十八是什么星座| 作价是什么意思| 投影仪什么牌子好| 什么叫做绝对值| 白居易是诗什么| 人人有的是什么生肖| 女人吃什么水果最好| 晚上睡不着什么原因| 地贫和贫血有什么区别| 八月13号是什么星座| 什么时候打仗| 孩子为什么不听话| 梦见自己会飞是什么意思| 臃肿是什么意思| 旅行的意义是什么| 气溶胶是什么| 口干口臭口苦吃什么药| 状元是什么官| 白芽奇兰是什么茶| 什么是继发性高血压| 水烧开后有白色沉淀物是什么| 弱冠是什么意思| 正常的月经是什么颜色| 2018年属什么| 手机root后有什么好处和坏处| 电脑什么时候发明的| 心衰吃什么药最好| 尿酸高吃什么水果好| 什么是粒子| 下嘴唇发紫是什么原因| 1989年是什么蛇| 770是什么意思| 可颂是什么意思| 5月27是什么星座| eno什么意思| 不发烧流鼻涕打喷嚏吃什么药| 贫血要注意些什么| 日常是什么意思| 彩棉是什么面料| 卵巢过度刺激综合症是什么| 蛇与什么属相相克相冲| 副乳是什么意思| 小腿麻木是什么原因引起的| 老是放臭屁是什么原因| 第一次同房是什么感觉| 红色和什么颜色搭配好看| 绿豆汤什么颜色| 乙肝核心抗体阳性是什么意思| 拔牙后能吃什么东西| 遗传物质是什么| 女排精神是什么| hpv52型阳性是什么意思严重吗| 经常拉肚子吃什么药好| 中国精神是什么| 感冒嗓子痒咳嗽吃什么药| 戍什么意思| saa偏高说明什么| 康普茶是什么| 痔疮是什么原因引起| 狗不能吃什么食物| 咳嗽背部疼是什么原因| 有什么好听的歌曲| 腋下异味挂什么科| 丙子日是什么意思| 艾滋病潜伏期有什么症状| 依赖一个人是什么意思| 属龙的守护神是什么菩萨| 痛风挂号什么科| 中国第五大发明是什么| 皇帝自称什么| vup是什么意思| 喝金银花有什么好处| 蚂蚁怕什么| 广东第一峰叫什么山| 肝肾阴虚是什么原因引起的| 甲功三项查的是什么| 女性为什么会肾结石| 过氧化氢是什么意思| mrsa是什么细菌| 松香有毒吗对人体有什么危害| 求欢是什么意思| 七夕节是什么时候| 西楚霸王是什么生肖| 经常口腔溃疡挂什么科| 吃的多拉的少是什么原因| 何许人也是什么意思| 什么情| 什么去甲醛最快有效| 人授后吃什么容易着床| 肚子着凉吃什么药| 拔完牙可以吃什么| jk制服是什么意思| 桃李满天下是什么意思| 淋菌性尿道炎吃什么药| 周杰伦英文名叫什么| 什么的绿毯| 木耳吃多了有什么坏处| 秦皇岛有什么特色美食| 婴儿为什么吐奶| 叙字五行属什么| 途字五行属什么| 心悸心慌焦虑吃什么药能缓解| 海藻面膜有什么作用| 地震为什么会发生| 贫血都有什么症状| 什么叫物质女人| 塌陷是什么意思| 类风湿什么症状| 认干妈有什么讲究| 一手是什么意思| 木人石心是什么意思| 腰脱什么症状| 减肥吃什么菜| 深谙是什么意思| 阴虚吃什么食补最快| 做胃镜前喝的那个液体是什么| 什么是碳酸饮料| 血沉高是什么原因引起的| 血压高吃什么药比较好| 门特是什么意思| 喝莓茶对身体有什么好处| 排斥一个人什么意思| 胰腺炎是什么| 眼睛上火用什么眼药水| 眉毛旁边长痘痘是什么原因| 漂流需要准备什么东西| quest是什么车| 月经颜色暗红色是什么原因| 血痣是什么原因引起的| 紫薯不能和什么一起吃| 软冷冻室一般放什么东西| 许莫氏结节是什么意思| 2007年五行属什么| 洁面膏和洗面奶有什么区别| ug是什么| 泮是什么意思| 儿童头痛挂什么科| 痛风买什么药| 办理慢性病需要什么手续| 血热吃什么| 什么积木| 白带带血丝是什么原因| 什么是肺大泡| 易建联为什么不打nba| 喉咙发炎吃什么消炎药| 他将是你的新郎是什么歌| 产后第一天吃什么最好| 开水烫了用什么紧急处理| 鼻子旁边的痣代表什么| 吃什么消炎药可以喝酒| 四大才子是什么生肖| pubg什么意思| 嗓子沙哑是什么原因| hankook是什么轮胎| 胃怕凉怕冷是什么原因| 什么是社恐| 什么是尿毒症| 三月十七是什么星座| 奶茶妹是什么意思| mr是什么意思| 心脏跳的快什么原因| 急性阑尾炎可以吃什么| 今天什么时辰立秋| 什么牌子的氨糖好| 消防支队长是什么级别| 经由是什么意思| 空集是什么意思| 门面是什么意思| 蔬菜都有什么| 甲沟炎去医院挂什么科| 女性尿路感染挂什么科| 成人感冒挂什么科| 什么是通勤| 水煮肉片用什么肉| 推测是什么意思| 被蟑螂咬了擦什么药| 儿童坐飞机需要什么证件| 今天天气适合穿什么衣服| 微喇裤配什么鞋子好看| 蜂蜜水什么时候喝好| 结节病变是什么意思| 无花果什么季节吃| 孙权字什么| 吃什么对眼睛有好处| 盐碱地适合种什么农作物| 常吐痰是什么原因| 为什么医生都穿洞洞鞋| 白天不咳嗽晚上咳嗽是什么原因| 孕期吃什么长胎不长肉| 碘酒和碘伏有什么区别| 笑什么如花| 螺蛳粉为什么叫螺蛳粉| 结膜炎用什么药| 心结是什么意思| 双顶径和头围有什么区别| 尿痛什么原因| 备孕是什么意思| 巧妙是什么意思| 曹操是什么样的人| 慢性前列腺炎有什么症状| 小孩儿咳嗽有什么妙招| 大蒜有什么功效| 等不到天黑烟火不会太完美什么歌| 谷字五行属什么| 本科毕业证是什么颜色| 夏天吃什么| 五七干校是什么意思| taco是什么| 胆囊粗糙是什么意思| 百度
"); //-->

博客专栏

EEPW首页 > 博客 > 蓝牙BLE: ATT和GATT的概念

尿分叉吃什么药好得快

发布人:电子禅石 时间:2025-08-04 来源:工程师 发布文章
蓝牙BLE: ATT和GATT的概念
百度 近年来,随着选择海葬送别亲人的市民越来越多,由于一些市民因身体或工作原因无法参加,从2013年第11次海葬开始,哈市首次开展了代撒骨灰业务,到目前为止已代撒骨灰105份。

BLE通信由两种设备类型构成—— Client和Server。

Server提供数据服务,所以一般来说设备是Server,手机是Client。Server和Client通过ATT PDU进行交互,Server通过characteristic对数据进行封装。多个characteristic组成一个Service,一个Service是一个独立的服务单元,或者说service是一个基本的BLE应用。如果某个service是一个蓝牙联盟定义的标准服务,也可以称其为profile,比如HID/心率计/体温计/血糖仪等,都是标准蓝牙服务,因此都有相应的profile规格书。

一. characteristic

一个characteristic包含三种条目:characteristic声明,characteristic的值以及characteristic的描述符(可以有多个描述符):

1.1 Characteristic declaration

就是每个characteristic的分界符。解析时一旦遇到characteristicdeclaration,就可以认为接下来又是一个新的characteristic了,同时characteristic declaration还将包含value的读写属性等。

1.2 Characteristic value

就是数据的值了,这个比较好理解就不再说了。

1.3 Characteristic descriptor

就是数据的额外信息。比如温度的单位是什么,数据是用小数表示还是百分比表示等之类的数据描述信息。CCCD是一种特殊的characteristicdescriptor,当characteristic具有notify或者indicate操作功能时,那么必须为其添加相应CCCD,以方便client来使能或者禁止notify或者indicate功能。

不管是characteristic declaration,characteristic value还是characteristic descriptor,实现的时候,我们都是用attribute来表达的,也就是说,他们每一个都是一个attribute,attribute可以用下图来表示:

 

二. Attribute

2.1 Attribute handle

 Attribute句柄。Client要访问Server的Attribute,都是通过这个句柄来访问的,也就是说ATT PDU一般都包含handle的值。用户在软件代码添加characteristic的时候,系统会自动按顺序地为相关attribute生成句柄。

2.2 Attribute type

  Attribute类型。在BLE中我们使用UUID来定义数据的类型,UUID是128 bit的,所以我们有足够的UUID来表达万事万物。其中有一个UUID非常特殊,它被蓝牙联盟采用为官方UUID,这个UUID如下所示:0000xxxx-0000-1000-8000-00805F9B34FB, 由于这个UUID众所周知,蓝牙联盟将自己定义的attribute或者数据只用16bit UUID来表示,比如0x1234,其实它也是128bit,完整表示为:

  00001234-0000-1000-8000-00805F9B34FB = 16 bit UUID 0x1234

 Attribute type一般是由service和characteristic规格来定义,站在蓝牙协议栈角度来看,ATT层定义了一个通信的基本框架,数据的基本结构,以及通信的指令,而GATT层就是前文所述的service和characteristic,GATT层用来赋予每个数据一个具体的内涵,让数据变得有结构和意义。换句话说,没有GATT层,低功耗蓝牙也可以通信起来,但会产生兼容性问题以及通信的低效率。

2.3  Attribute value

 就是数据真正的值,0到512字节长。

2.4 Attribute permissions

 Attribute的权限属性,权限属性不会直接在空中包中体现,而是隐含在ATT命令的操作结果中。目前主要有如下四种权限属性:

  ●Open,直接可以读或者写

  ●No Access,禁止读或者写

  ●Authentication,需要配对才能读或者写,由于配对有多种类型,因此authentication又衍生多种子类型,比如带不带MITM,有没有LESC

  ●Authorization,跟open一样,不过server返回attribute的值之前需要应用先授权,也就是说应用可以在回调函数里面去修改读或者写的原始值。

  ●Signed,签名后才能读或者写,这个用得比较少。

 

Client和Server之间是通过ATT PDU来通信的,ATT PDU主要包括4类:notifyindicate。如果一个命令需要response,那么会在相应命令后面加上request;如果一个命令只需要ACK而不需要response,那么它的后面就不会带request。这里要特别强调一点,BLE所有命令都是“必达”的,也就是说每个命令发出去之后,会立马等ACK信息,如果收到了ACK包,发起方认为命令完成;否则发起方会一直重传该命令直到超时导致BLE连接断开。换句话说,只要你的BLE没有断开,那么你之前发送的数据包,不管它是用什么ATT PDU来发送的,它肯定被对方收到了。我估计很多人对此会产生疑问,因为他们经常碰到丢包的情况,其实大家经常碰到的“丢包”,不是空中把包丢了或者包在空中被干扰了,而是大家发送的代码写得有问题,导致你要发送的包没有被安全送达到协议栈射频FIFO中,所以以后大家碰到丢包情况,请先检查你的代码,保证你的数据包正确完整安全地送达到协议栈射频FIFO中,只要数据包放到了协议栈射频FIFO中,蓝牙协议栈就能保证该数据包“必达”对方。既然每个ATT命令都必达对方,那么还需要request做什么?如果一个命令带有request后缀,那么发起方就可以收到命令的response包,这个response包在应用层是有回调事件的,而前述的ACK包在应用层是没有回调事件的。所以采用request/response方式,应用层可以按顺序地发送一些数据包,这个在很多应用场合是非常有用的。相反,如果你对应用层数据包的顺序没有要求,那么就可以不使用request/response形式。另外Request/response有一个副作用:大大降低通信的吞吐率,因为request/response必须在不同的连接间隔中出现,也就是说,你在间隔1中发送了一个request命令,那么response包必须在间隔2或者稍后间隔中回复,而不能在间隔1中回复,这就导致两个连接间隔最多只能发一个数据包,而不带request后缀的ATT命令就没有这个问题,在同一个连接间隔中,你可以同时发多个数据包,这样将大大提高数据的吞吐率。

常用的带request的命令:所有read命令,writerequest,indication等,而常用的不带request的命令有write command,notification等。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: bluetooth

相关推荐

技术专区

关闭
气胸是什么原因引起的 早晨起床口干口苦是什么原因 医院院长什么级别 奢侈品是什么意思 粉荷花的花语是什么
肽是什么意思 脸浮肿是什么病的前兆 意有所指是什么意思 甲状腺球蛋白高是什么原因 九月十四号是什么星座
太形象了是什么意思 噻虫高氯氟治什么虫 心内科是看什么病的 517是什么星座 红茶什么季节喝最好
什么什么自语 孕妇适合喝什么牛奶 天蝎女和什么座最配 胸腰椎退行性变是什么意思 bae什么意思
后果的意思是什么hcv8jop5ns4r.cn 多囊不能吃什么食物hcv9jop6ns2r.cn 净值是什么hcv9jop4ns1r.cn 大便拉不出来什么原因hcv8jop3ns0r.cn 脓包疮用什么药hcv8jop2ns3r.cn
熬夜伤什么hcv9jop2ns8r.cn 怀孕为什么会流褐色分泌物hcv8jop5ns7r.cn 排骨炖什么比较好吃hcv8jop4ns6r.cn 睡眠不好挂什么科hcv8jop1ns2r.cn 9d是什么意思hcv7jop4ns8r.cn
什么是手淫hcv8jop5ns4r.cn 肝瘘是什么hcv7jop9ns9r.cn 部首和偏旁有什么区别qingzhougame.com 一什么面包hcv7jop6ns8r.cn cl是什么牌子hcv9jop5ns3r.cn
肾造瘘是什么意思cl108k.com 打豆浆用什么豆子hcv9jop5ns1r.cn 喝咖啡有什么坏处hcv9jop4ns9r.cn 软开是什么hcv9jop5ns8r.cn 阑尾炎挂号挂什么科hcv9jop8ns1r.cn
百度