当前位置: 首页 > 面试题库 >

蓝牙LE信号强度Linux

潘辰龙
2023-03-14
问题内容

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

谢谢


问题答案:

在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。

我希望这有帮助。



 类似资料:
  • 问题内容: 我想获取连接到手机的另一台设备的蓝牙信号强度, 如何获得蓝牙信号强度? 我试图在Google上进行大量搜索,但未找到任何答案。 有人知道我该如何实施吗? 这是myActivity: 我的清单文件中也有蓝牙许可。 问题答案: 要获取信号,您可以检查蓝牙RSSI,可以阅读已连接设备的RSSI,或执行蓝牙发现以检查附近任何设备的RSSI。 基本上,蓝牙发现是向范围内的所有电台广播以进行响应。

  • 我正在开发一个应用程序来控制自定义设备。该定制设备具有双模蓝牙功能,可在双模功能下接受Android和iOS连接。 有了Android,我需要使用经典连接。我用几部智能手机和平板电脑做了一些测试。然而,对于一些平板电脑型号,我很难连接。 我有一台联发科的MT6572 SOC平板电脑,它有4.4.2Android系统。我也有一个三星Galaxy Tab E和展讯的SC8830 SOC,它有4.4.4

  • 我目前正在尝试开发一款软件,需要连接一个蓝牙“经典”设备和至少2-3个蓝牙低能耗设备。当然,与这些设备进行通信,因此仅能够配对设备还不够,还需要与它们进行连接和通信。 我使用Nexus 4(Android 4.3)作为连接到这些蓝牙和蓝牙LE设备的单元。 这是否可能,或者是否存在某种限制,即只能同时连接一种或另一种蓝牙设备?

  • 我有一个蓝牙设备,它正在测量力并基本上发送一个值。有一个android应用程序可以连接到它,但我想开发自己的应用程序,因为我想添加一些功能。我设法连接到它,但不知道哪个服务或特征是具有我需要的号码的服务或特征。有人可能知道它可能是其中的哪一个? 服务00001801-0000-1000-8000-00805f9b34fb 服务00001800-0000-1000-8000-00805f9b34fb

  • 我想知道是否还有其他人在ble连接仅持续10秒时遇到问题。我正在尝试将mac(运行ubuntu)连接为中心,将iPhone应用程序连接为外围设备。我已验证该应用程序可与lightblue连接。我正在使用hcitool lescan获取MAC地址,然后使用gatttool-b-I-t random,这会给我[][MAC地址] HCI嗅探器-蓝牙数据包分析器ver 2.2设备:hci0snap_len

  • 我想知道android蓝牙通信的通信方式是什么。我的代码基本上遵循这里的开发者指南:http://developer.android.com/guide/topics/connectivity/bluetooth.html如果我按照本指南从设备中读取/写入数据?通信类型是什么?我在网上搜索了一下,它看起来像是串口通信,RS 232。这是正确的吗? 非常感谢。