Я не думаю, что в это время имеется ясный или простой ответ. Для интеграции с Bluetooth необходимы встроенные компоненты, которые не являются частью стандартного JDK.
Наиболее распространенная библиотека, используемая для использования Bluetooth с Java в Linux, - BlueCove. BlueCove предоставляет дополнительные собственные библиотеки для работы с Bluetooth на linux: BlueCove-GPL или BlueCove-bluez (экспериментальный). Однако вам, вероятно, придется скомпилировать один из них самостоятельно для использования на вашем RPi. Способы выполнения будут зависеть от вашего дистрибутива и потребуют значительных знаний об Linux, компиляции собственного кода и т. Д. Быстрый поиск в Google показывает некоторые рабочие примеры этого для предыдущих версий RPi. Непонятно, будет ли он работать с BLE на RPi 3.
Другим может быть попытка использовать «Camel Bluetooth Component», который является оболочкой над Bluecove и ожидает установки libbluetooth-dev и blueman. Но опять же, неясно, будет ли оно работать с RPi 3.
Если не удается получить истинную интеграцию, другой вариант может заключаться в том, чтобы просто сделать внешние вызовы Process из Java в командную строку Утилиты Bluetooth, которые вы уже знаете , Это зависит от вашего прецедента, если этот вариант, но я подозреваю, может быть достаточно для многих конкретных случаев использования BLE.
Вы видели [Eclipse Kura] (https://eclipse.github.io/kura/doc/bluetooth-le-example.html)? –
Вы пытались запустить 'sudo hcitool lescan' в' ProcessBuilder' и разобрать вывод? –