【发布时间】:2021-04-06 02:02:01
【问题描述】:
我正在尝试构建一个简单的 java 程序,它在 windows 中显示连接的蓝牙设备的电池状态。请参阅下面的示例图片。
首先我从BlueCove 开始,并意识到BlueCove 只提供地址、简单名称等基本信息。经过进一步调查,发现读取特征的唯一方法是通过BLE GATT 服务。 因此开始编写基于 tinyb 的测试代码,该代码在 GitHub Bluetooth-manager 项目中找到,结果出现异常
到目前为止我已经尝试过这段代码
import org.sputnikdev.bluetooth.URL;
import org.sputnikdev.bluetooth.manager.CharacteristicGovernor;
import org.sputnikdev.bluetooth.manager.impl.BluetoothManagerBuilder;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
public class B2 {
public static void main(String[] args) throws IOException, ExecutionException, InterruptedException {
new BluetoothManagerBuilder()
.withTinyBTransport(true)
.withBlueGigaTransport("^*.$")
.build()
.getCharacteristicGovernor(new URL("/XX:XX:XX:XX:XX:XX/F7:EC:62:B9:CF:1F/"
+ "0000180f-0000-1000-8000-00805f9b34fb/00002a19-0000-1000-8000-00805f9b34fb"), true)
.whenReady(CharacteristicGovernor::read)
.thenAccept(data -> {
System.out.println("Battery level: " + data[0]);
}).get();
}
}
Maven
<dependencies>
<dependency>
<groupId>org.sputnikdev</groupId>
<artifactId>bluetooth-manager</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>org.sputnikdev</groupId>
<artifactId>bluetooth-manager-tinyb</artifactId>
<version>1.3.3</version>
</dependency>
</dependencies>
例外
Exception in thread "main" java.lang.IllegalStateException: java.lang.IllegalStateException: Native libraries for TinyB transport could not be loaded.
at org.sputnikdev.bluetooth.manager.impl.BluetoothManagerBuilder.loadTinyBTransport(BluetoothManagerBuilder.java:225)
at org.sputnikdev.bluetooth.manager.impl.BluetoothManagerBuilder.build(BluetoothManagerBuilder.java:190)
at B2.main(B2.java:15)
Caused by: java.lang.IllegalStateException: Native libraries for TinyB transport could not be loaded.
at org.sputnikdev.bluetooth.manager.impl.BluetoothManagerBuilder.loadTinyBTransport(BluetoothManagerBuilder.java:218)
... 2 more
我的问题-> 有没有其他方法可以使用 JAVA 获取蓝牙设备的电量?
注意:
- 在 android 和 python 中有很多可用的示例,但不适用于 Java / windows
- 还发现了未回答的类似 C# 问题
Get Bluetooth Device Battery Level
【问题讨论】:
标签: java windows bluetooth bluetooth-lowenergy bluetooth-gatt