发送 Android BLE GATT 通知

Send a Android BLE GATT Notification

我目前正在开发 BLE application,基于 Google 提供的 Gatt 示例项目。

我想实现的是从我的 Android 设备(智能手机)向另一个 BLE 设备(例如 TI CC2540)发送通知。网上有很多关于如何接收通知的讨论。

但是,我找不到任何关于发送通知的讨论。那么有什么方法可以通过 Android 设备发送通知吗?提前谢谢你。

外围设备使用通知将信息发送回客户端(例如Android设备)。无需从 GATT 角度向设备发送通知,您可以对特征执行写操作。作为该写入或任何周期性操作的结果,外围设备将向客户端发送(通知)一些关于您订阅的相同或其他特征的信息。

从技术上讲,属于 GAP 的 Central/Peripheral 分类与属于 GATT 的 Client/Server 分类之间存在差异。 Central(一个扫描和连接的)是通常一个Client,而Peripheral(一个做广告的)通常一个Server,但不一定.

智能手机是中央设备(从 Android 5.0 开始它可以是外围设备,但我怀疑你是这种情况),通常它是客户端,因为它连接到位于外围设备上的 GATT 服务器,例如您的传感器(或您正在构建的任何东西)。

因此,如果您想从您的设备发送通知,您需要做两件事:

  1. 在您的智能手机上创建一个 GATT 服务器。
  2. 设计您的外围设备以执行 GATT 客户端程序(发现特征、Read/Write 等)。

这可能没有必要,正如@istirbu 指出的那样。如果您的应用程序已经启动并且-运行,您的智能手机 Central 就是一个客户端。客户端通知的等效项是写入命令(无响应)。所以用那个。