我正在尝试从我的Windows PC连接到我的GPS运行手表(TomTom Runner 2),因为只有Android&支持通过蓝牙同步的iOS应用程序。 Windows需要使用USB-Cable,但我喜欢用BLTH做这个。
对于Linux,已经存在一个项目:https://github.com/dlenski/ttblue 但遗憾的是不适用于Windows。
我是Java的初学者,但已经使用Netbeans和BlueCove(http://bluecove.org/bluecove/apidocs/overview-summary.html)的官方代码示例获得了一些成功。 Java Code正在寻找附近的BLTH-Devices,而不是GPS-Watch。 但GPS-Watch本身同时可见于其他设备(Android手机,Microsoft Windows),也可在运行Java代码的同一系统的Windows设置中看到。
我现在有点不知道为什么BlueCove没有找到设备,如果硬件能够找到它?
如果这与BLTH-Stack有关,我已经想到了这个想法。 Winsock用作默认值。 使用: System.setProperty(BlueCoveConfigProperties.PROPERTY_STACK," widcomm");
结果:本机库bluecove_x64不可用 线程" main"中的例外情况javax.bluetooth.BluetoothStateException:BlueCove库bluecove不可用; 找不到资源bluecove_x64.dll 在java.library.path中加载[bluecove_x64] no bluecove_x64 我不知道问题是什么。
为确保与BLTH-Stack相关(或不相关),我尝试了Bluecove的测试程序(bluecove-tester-app.jar - http:// bluecove.org/bluecove-examples/ bluecove-测试器/) 我可以启动,但在选择Discovery时会导致错误:
"libraries not available" On & Offline.
正如我所期望的(作为Java新手)在.jar中所有已经包含的内容。同样在Netbeans中,它查看.jar中的所有库。但最后这不是我的问题。
对不起,长篇文章......也许你们其中一个人可以给我一个提示。
谢谢和问候。
答案 0 :(得分:3)
我认为这里至少有两个问题。我会回答那个我刚刚经历过自己搞清楚的麻烦的那个。 你的错误:
本机库bluecove_x64不可用线程" main" javax.bluetooth.BluetoothStateException:BlueCove库bluecove不可用;资源未找到bluecove_x64.dll加载[bluecove_x64] java.library.path中没有bluecove_x64
是因为最后一个正式的BlueCove版本仅为32位。您需要下载最后一个快照'释放。
至少有三种方法可以解决此错误。
您可以安装32位版本的JDK / JRE并使您的项目为32位。
您可以直接从这里下载最新的64位JAR: http://snapshot.bluecove.org/distribution/download/2.1.1-SNAPSHOT/2.1.1-SNAPSHOT.63/
或者,如果您是maven用户,请将其添加到您的POM文件中以获取最新的64位JAR
<repositories>
<!-- Bluetooth Snapshots Repo -->
<repository>
<id>pyx4j-web-snapshot</id>
<url>http://repository.pyx4j.com/maven2-snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<dependencies>
<!-- Bluetooth connection -->
<dependency>
<groupId>net.sf.bluecove</groupId>
<artifactId>bluecove</artifactId>
<version>2.1.1-SNAPSHOT</version>
</dependency>
</dependencies>
答案 1 :(得分:1)
有一个有效的实现作为2.1.1版本的fork https://mvnrepository.com/artifact/io.ultreia/bluecove/2.1.1
一直很难找到。 希望它能起作用。
@DisplayName("Bluetooth device test")
@Test
void discoverDevices() {
try {
LocalDevice dev = LocalDevice.getLocalDevice();
String mac = dev.getBluetoothAddress();
System.out.println("Address:" + mac);
DiscoveryAgent agent = dev.getDiscoveryAgent();
System.out.println(dev.getFriendlyName());
} catch (Exception e) {
log.error("MEK", e);
}
}
答案 2 :(得分:0)
可以从下面的新链接下载JAR,我已将其用于x64 ---
bluecove-2.1.1.jar >> Download from the link