web-dev-qa-db-ja.com

Java(J2SE)Bluetooth Low Energy(BLE)

Javaを使用してBluetoothLow-Energy(BLE)センサーに接続しようとしています。これまで、Linux上のBlueZスタックとインターフェイスするライブラリを検索しました。

Javaで見つけた唯一の無料ライブラリはBluecoveでしたが、BLEを実装していないようです。Linuxコマンドラインツールを使用して、BTドングルが機能してセンサーを認識しているかどうかを確認しました。

Sudo hcitool lescan

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

そしてそれは問題なく動作しました。

その後、DeviceDiscoveryのBluecoveの例を試しましたが、センサーが表示されず、代わりに通常のBTデバイスをスキャンしました。 BLEデバイスをスキャンする方法が見つかりませんでした。

さらに調査を行った結果、BluecoveはJSR-82を実装しているだけであるという結論に達しました。私が誤解しない限り、この標準はBLEよりも古いため、実装されていません。

JavaでBLEをサポートするBluecoveの代替手段はありますか? Android(新しいバージョンでは)BLEデバイスとの通信に問題がないためです。

前もって感謝します!

14
sgiessmann

しばらくしてこれを調べた後、TinyBという名前の答えを見つけました。

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

TinyBはIntelによるBluetoothLE実装であり、Java SDKを備えています。これまでのところ、私が試したすべてのことを達成することができました。

これが他の人がこのトピックに出くわすのに役立つことを願っています。

13
sgiessmann

興味深いオプションは、TinyBライブラリの上に構築された Kura Bluetooth LE API を使用することです。

2
Diego