使用GATT的Android中的低能耗蓝牙

时间:2015-05-14 07:47:34

标签: java android bluetooth gatt

我已经完成了很多关于LE蓝牙和GATT的阅读,但我仍然在努力完全理解GATT是什么。为了简单起见,我想表达一下我的应用程序是如何工作的,只是告诉它是否可行?基本前提是它将被用作位置跟踪器和信标(特别是iBeacons)将放置在建筑物周围,每当您进入信标范围时,消息将从手机发送到服务器。这个想法是它不需要扫描,手机只是听,只要信标做广告,范围内的手机就会听到这个并举起一个事件。

情景:

  • 客户端首次下载应用并进入大楼。
  • 建筑物每个房间都有一个灯塔,例如每隔5秒钟做一次广告。
  • 当客户走进一个房间并且在一个灯塔的范围内时,手机将获得一个非友好版本的消息" Beacon 2的RSSI为-87"。
  • 当他们离开房间时,他们将不再听到消息,因此在听到灯塔发出的另一条消息之前不会做任何事情。

注意:此方案不涉及任何扫描,循环或配对。手机只知道它必须收听LE蓝牙信息。

那么,这可能吗?从我所看到的情况来看,您似乎需要使用GATT扫描并连接每个信标才能从中接收数据。

非常感谢任何有关此事的信息,谢谢你!

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。 具有信标的商店的一些高级场景。 1)app客户端需要将uuid或主要id信标存储在本地。 2)具有相同uuid或主要ID的商店将广播消息。 3)手机操作系统在输入地理围栏时继续监听这些消息,操作系统会将这些消息传递给注册信标监听的应用程序。 4)您的应用程序将匹配邮件中嵌入的uuid,并确定它是否适用于它。 5)如果消息uuid与客户端上的uuid不匹配,那么app将不会消费此消息。 6)如果消息uuid匹配,则客户端将使用该消息并将其显示在设备上,即使您的应用程序未在该时间点运行。