发送 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 服务器,例如您的传感器(或您正在构建的任何东西)。
因此,如果您想从您的设备发送通知,您需要做两件事:
- 在您的智能手机上创建一个 GATT 服务器。
- 设计您的外围设备以执行 GATT 客户端程序(发现特征、Read/Write 等)。
这可能没有必要,正如@istirbu 指出的那样。如果您的应用程序已经启动并且-运行,您的智能手机 Central 就是一个客户端。客户端通知的等效项是写入命令(无响应)。所以用那个。
我目前正在开发 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 服务器,例如您的传感器(或您正在构建的任何东西)。
因此,如果您想从您的设备发送通知,您需要做两件事:
- 在您的智能手机上创建一个 GATT 服务器。
- 设计您的外围设备以执行 GATT 客户端程序(发现特征、Read/Write 等)。
这可能没有必要,正如@istirbu 指出的那样。如果您的应用程序已经启动并且-运行,您的智能手机 Central 就是一个客户端。客户端通知的等效项是写入命令(无响应)。所以用那个。