Нужно ли для Android-приложения выполнять центральную и периферийную роли одновременно для отправки и получения данных через BLE? - PullRequest
0 голосов
/ 12 февраля 2019

В настоящее время я разрабатываю приложение, которое взаимодействует с одним оборудованием BLE, которое получает команды и отвечает на ответ команды.Для симуляции оборудования мы разработали одно приложение iOS Simulator, которое работает на периферии и отвечает на запрошенную команду.Но почему-то, как и когда я пытаюсь записать характеристики записи, я получил status = BluetoothGatt .GATT_REQUEST_NOT_SUPPORTED в обратном вызове onCharacteristicWrite.Но каким-то образом я узнал, что нам нужно внедрить центральные и периферийные роли в приложение для Android.

Но я все еще не уверен, нужно ли нам также реализовывать периферийную роль для отправки и получения данных в нескольких пакетах.

Я занимаюсь разработкой приложения с использованием следующего приятного сообщения в блоге:
- https://medium.com/@avigezerit/bluetooth-low-energy-on-android-22bc7310387a - https://android.jlelse.eu/android-bluetooth-low-energy-communication-simplified-d4fc67d3d26e - https://www.bignerdranch.com/blog/bluetooth-low-energy-on-android-part-2/

И использование следующего репо в качестве обучающей точки зрения:
- https://github.com/bignerdranch/android-bluetooth-testbed/tree/a/android-ble-part-3

Спасибо взаранее!

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Для связи друг с другом требуется два устройства.

Устройство A: Это будет Периферийное устройство, которое будет рекламировать данные.т.е.: маяки, аппаратное обеспечение BLE

Устройство B: Это будет Центральное устройство, которое отправит запрос на чтение, запись.Например: Мобильный

Настройка для устройства A:

Если у вас нет Периферийного устройства, существует способ заставить ваш мобильный Android работать как Периферийный, если вашУстройство поддерживает эту расширенную функцию.

Поэтому перед началом вы можете просто проверить это с помощью следующего приложения: https://play.google.com/store/apps/details?id=com.kyriakosalexandrou.bluetoothsupportcheck

Чтобы ваше устройство работало как периферийное устройство, вы можете установить следующее приложение, котороепросто имитирует ГАТТ и рекламу: https://play.google.com/store/apps/details?id=com.ble.peripheral.sim

Важное замечание: Настройте службу и характеристики на основе ваших требований, убедитесь, что характеристика включена для записи, если вы хотите записать в нее данные.

0 голосов
/ 12 февраля 2019

Как правило, ваше телефонное приложение является центральным и связывается с периферийным устройством по Bluetooth.Если вы хотите отправить данные на периферийное устройство, вы можете записать характеристику в телефонном приложении, если для этой характеристики включена запись.Ваш центральный узел может получать данные от периферийного устройства двумя способами: он может либо считывать характеристику (если он включен) с периферийного устройства, либо получать уведомления от периферийного устройства (если он включен).Таким образом, если все, что у вас есть, это центральное (телефонное приложение) и периферийное устройство (какое-то устройство Bluetooth), и вы хотите отправлять данные туда и обратно, вам не нужно иметь как центральные, так и периферийные роли в телефонном приложении.Если у вас есть какие-то особенные вещи, они могут отличаться для вас, я не знаю.Я говорю о типичной настройке.

Если вы хотите отправлять команды на периферийное устройство, вы можете написать эти команды для характеристики.В свою очередь, периферийное устройство может отвечать уведомлениями.Это в основном способ разработки решения Bluetooth, но он может отличаться в зависимости от того, чего вы хотите достичь.

...