ESP32学习笔记(31)——BLE带有属性表的GATT服务

更新时间:2023-06-24 18:53:09 阅读: 评论:0

ESP32学习笔记(31)——BLE带有属性表的GATT服务
toefl官网
⼀、简介
1.1 通⽤属性协议(GATT)
GATT是⽤Attribute Protocal(属性协议)定义的⼀个rvice(服务)框架。这个框架定义了Services以及它们的Characteristics的格式和规程。规程就是定义了包括发现、读、写、通知、指⽰以及配置⼴播的characteristics。
为实现配置⽂件(Profile)的设备定义了两种⾓⾊:Client(客户端)、Server(服务器)。esp32的ble⼀般就处于Server模式。
⼀旦两个设备建⽴了连接,GATT就开始发挥效⽤,同时意味着GAP协议管理的⼴播过程结束了。
1.1.1 Profile(规范)
profile 可以理解为⼀种规范,建⽴的蓝⽛应⽤任务,蓝⽛任务实际上分为两类:标准蓝⽛任务规范 profile(公有任务),⾮标准蓝⽛任务规范profile(私有任务)。
英语语法培训标准蓝⽛任务规范 profile:指的是从蓝⽛特别兴趣⼩组 SIG 的官⽹上已经发布的 GATT 规范列表,包括警告通知(alert notification),⾎压测量(blood pressure),⼼率(heart rate),电池(battery)等等。它们都是针对具体的低功耗蓝⽛的应⽤实例来设计的。⽬前蓝⽛技术联盟还在不断的制定新的规范,并且发布。
⾮标准蓝⽛任务规范 profile:指的是供应商⾃定义的任务,在蓝⽛ SIG ⼩组内未定义的任务规范。
1.1.2 Service(服务)
rvice 可以理解为⼀个服务,在 BLE 从机中有多个服务,例如:电量信息服务、系统信息服务等;
每个 rvice 中⼜包含多个 characteristic 特征值;
每个具体的 characteristic 特征值才是 BLE 通信的主题,⽐如当前的电量是 80%,电量的 characteristic 特征值存在从机的 profile ⾥,这样主机就可以通过这个 characteristic 来读取 80% 这个数据。the best
GATT 服务⼀般包含⼏个具有相关的功能,⽐如特定传感器的读取和设置,⼈机接⼝的输⼊输出。组织具有相关的特性到服务中既实⽤⼜有效,因为它使得逻辑上和⽤户数据上的边界变得更加清晰,同时它也有助于不同应⽤程序间代码的重⽤。
1.1.3 Characteristic(特征)
characteristic 特征,BLE 主从机的通信均是通过 characteristic 来实现,可以理解为⼀个标签,通过这个标签可以获取或者写⼊想要的内容。
1.1.4 UUID(通⽤唯⼀识别码)
uuid 通⽤唯⼀识别码,我们刚才提到的 rvice 和 characteristic 都需要⼀个唯⼀的 uuid 来标识;
每个从机都会有⼀个 profile,不管是⾃定义的 simpleprofile,还是标准的防丢器 profile,他们都是由⼀些 rvice 组成,每个 rvice ⼜包含了多个 characteristic,主机和从机之间的通信,均是通过characteristic来实现。
pvc是什么意思1.2 ESP32蓝⽛应⽤结构
蓝⽛是⼀种短距通信系统,其关键特性包括鲁棒性、低功耗、低成本等。蓝⽛系统分为两种不同的技术:经典蓝⽛ (Classic Bluetooth) 和蓝⽛低功耗 (Bluetooth Low Energy)。
ESP32 ⽀持双模蓝⽛,即同时⽀持经典蓝⽛和蓝⽛低功耗。
从整体结构上,蓝⽛可分为控制器 (Controller) 和主机 (Host) 两⼤部分:控制器包括了 PHY、Baband、Link Controller、Link Manager、Device Manager、HCI 等模块,⽤于硬件接⼝管理、链路管理等等;主机则包括了 L2CAP、SMP、SDP、ATT、GATT、GAP
以及各种规范,构建了向应⽤层提供接⼝的基础,⽅便应⽤层对蓝⽛系统的访问。主机可以与控制器运⾏在同⼀个宿主上,也可以分布在不同的宿主上。ESP32 可以⽀持上述两种⽅式。
荒谬的英文1.3 Bluedroid主机架构in pair
2019考研英语答案
在 ESP-IDF 中,使⽤经过⼤量修改后的 BLUEDROID 作为蓝⽛主机 (Classic BT + BLE)。BLUEDROID 拥有较为完善的功能,⽀持常⽤的规范和架构设计,同时也较为复杂。经过⼤量修改后,BLUEDROID 保留了⼤多数 BTA 层以下的代码,⼏乎完全删去了 BTIF 层的代码,使⽤了较为精简的 BTC 层作为内置规范及 Misc 控制层。修改后的 BLUEDROID 及其与控制器之间的关系如下图:
⼆、API说明
以下控制器和虚拟 HCI 接⼝位于 bt/include/esp32/include/esp_bt.h。2.1 esp_bt_controller_mem_relea奥巴马中国演讲
2.2 esp_bt_controller_init
2.3 esp_bt_controller_enable百度翻译在线翻译英语
以下 GATT 接⼝位于 bt/host/bluedroid/api/include/api/esp_bt_main.h 和 bt/host/bluedroid/api/include/api/esp_gatts_api.h。
2.4 esp_bluedroid_init
2.5 esp_bluedroid_enable
2.6 esp_ble_gatts_register_callback 2.7 esp_ble_gatts_app_register
beir
2.8 esp_ble_gatts_create_attr_tab
2.9 esp_ble_gatts_start_rvice

本文发布于:2023-06-24 18:53:09,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1030734.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:规范   任务   服务   包括   定义
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图