linux - 使用 hcidump 获取 RSSI

标签 linux bluetooth rssi hci

为了读取原始 RSSI 值,我们使用一个名为 Hcidump 的实用程序来监控蓝牙 HCI 数据。使用 hcidump 命令,我们可以在收到查询响应消息时读取原始 RSSI 值。为了获取每个响应数据包的 RSSI 值,我们首先将查询模式设置为 Inquiry With RSSI。为了读取原始 RSSI 值,我们运行 hcidump 工具,然后使用适当的 HCI功能启动周期查询。

我不知道如何使用 hcidump 只获取 RSSI 原始数据,或者如何开始定期查询。我看到了所有选项,但我做不到。

我让 hcidump --raw 获取原始数据,并尝试解析这些数据以获得 rssi,但我不知道 rssi 信息是十六进制。

这是我得到的

  04 2F FF 01 AC A2 65 92 88 EC 01 00 0C 02 5A 2D 1F D2 08 09 
  4E 65 78 75 73 20 36 17 03 05 11 0A 11 0C 11 0E 11 12 11 15 
  11 16 11 1F 11 2F 11 00 12 32 11 01 05 01 07 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

现在我需要知道哪个是 RSSI 值。

最佳答案

您可以尝试使用 sudo hcidump [-a] 这将为您提供附近所有蓝牙设备的名称和 RSSI 值。您可以查看可以使用 hcidump here 做什么.

关于linux - 使用 hcidump 获取 RSSI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37073114/

相关文章:

swift - 以编程方式更改热敏蓝牙打印机上的字体大小

android - Android 和 iOS 中 ble 扫描率的差异

linux - 如何解决 SVN 1.6 不支持的存储库间单个文件外部?

linux - 在 JetBrains Rider 中找不到目标框架

java - 开始使用基于计算机 (linux) 的蓝牙设备,使其可被周围的手机发现

ios - 在 iOS 中分别访问所有三个 BLE 广告 channel

ios - 如何使用 Swift 获取我周围的 wifi 连接列表及其 RSSI 强度?

c++ - 在 Linux 中获取自纪元以来的秒数

c++ - posix_fallocate 是否适用于以追加模式打开的文件?

Android 到 Linux 蓝牙找不到所有 UUID