Java 保存btmon输出
这是我在这里的第一篇帖子,尽管我已经在这里读了很长时间了:) 我目前正在做我的计算机科学学士论文,我们正在用iBeacons和蓝牙进行室内定位。由于智能手机的复杂性,“被发现”的设备目前是覆盆子Pi 我的Raspberry Pi上的btmon命令有点问题。我们计划的完整结构如下:Java 保存btmon输出,java,linux,save,raspberry-pi,bluez,Java,Linux,Save,Raspberry Pi,Bluez,这是我在这里的第一篇帖子,尽管我已经在这里读了很长时间了:) 我目前正在做我的计算机科学学士论文,我们正在用iBeacons和蓝牙进行室内定位。由于智能手机的复杂性,“被发现”的设备目前是覆盆子Pi 我的Raspberry Pi上的btmon命令有点问题。我们计划的完整结构如下: 扫描蓝牙设备(iBeacons) 保存输出结果我遇到了同样的问题,花了很多天来解决这个问题。关键点是线程,而不是使用&。以下是我的发现: &实际上是在后台运行的。将sudo btmon&更改为sudo btmon 使
线程
,而不是使用&
。以下是我的发现:
实际上是在后台运行的。将&
更改为sudo btmon&
sudo btmon
- 使用线程
- 线程1-启动btmon(您可以在此线程中获得结果)
- 线程2-启动hcitool lescan
&
而使用独立线程
private String executeCommand(String command) {
StringBuffer output = new StringBuffer();
Process p;
try {
p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
output.append(line + "\r\n");
}
} catch (Exception e) {
e.printStackTrace();
}
return output.toString();
}
sudo btmon & sudo hcitool lescan