Java (J2SE) Bluetooth Low Energy (BLE)

Я пытаюсь подключиться к Bluetooth Low-Energy (BLE) Sensor, используя Java. До сих пор я искал библиотеку, которая взаимодействует с пакетом BlueZ на моем Linux.

Единственной бесплатной библиотекой, которую я нашел для Java, была Bluecove, но кажется, что они не реализуют BLE. Я проверил, работает ли мой BT-ключ и узнает датчик с помощью инструментов командной строки Linux.

sudo hcitool lescan

gatttool -i hci0 -b XX:XX:XX:XX:XX:XX -I

и он работал без проблем.

После этого я попробовал пример Bluecove для DeviceDiscovery, но мой датчик не появился, вместо этого он сканировался для обычных BT-устройств. Я не мог найти способ сканирования устройств BLE.

Проведя дальнейшие исследования, я пришел к выводу, что Bluecove просто реализует JSR-82. Если я не ошибаюсь, этот стандарт старше BLE и поэтому не реализует его.

Есть ли альтернативы Bluecove, которые поддерживают BLE в Java? Я имею в виду, что у Android не будет проблем (в новых версиях) для связи с устройствами BLE.

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

Ответ 1

Изучив это через некоторое время, я нашел ответ под названием TinyB.

https://software.intel.com/en-us/java-for-bluetooth-le-apps

TinyB - это реализация BluetoothLE от Intel, и в нем есть Java SDK. До сих пор мне удалось добиться всего, что я пробовал.

Надеюсь, что это поможет другим споткнуться по этой теме.