我试图使用
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要老,因此没有实现.
是否有任何替代Bluecove支持Java中的BLE?我的意思是应该是因为Android没有问题(在较新的版本)与BLE设备进行通信.
提前致谢!
解决方法
后来看了一会儿,我发现一个名叫TinyB的答案.
https://software.intel.com/en-us/java-for-bluetooth-le-apps
TinyB是Intel的BluetoothLE实现,它具有Java SDK.
到目前为止,我已经能够实现我尝试过的一切.
希望这能帮助别人绊倒这个话题.