如何在Java中读取蓝牙低功耗RSSI而不是android

时间:2014-04-28 12:42:38

标签: java windows bluetooth-lowenergy texas-instruments

我有一个基于TI CC2540的蓝牙低功耗USB,我需要做的就是使用我的计算机扫描其他信标的RSSI值并保存在数据库中(Mysql等),是否有Java这样做的图书馆?我知道如何在Android中执行此操作,但我需要在运行Windows的PC上执行此操作

3 个答案:

答案 0 :(得分:0)

我一直在使用类似应用程序的Linux平台。

通过终端寻找支持BLE的设备的第一个C程序。确保你已经安装了bluez和btmon

    strcpy( command, "sudo ./btmon & hcitool lescan" );
    system(command);

从Java中编译并运行该文件,并读取控制台的InputStream。

        ProcessBuilder builder = new ProcessBuilder("/beacon");
        builder.redirectErrorStream(true);
        Process process = builder.start();
        InputStream is = process.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));

如果您获得数据流,您可以查找RSSI值并将其导出到您的数据库。

答案 1 :(得分:0)

Bluetooth Low Energy API for Windows 7.0提出了类似的问题。不幸的是,答案似乎只有Windows 8(不是旧版本)支持BLE。

答案 2 :(得分:-1)

试试这个库:

https://github.com/movisens/SmartGattLib

来自自述文件:

" SmartGattLib是一个简化了蓝牙SMART设备工作的Java库(例如蓝牙4.0中的蓝牙低功耗)。它提供了所采用的GATT规范的所有UUID以及解释特征的便捷方式(例如心率,电池级别)。"