Java (J2SE) 蓝牙低功耗 (BLE)

2022-09-03 14:36:52

我正在尝试使用 Java 连接到蓝牙低功耗 (BLE) 传感器。到目前为止,我搜索了一个与Linux上的BlueZ堆栈接口的库。

我发现的唯一一个免费的Java库是Bluecove,但似乎他们没有实现BLE。我检查了我的BT加密狗是否正常工作,并使用Linux命令行工具识别传感器

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设备进行通信。

提前致谢!


答案 1

在研究了一段时间后,我发现了一个名为TinyB的答案。

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

TinyB是英特尔的BluetoothLE实现,它具有Java SDK。到目前为止,我已经能够实现我尝试过的一切。

希望这有助于其他人偶然发现这个话题。


答案 2

一个有趣的选择是使用Kura蓝牙LE API,它们建立在TinyB库之上。


推荐