一尘不染

蓝牙LE信号强度Linux

linux

您好,有什么方法可以使Linux中的蓝牙设备获得接近的信号强度吗?或任何适用于nodejs,php或mono的好的库(我确实知道一些c
++或python,但宁愿不使用它们)如果工具不存在,但编写起来相当容易

谢谢


阅读 743

收藏
2020-06-03

共1个答案

一尘不染

在Linux上,可以通过hcitool命令执行此操作。但是,必须连接才能获得设备的rssi。如果要从命令行实现此目的,请尝试:

#hcitool rssi AA:BB:CC:DD:EE:FF

如果要查看实现此目标的实际C代码,请查看cmd_rssi函数下的bluez tools /
hcitool.c
文件。

static void cmd_rssi(int dev_id, int argc, char **argv)
{
    ...
}

对于 低功耗蓝牙 ,我只知道一种方法,那就是使用#btmon命令。在后台运行btmon,然后扫描低功耗蓝牙设备:

#./btmon &
# hcitool lescan

监视器上显示的结果应与此类似:

> HCI Event: LE Meta Event (0x3e) plen 12                                                                                  
      LE Advertising Report (0x02)
        Num reports: 1
        Event type: Scan response - SCAN_RSP (0x04)
        Address type: Public (0x00)
        Address: AA:BB:CC:DD:EE:FF (<Vendor Name>)
        Data length: 0
        ***RSSI: -34 dBm (0xde)***
AA:BB:CC:DD:EE:FF <Device Name>

请注意,使用btmon时,无需连接即可获得BLE设备的rssi。

我希望这有帮助。

2020-06-03