用于打开/关闭 LED 的 BLE 设备(服务器)的 GATT 配置文件

Posted

技术标签:

【中文标题】用于打开/关闭 LED 的 BLE 设备(服务器)的 GATT 配置文件【英文标题】:GATT Profile for a BLE device (server) that switches on/off a LED 【发布时间】:2013-06-18 07:04:16 【问题描述】:

不确定是否要在 SO 上发布。

我正在寻找非常简单的 BLE 设备。它有一个可以打开或关闭的两个 LED(为了简化)。

浏览GATT 配置文件时,我找不到我应该使用哪个配置文件。他们中的大多数人(根据要求)向客户发送回一些东西(如温度)。

我需要相反的东西:打开/关闭 BLE 设备(服务器)。在我的例子中,客户端(iPhone)会发送一个命令来打开/关闭 LED-1 或​​ LED -2。

我应该使用什么服务配置文件?

谢谢。

我正在使用 nRF8001 开发套件和 nRF Studio 来制作服务。h

【问题讨论】:

【参考方案1】:

如果只是打开/关闭 LED,则它们可能不属于任何特定配置文件。您可能需要知道句柄并直接将一些映射到 on 或 off 的值写入属性。也许您可以通过列出所有属性特征来弄清楚。 (不幸的是,我不知道如何专门在 iPhone 上做到这一点)

【讨论】:

我自己开发硬件。问题不在 iPhone 上。硬件需要使用正确的 GATT 配置文件进行设置。或者我应该说,应该根据正确的 GATT 配置文件描述硬件。 我认为电灯开关没有任何“正确”的 GATT 配置文件。我认为您可以指定自己的属性并根据需要使用它们。这些配置文件只是在接口上达成一致,因此您可以将一个心脏监视器换成另一个心脏监视器。 这里有一个可能有用的链接:m2mgsm.com/download/Bluetooth/Low%20Energy/…【参考方案2】:

    我注意到您正在使用 nRF8001 开发套件。因此,您首先需要检查的是 LED 是连接到套件上微控制器的 IO 端口还是直接连接到 BLE 芯片上的 IO 端口。 如果它连接到套件上的微控制器,那么您需要对套件进行编程以处理接收到的蓝牙数据以控制 LED。 (在这种情况下很有可能) 如果连接到BLE芯片,则意味着您需要先对BLE芯片进行编程。

    通常,有用的 GATT 配置文件是用户指定的。这意味着您需要自己定义配置文件。而且,我相信套件或工作室的某些部分允许您对配置文件进行修改。

    您应该只使用一个默认 GATT 配置文件——GAP,它用于定义默认值,例如 ble 设备的名称。其他的通常是用户自定义配置文件。

【讨论】:

以上是关于用于打开/关闭 LED 的 BLE 设备(服务器)的 GATT 配置文件的主要内容,如果未能解决你的问题,请参考以下文章

android ble连接慢

Android BLE - 读取自定义服务

如何在同一个界面页面读取两个服务的两个BLE特性?

蓝牙服务器重启后 BLE 配对出现问题

BLE 设备相同的 UUID 用于多个服务

如何检查设备是不是有闪光灯 LED android