【发布时间】:2019-01-12 08:32:45
【问题描述】:
是否可以只向 BLE 设备添加单个 GATT 特性并从蓝牙接收器读取,或者我是否需要向 BLE 设备添加 GATT 服务才能从设备读取?除了模拟输出 GATT 特性之外,我还需要 GATT 服务来简单地读取模拟输出吗?最后,我只想从 arduino uno 上的缓冲区读取 16 位字节并通过蓝牙发送。
【问题讨论】:
标签: bluetooth bluetooth-lowenergy arduino-uno gatt
是否可以只向 BLE 设备添加单个 GATT 特性并从蓝牙接收器读取,或者我是否需要向 BLE 设备添加 GATT 服务才能从设备读取?除了模拟输出 GATT 特性之外,我还需要 GATT 服务来简单地读取模拟输出吗?最后,我只想从 arduino uno 上的缓冲区读取 16 位字节并通过蓝牙发送。
【问题讨论】:
标签: bluetooth bluetooth-lowenergy arduino-uno gatt
当然,您也需要服务。服务是特征的容器。
通用属性 (GATT) 定义了一个分层数据结构,该结构暴露给连接的蓝牙低功耗 (LE) 设备。 GATT 配置文件描述了基于 GATT 功能的用例、角色和一般行为。服务是封装设备部分行为的特征和与其他服务的关系的集合。这还包括属性服务器中使用的服务、特征和属性的层次结构。 GATT 层次结构的顶部是一个配置文件,它由一个或多个实现用例所必需的服务组成。服务由特征或对其他服务的引用组成。特征由类型(由 UUID 表示)、值、一组指示特征支持的操作的属性和一组与安全性相关的权限组成。它还可能包括一个或多个描述符——与拥有特征相关的元数据或配置标志。 GATT 定义了客户端(BLE Central)和服务器(BLE Peripheral)角色。 GATT 服务器存储通过空中传输到 GATT 客户端的数据,并接受来自 GATT 客户端的请求、命令和确认。当 GATT 服务器上发生指定事件时,GATT 服务器发送对请求的响应,并向 GATT 客户端异步发送指示和通知。 GATT 还指定 GATT 服务器上包含的数据格式。
【讨论】: