我正在尝试使用Java连接到蓝牙低功耗(BLE)传感器。到目前为止,我搜索了一个与我的Linux上的BlueZ堆栈接口的库。
我为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更老,因此没有实现它。
对于支持Java中的BLE的Bluecove有什么替代方案吗?我的意思是应该有,因为Android没有问题(在较新的版本中)与BLE设备通信。
提前致谢!
答案 0 :(得分:14)
过了一会儿之后,我找到了一个名为TinyB的答案。
https://software.intel.com/en-us/java-for-bluetooth-le-apps
TinyB是英特尔的BluetoothLE实现,它具有Java SDK。 到目前为止,我已经能够实现我所尝试的一切。
希望这可以帮助其他人绊倒这个话题。
答案 1 :(得分:1)
一个有趣的选项是使用Kura Bluetooth LE APIs,它建立在TinyB库的顶部。