标签: rssi

蓝牙低功耗 RSSI 在 Android 设备上定期更改

我注意到在 Android 上接收到的低功耗蓝牙的信号强度是周期性变化的。下图表示一个 BLE 信标在两分钟内的 RSSI 值。接收 Android 和信标都是静止的,距离为 1 米。我确保有尽可能低的干扰。Android 是 Nexus 5,但我在其他 Android 设备上也有同样的现象,都在 API 21 上运行。我还无法在 iOS 上对其进行测试。

RSSI图

您可以看到每 15 秒重复一次的 RSSI 有 3 个主要级别,例如低 -> 中 -> 高 -> 低 -> 中 -> 高等。

我的猜测是android方面的原因,不确定是硬件原因还是软件原因。

为什么 RSSI 会随时间循环?有人可以解释一下吗?

android rssi bluetooth-lowenergy

6
推荐指数
2
解决办法
3758
查看次数

Android:为什么获得相邻小区信号强度的方法比当前小区信号强度更好?

我正在编写一个收集细胞信号强度的android应用程序.我无法获得"当前"小区信号强度,但我没有任何问题获得"相邻"小区信号强度.

为了获得当前的单元信号强度,我创建了一个PhoneStateListener并实现了onSignalStrengthChanged回调.它有效,但不是很好.似乎信号强度几乎没有变化,分辨率只会跳到几个数字.我会接受信号强度硬件的分辨率很粗的答案,但是当我使用TelephonyManager的getNeighboringCellInfo()方法时,它的效果要好得多.来自相邻小区的信号强度读数经常变化,并且它们具有更好的分辨率.

那么,我怎样才能获得当前的细胞信号强度,就像我获得相邻细胞强度一样?对我来说,相邻单元的功能优于当前单元似乎很奇怪.我在这里错过了什么吗?

我还想直接从电话管理器调用一个方法来获取当前的单元格强度,而不是监听器,如果可能的话.如果有人知道如何,请告诉我.谢谢.

android rssi

5
推荐指数
1
解决办法
4328
查看次数

Linux蓝牙l2ping信号强度(没有连接?)

对于任何Linux BlueZ/BT专家:

我正在寻找一种方法来"ping"已知的BT设备(已知的BDADDR),如果它们在范围内,我想知道近似的信号强度.

我知道我可以先运行l2ping,然后建立与设备的连接,最后检查rssi或链接质量,如果连接工作没有先配对.

然而,我正在寻找的是一种在不连接设备的情况下获得信号强度的方法.完美的是来自l2ping应答包的信号强度测量,但我不知道该信息是否可用并且是否已经通过堆栈传递.

c linux bluetooth rssi

5
推荐指数
2
解决办法
9238
查看次数

从 Windows 获取 Rssi 值

我想测量调制解调器的 rssi 值。是否有任何 api 可以获取 Windows 的 rssi 值?我曾经使用 android 中的 Wifi.Manager 来做到这一点。但我找不到任何适用于 Windows 的 api

windows rssi

5
推荐指数
1
解决办法
1万
查看次数

Scapy - 从WiFi数据包中检索RSSI

我正试图通过WiFi数据包获得RSSI或信号强度.我还希望来自"WiFi探测请求"的RSSI(当有人正在搜索WiFi热点时).

我设法从kismet日志中看到它,但这只是为了确保它是可能的 - 我不想一直使用kismet.

对于'全时扫描'我正在使用scapy.有谁知道我在哪里可以找到RSSI或信号强度(以dBm为单位)从scapy嗅到的数据包?我不知道整个数据包是如何构建的 - 并且有很多'十六进制'值,我不知道如何解析/解释.

我在两个接口上嗅探 - wlan0(检测到有人连接到我的热点时)和mon.wlan0(检测到有人在搜索热点时).我使用的硬件(WiFi卡)基于Prism芯片组(ISL3886).然而,使用Kismet的测试是在Atheros(AR2413)和Intel iwl4965上进行的.

EDIT1:

看起来我需要以某种方式访问​​存储在PrismHeader中的信息:http://trac.secdev.org/scapy/browser/scapy/layers/dot11.py 第92行?

有谁知道如何输入这些信息?packet.show()和packet.show2()不显示此类/层中的任何内容

EDIT2:

在进行了更多的挖掘之后,似乎界面没有正确设置,这就是为什么它不会收集所有必要的标题.如果我运行kismet,然后使用scapy从该接口嗅探数据包,则数据包中会有更多信息:

###[ RadioTap dummy ]###
  version= 0
  pad= 0
  len= 26
  present= TSFT+Flags+Rate+Channel+dBm_AntSignal+Antenna+b14
  notdecoded= '8`/\x08\x00\x00\x00\x00\x10\x02\x94\t\xa0\x00\xdb\x01\x00\x00'
  ...
Run Code Online (Sandbox Code Playgroud)

现在我只需要正确设置界面而不使用kismet.

rssi scapy wifi

5
推荐指数
1
解决办法
2万
查看次数

Android,列出5个最强wifi网络的rssi值

我正在尝试制作一个简单的应用程序,告诉我5个最强的wifi网络的rssi值.我不需要连接任何网络,只想知道rssi的.目前我正在使用以下代码:

wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
int info = wifi.getConnectionInfo().getRssi();
textStatus.setText("WiFi Rssi: " + info);
Run Code Online (Sandbox Code Playgroud)

但是,这仅显示我连接到的网络的rssi值.

有没有办法获取其他网络的这些信息?

android rssi android-wifi

5
推荐指数
1
解决办法
6670
查看次数

如何在 Java 中使用 LibSVM?

我正在尝试使用蓝牙加密狗实现室内位置跟踪系统。这个想法是用安卓设备四处走动,并根据房间周围蓝牙加密狗的信号强度计算您在房间中的位置。为了做到这一点,我决定使用机器学习来尽可能接近地将 RSSI 近似为距离,例如米。我大学的一位讲师告诉我 LibSVM 是我正在寻找的东西,所以我一直在阅读。我看过本教程,似乎无法理解训练系统所需的数据。我将拥有的数据是:

  • 保存在数据库中的每个加密狗的位置(以及 mac 地址)、x 和 y 坐标
  • 最靠近我的 android 设备的加密狗的接收信号强度指示器 (RSSI)
  • mac 地址将用于查询某些加密狗的数据库

我知道数据必须采用 SVM 格式,但我有点不确定输入数据和输出数据应该是什么。下面的示例取自我提到的教程,显示一个男人是一个班级,一个女人是一个班级。那么就我而言,我是否只有一类“加密狗”?并且所有值加密狗都应该反映我存储在数据库中的值吗?

男声:低身材:大收入:好

女声:高身材:苗条收入:票价

  1. 将特征值转换为其数字表示。假设最好的薪水是 5,最差的薪水是 1(或没有薪水 = 0),这与其他枚举变量相同。
  2. 我们有两个班,男人和女人。将类转换为数值:男人 = 1,女人 = -1
  3. 以libsvm数据格式保存:

[class/target] 1:[firstFeatureValue] 2:[secondFeatureValue] etc. 例如:一个工资高、声音低、身材矮小的女性会被编码为:-1 1:5 2:1.5 3:1.8

SVM的输入文件格式一般为

[label] [index1]:[value1] [index2]:[value2] ... [label] [index1]:[value1] [index2]:[value2] ...

有人可以举个例子说明我应该瞄准什么吗?

这对我来说都是全新的,所以任何帮助我前进的有用提示或技巧都会很棒。提前致谢

java android machine-learning rssi libsvm

5
推荐指数
0
解决办法
2282
查看次数

Android 蓝牙 RSSI 值的含义

我想知道从 Android BluetoothDevice 对象传递的 RSSI 值究竟意味着什么。它是以 dBm 为单位的值还是仅测量信号强度?

先感谢您。

android bluetooth rssi

5
推荐指数
2
解决办法
8697
查看次数

用于RSSI距离近似的卡尔曼滤波器

我目前正在开发一个项目,该项目利用RSSI信号来确定用户与三个信标之间的距离.虽然我有粗糙的三角测量公式,但我正在努力使事情变得更准确.

通过我的所有研究,我发现了卡尔曼滤波器.从我一直在阅读的内容来看,它们似乎正是我想要使用的东西.但是,我发现的所有例子都相当复杂且难以理解.

有没有人曾经使用过Kalmon滤波器和RSSI信号?有人能够指出我,或向我解释一下Kalmon过滤器如何以简单的方式工作?

c# rssi kalman-filter

5
推荐指数
1
解决办法
3290
查看次数

蓝牙 RSSI 中出现的规律振荡是否有解释?

我正在使用 kontakt.io 蓝牙 eddystone UID 信标和使用 alt-beacon 库的 Android 应用程序(在 Samsung Galaxy S5 上运行,尽管我怀疑这是否相关)。

我已经在不同条件下进行了一系列试验,并正在努力确定通过多个信标信号的三边测量进行高精度跟踪的可行性。

我多次注意到 Android 设备检测到信标 RSSI 的定期振荡。

这是更极端的例子之一。正如您所看到的,感知信号强度 (RSSI) 在 3 个不同的 RSSI 级别之间波动,每 5 秒切换一次(~ -75dBm, ~ -90dBm, ~ -85dBm)。

RSSIvs时间图

绘制的信标距离设备 2.5 m,信标和设备之间没有障碍物。该信标以及同时测试的其他信标均设置为最小广告间隔和最大 TxPower。我不会声称测试环境周围的条件是理想的(例如,靠着玻璃墙),但它们是恒定的,环境中几乎没有移动。

我最初的想法是蓝牙的跳频,但经过进一步调查,跳频频率为 1600/s。我或我的同事的另外两个理论是 1:来自该区域的多个蓝牙信标的奇怪干扰,或 2:信标中的自适应信号强度,但信标中似乎没有逻辑(并且有该解释没有意义的其他原因)

bluetooth rssi altbeacon eddystone kontakt.io

5
推荐指数
1
解决办法
1202
查看次数