Bluetooth с низким энергопотреблением в Android с использованием GATT

Я много читал о LE Bluetooth и GATT, но я все еще пытаюсь полностью понять, что такое GATT. Для простоты я хотел бы выразить, как я хочу, чтобы мое приложение работало, и просто сказать, возможно это или нет? Основная предпосылка заключается в том, что он будет использоваться в качестве трекера местоположения, а маяки (возможно, в частности, iBeacons) будут размещены вокруг здания, и всякий раз, когда вы входите в зону действия маяка, на сервер будет отправлено сообщение с телефона. Идея состоит в том, что ему не нужно сканировать, телефон просто слушает, и всякий раз, когда маяк объявляет, телефоны в радиусе действия слышат это и вызывают событие.

Сценарий:

  • Клиент загружает приложение и впервые входит в здание.
  • В здании есть маяк в каждой комнате, например, реклама каждые 5 секунд.
  • Когда клиент входит в комнату и находится в зоне действия радиомаяка, телефон получит недружественную версию сообщения «Маяк 2 имеет RSSI -87».
  • Когда они покинут комнату, они больше не услышат сообщение и поэтому ничего не сделают, пока не услышат другое сообщение от маяка.

ПРИМЕЧАНИЕ. В этом сценарии не используется сканирование, зацикливание или сопряжение. Телефон просто будет знать, что он должен прослушивать сообщения LE Bluetooth.

Итак, возможно ли это? Из того, что я видел, кажется, что вам нужно сканировать и подключаться к каждому маяку с помощью GATT, прежде чем вы сможете получать данные от них.

Любая информация по этому вопросу очень ценится, спасибо!


person Murphybro2    schedule 14.05.2015    source источник


Ответы (1)


Да, это возможно. Какой-то высокоуровневый сценарий для торгового магазина с маяком. 1) клиент приложения должен иметь uuid или основной идентификатор маяков для локального хранения. 2) торговый магазин с таким же uuid или основным идентификатором будет транслировать сообщения. 3) ОС телефона продолжает прослушивать эти сообщения при входе в геозону, ОС будет передавать эти сообщения приложениям, которые зарегистрированы для прослушивания маяков. 4) ваше приложение будет соответствовать uuid, встроенному в сообщение, и определить, предназначено ли оно для него. 5) если uuid сообщения не совпадает с uuid на клиенте, приложение не будет использовать это сообщение. 6) если uuid сообщения совпадает, клиент будет использовать сообщение и отображать его на устройстве, даже если ваше приложение не запущено в этот момент времени.

person mask    schedule 10.06.2015