查找两个蓝牙设备之间的方向(定位)

2024-01-22

我有一个应用程序,可以扫描另一部手机正在广播的特定 UUID,并测量它们之间的信号强度,并告诉您离它们是否越来越近或越来越远。我想添加一个方向箭头。我知道如果你有 3 个点,你可以使用三角测量,但我想用 2 个点得到一些稍微准确的东西。

有什么算法或建议有帮助吗?

我当前的想法(因为对于此应用程序的用例,一个节点将相对静止)是在行走时进行一些算法学习。就像如果你走得更远,箭头就会知道忽略这个方向,并在你走不同的方向时不断完善自己。

我找到了很多关于这个主题的研究论文,但我不是电气工程师,所以很容易迷失方向。我也读了这篇文章并了解了许多陷阱如何使用蓝牙测量两个iPhone设备之间的距离? https://stackoverflow.com/questions/3624945/how-to-measure-distance-between-two-iphone-devices-using-bluetooth

Thanks!


这样的解决方案极其复杂。

获取信号方向需要的数据远多于正常应用程序使用所能提供的数据。用户必须缓慢旋转手机,同时从各个方向采集大量样本。

使用下面发布的公式,可以在 12 米范围内获得相对距离,正如您所说的“越来越近”或“越来越远”。超过 12 米就会变得非常容易出问题。但它相当复杂,需要您使用长度足够的移动平均解。

您可以使用以下公式计算 RSSI 和距离之间的关系:

RSSI = -(10*n*log10(d) + A)

在这种情况下, n = 路径损耗指数,因为您不需要精确的距离,只是一种检查距离更近还是更远的方法,您可以使用 2 作为值,我发现在大多数情况下这是最现实的。 A = 1米距离处测得的RSSI值,您需要提前测量该值以进行计算,但由于该值变化很大,因此只需使用-60dB之类的值即可。在大多数情况下,这也大约是平均水平。

因此,可以通过以下公式获得粗略猜测的距离(以米为单位):

distance = 10 ^ ((-RSSI - 60) / (10 * 2));

这不是很精确,但足以告诉您在有限范围内是否更近/更远。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找两个蓝牙设备之间的方向(定位) 的相关文章

  • UINavigationBar 滑开而不是留在原处

    我创建了演示项目来展示问题 我们在 UINavigationController 中有两个视图控制器 MainViewController这是根 class MainViewController UIViewController lazy
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • Android -room 持久库 - DAO 调用是异步的,因此如何获取回调?

    从我读到的Room 不允许您在主线程上发出数据库查询 因为可能会导致主线程延迟 所以想象一下我正在尝试更新 UI 主线程上的文本视图 其中一些数据我将如何得到回调 让我给你举个例子 想象一下 我想将我的业务模型数据存储到一个名为 事件 的对
  • 如何使用 SharedPreferences 保存多个值?

    我正在开发一个字典应用程序 在我的应用程序中 我假设用户想要保存最喜欢的单词 我决定使用共享首选项保存这些值 我知道 SQLite 和文件更好 但我坚持使用 SharedPreferences 所以继续使用它 下面是我的代码 Overrid
  • 如何为我的 Android Market APK 创建证书?

    我想将我的第一个 APK 应用程序上传到 Android Market 但我收到了此错误 顺便说一下 在 stackoverflow 中搜索时并没有引导我找到正确的链接 市场不接受使用调试证书签名的 APK 创建有效期至少 50 年的新证书
  • UIImageWriteToSavedPhotosAlbum 选择器语法问题

    努力让 UIImageWriteToSavedPhotosAlbum 快速工作https developer apple com library ios documentation UIKit Reference UIKitFunction
  • 移动设备上的 TensorFlow(Android、iOS、Windows Phone)

    我目前正在寻找不同的深度学习框架 特别是用于训练和部署卷积神经网络 要求是 它可以在带有 GPU 的普通 PC 上进行训练 但训练后的模型必须部署在三个主要的移动操作系统上 即 Android iOS 和 Windows Phone Ten
  • 安卓。 CalendarView...一次仅显示一个月的日历

    我正在使用 CalendarView 其中我想一次仅查看一个月的日历并滚动查看下个月 但 CalendarView 一次显示所有月份 下面是我的代码
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • admob ios7错误音频框架

    我正在将 admob SDK 当前的 集成到我的上一个应用程序 IOS7 Xcode5 中 并且出现了一个新错误 在新项目上也是如此 我想我错过了一些东西 但我多次重新启动该过程 但错误仍然存 在 Undefined symbols for
  • 旋转 GPUImageTiltShiftFilter - GPUImage

    我想要一个非水平 GPUImageTiltShiftFilter 旋转 我想将其旋转到任意旋转角度 我还希望过滤器速度快 可以通过带有 UIRotationGestureRecongizer 的 UI 进行旋转 我该怎么做呢 啊 想通了 不
  • 如何在 iOS 6 中强制 UIViewController 为纵向

    As the ShouldAutorotateToInterfaceOrientation在 iOS 6 中已弃用 我用它来强制特定视图仅肖像 在 iOS 6 中执行此操作的正确方法是什么 这仅适用于我的应用程序的一个区域 所有其他视图都可
  • Android 中的库可以有自己的意图过滤器吗?

    我想开发一个可以包含在其他 Android 应用程序中的库来拦截某些类型的意图 是否可以 我创建了一个库和一个测试项目 两者都有自己的AndroidManifest xml文件 在库的清单中 我为操作 TEST 定义了一个意图过滤器 但是
  • Swift 错误:发出 SIGABRT 信号如何解决

    我只是 Swift 编码的初学者 我的想法很简单 就是一个有两个按钮的应用程序 单击时 文本字段将更改其文本 在 Main StoryBoard 中 我添加一个文本字段和两个按钮 在 ViewController swift 文件中 我这样
  • 受信任的网络活动 - 地址栏不隐藏(Android 72 的 Chrome)

    我已经关注了this https developers google com web updates 2017 10 using twa了解如何使用受信任的 Web 活动的指南 一切正常 但地址栏仍然出现 一开始我认为这是因为当应用程序正在
  • 如何在多个视图中显示相同的导航栏?

    我可以为一个视图重现以下导航栏 但是 一旦我单击按钮后移至下一个视图 我就会丢失最右边的两个图标 搜索 个人资料 据我所知 从故事板设置导航项目通常是按视图进行的 我可以为每个视图复制这些项目 但我想知道是否有更好的方法来完成一次 是否有教
  • 游戏中心玩家显示名称在沙盒中始终为“我”

    我使用用户的游戏中心显示名称和玩家 ID 来维护他们在我的服务器上的个人资料 当我进行测试时 一切似乎都正确执行 但我的沙箱帐户的用户显示名称显示为 Me 而不是附加到我的帐户的显示名称 Billybobbo 这应该在沙盒模式下发生吗 Co
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从
  • Swift:UICollectionViewCell didSelectItemAtIndexPath 更改背景颜色

    我可以轻松更改单元格的背景颜色CellForItemAtIndexPath method func collectionView collectionView UICollectionView cellForItemAtIndexPath

随机推荐

  • QUOTENAME 函数的相反函数是什么?

    在 SQL Server 中 有一个内置函数可以为您引用一个标识符 称为 是否有一个函数可以执行相反的操作并再次删除引号 换句话说 在下面的代码示例中 我该如何替换 SOMEFUNCTION 才能使其对于我可以将 name 初始化为的任何值
  • Python:列表理解背后的机制

    当使用列表理解或infor 循环上下文中的关键字 即 for o in X do something with o or l o for o in X 背后的机制如何in works 其中包含哪些函数 方法X它打电话吗 If X可以遵循多种
  • 使用具有相同参数的不同模板模板参数重载函数时出错

    我有一个类 它获取两个模板模板参数 并使用一个参数重载一个函数 该参数是一个或另一个模板模板参数 但两次都使用相同的模板参数 template
  • 使用boost::iostreamsmapped_file_source和filtering_streambuf解压缩文件

    我计划处理大型压缩文件 并且希望对文件进行内存映射以加快读取速度 我采用了带有常规文件输入的现有示例 但无法编译或工作 我正在使用 C Boost 1 49 欢迎任何建议 include
  • 在 C# 中创建/打开从路径到新 Outlook.MailItem 的现有消息

    您好 我想从磁盘上的现有 Outlook MailItem 创建一个 Outlook MailItem 我相信 我将路径存储在字符串中 并且希望访问以保存其中的正文和附件 我似乎不知道如何在 C 中打开它并访问它 目前我有类似的东西 其中
  • 从字符串中删除数字

    我想知道如何从字符串中删除数字 我尝试使用 StringReplace 但不知道如何告诉函数我要替换数字 这是我尝试过的 StringReplace mString 0 9 rfReplaceAll rfIgnoreCase 简单但有效 可
  • fatal:您当前的分支似乎已损坏

    我使用时出现此错误 git log fatal 您当前的分支似乎已损坏 我的分支文件被破坏了 我在记事本中打开 git refs heads mybranch 但我只看到一些 在文件中 我知道我必须找到分支哈希并将其复制到 git refs
  • 在滚动上重新定位 CdkConnectedOverlay

    我正在尝试使用CdkConnectedOverlay单击按钮时显示叠加层 它大部分工作正常 但覆盖层没有在滚动时重新定位 我确信我遗漏了一些小东西 但我一生都无法弄清楚 我在用着Angular 7 2 8 and Angular CDK 7
  • 无法从 iOS OAuth1.0、OAConsumer 客户端在 tumblr 上发帖

    我正在尝试将 tumblr 集成到我的应用程序中 我能够成功获取访问令牌 但是 当我尝试发帖时 出现以下错误 meta status 401 msg Not Authorized response 我正在使用OAuthConsumeriOS
  • 关联的遍历方向

    我正在读这本书领域驱动设计 of 埃里克 埃文斯 第5章 关于协会 他降低模型复杂性的建议之一是为关联施加遍历方向 I quote 尽可能地限制关系很重要 A 双向关联意味着两个对象都可以被理解 只有在一起 当应用需求不需要遍历时 在两个方
  • 静音按钮不会使 AVAudioPlayer 静音

    我需要在我的 iPhone 应用程序中循环播放 caf 文件 AVAudioPlayer 看起来很有前途 但有一个问题 即使我按下 iPhone 上的静音按钮 它也不会停止或静音 据我了解 在 iOS 5 中 无法以编程方式查明静音按钮是否
  • WooCommerce 付款完整挂钩

    经过长时间的搜索 我找到了这篇文章 WooCommerce 挂钩用于 付款完成后 操作 https stackoverflow com questions 28218580 woocommerce hook for after paymen
  • Mongo,通过id列表查找

    我有一个返回字符串 MongoDB id 列表的进程 512d5793abb900bf3e20d012 512d5793abb900bf3e20d011 我想向 Mongo 发起一个查询 并按照与列表相同的顺序获取匹配的文档 执行此操作的
  • React Native AsyncStorage getItem 返回承诺而不是值

    我有一个登录表单 我可以发布表单值 成功的 POST 请求后 我会收到从 API 返回的身份验证令牌 我需要将此令牌保存在本地存储中以供将来参考 为了保存此身份验证令牌 我使用 AsyncStorage 我用了AsyncStorage se
  • Python 发送的 MIME 电子邮件附件未显示在 mail.live 中

    我有一个 Python 3 脚本 它使用 MIMEMultipart 发送带有生成的附件的 xlsx 文件的电子邮件 我曾经在 Py2 上使用相同的脚本来发送相同的生成文件 唯一的区别是 Py2 脚本从 MySQL 收集信息来创建 xlsx
  • 三次曲线 JavaFX

    我在 JavaFX 中的 CubicCurve 上遇到了困难 例如 如何绘制 y x 3 绘制曲线的机制看起来非常笨拙 是否可以将曲线的端点之一连接到另一个节点 以便当该节点的位置发生变化时曲线会适应它 Thanks 我认为 JavaFX
  • 更换默认手机APP

    我正在尝试替换默认的 Android 电话应用程序 更具体地说 我想在每次执行呼叫操作时启动自定义电话呼叫屏幕 我知道自 Android 的 API 24 版本 7 0 Nougat 以来这是可能的 但我没有找到有关如何实现此目的的参考资料
  • 在 ionic 中加载 url 显示空白屏幕

    我在网上搜索过 但没有得到关于这个问题的具体信息 我正在使用 ionic v1 其中我正在加载我的 adfs url 来要求用户通过 adfs 网页登录 但仅在某些手机上我看到登录页面 而在其他手机上我看到空白屏幕 我尝试调试它 但到目前为
  • 如何在 Android 中以编程方式加载布局 XML 文件?

    我已经做了一个布局 比如说my layout xml 其中以编程方式包括另外两个 XML 布局文件 例如一些 layout xml and another layout xml my layout xml是使用绘制的setContentVi
  • 查找两个蓝牙设备之间的方向(定位)

    我有一个应用程序 可以扫描另一部手机正在广播的特定 UUID 并测量它们之间的信号强度 并告诉您离它们是否越来越近或越来越远 我想添加一个方向箭头 我知道如果你有 3 个点 你可以使用三角测量 但我想用 2 个点得到一些稍微准确的东西 有什