扫描 iPhone 范围内的蓝牙设备需要多长时间?

2024-04-17

我知道 iPhone 蓝牙功能要到 3.0 才能通过 SDK 访问,但是需要多长时间才能找到该区域的设备?它取决于该区域的设备数量吗?如果范围内有大约 5 个设备,扫描发现所有设备是否需要花费 30 秒的时间?

我知道有很多未知因素,但我试图确定如果时间很短,我是否可以在启动时进行蓝牙扫描,或者我是否必须告诉用户即将进行扫描并且可能会耽误很长时间。由于其他蓝牙设备不可用,我无法在现实世界中对此进行测试,但我正在尝试了解它的设计方式。


不确定 API 可以让您做什么,但底层的蓝牙主机控制器接口 (HCI) 命令是“查询命令”

这将允许您在固定时间和/或固定数量的响应内查询设备。

我是蓝牙新手,不是专家,但是......

要从处于低功耗模式的蓝牙设备获得至少 1 个响应需要 1.28 秒,因此查询时间是该周期的倍数,最大为 61.44 秒(48 个周期),因此时间范围为 1 (1.28秒)到 48(61.44 秒)。

不过,可能有多个设备可以在 1.28 秒的时间内做出响应。

您还可以指定您将接受的响应数量 (1..255) 或 0 表示无限制,例如直到时间用完。

如果您找到了您正在寻找的特定设备,您也可以取消查询。

在我的办公桌上使用带有蓝牙 2.1 +EDR 固件的 CSR 蓝牙芯片进行不科学的测试,在芯片上运行查询,并通过芯片 UART 进行调试输出。每个查询运行 10 次并取结果的平均值:

  • 1周期查询时间(1.28秒) 平均产生 10 个独特的 蓝牙地址。
  • 5期查询 时间(6.4 秒)得出平均值 23 个唯一的蓝牙地址。
  • 10 周期查询时间(12.8秒) 平均产生 29 个独特的 蓝牙地址。

我说“唯一”,实际上结果一遍又一遍地重复许多相同的地址,但这可能取决于实现,并且 Apple API 可能只返回唯一的地址。

然而,这并不代表“现实世界”,因为这里(我的办公室)的大多数蓝牙设备都不处于低功耗模式。我想,我可以按设备类别过滤掉 PC、笔记本电脑和测试套件。这将获得可被发现的手机、耳机等......

查询也可以结合 RSSI 来获取信号最强的设备,但不一定是最接近的。

对于您的场景,您可能希望根据时间和设备数量进行查询,例如 4 * 1.28 秒或 10 台设备。

总结一下: 最短的查询时间是 1.28 秒,可能会得到 10+/-?该区域中的设备(如果它们处于唤醒状态且位于附近)。

如果您的蓝牙环境已饱和或(微波炉位于同一房间内),则可能需要更长的时间才能找到范围内的所有设备。

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

扫描 iPhone 范围内的蓝牙设备需要多长时间? 的相关文章

  • 如何设置仅适用于 iPhone 或 iPad 的视口?

    我有一个网站 需要在 iphone 上使用 0 3 的视口值 但在 ipad 上使用 0 7 有没有办法只为 iPhone 或 iPad 设置视口 这是一种解决方案
  • 横向旋转到纵向时的字体大小怪异 - CSS 媒体查询 - iPhone5 Safari

    我已经用谷歌搜索了这个 但无法弄清楚 谢谢你的帮助 Studiolynch com 响应式和流体布局 在 iphone 5 Safari 中完美运行 除了从横向模式旋转到纵向模式会使字体大小小于应有的大小 但是 如果您最初以纵向模式加载页面
  • 如何在 Android 中启用高速蓝牙(3.0+HS 或 4.0)?

    所以我在两部蓝牙 4 0 Android 手机上有一个 BT 客户端和一个服务器应用程序 服务器等待连接通过 BluetoothServerSocket serverSocket mBluetoothAdapter listenUsingR
  • 应用程序更新时的 iPhone 数据迁移

    我正在开发一个 iPhone 应用程序 它使用 sqlite 来存储应用程序和用户数据 这是该应用程序的第一个版本 我想知道我需要做什么来为该应用程序的未来版本做准备 这够了吗 1 确保 XCode 项目设置中的应用程序版本正确 2 在sq
  • 无需 iPhone 6 Plus 即可预览 iOS 应用程序

    我已经在 Yosemite 中使用 iPhone 6 和 Quicktime 完成了 iOS 应用程序预览 视频 但我无法在 iTunes Connect 中为 iPhone 6 上传它 而且我没有 iPhone 6 设备 有没有办法在没有
  • 将语音添加到自定义 UIMenuController

    我创建了一个自定义UIMenuController in a UIWebView但它似乎摆脱了 说出选择 选项UIMenuController在那之后 所有测试设备上的 偏好设置 中都打开了发言选择选项 并且它出现在其他应用程序中 包括非
  • 将应用程序登录凭据发送给 AppStore 审核者

    我刚刚将我的应用程序上传到应用程序商店 该应用程序需要用户名 密码才能登录 但在上传过程中从未提示我输入任何凭据 有谁知道我如何向审阅者发送我的凭据 而不必等待他们审阅并请求凭据 您编辑应用程序元数据 标题 描述 关键字等 的页面最底部字段
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • 背景大小:封面在视网膜显示屏上看起来像素化

    可以看到我正在开发的网站here http ourcityourstory com dev 如果你查看 iPad 3 或 iPhone 4 上的 关于 或 联系 部分 背景看起来全都是疯狂的像素化 我有background size set
  • 使用特定的 url 启动 UIWebview

    我目前有一个包含四个按钮的视图 并且希望能够启动 UIWebview 并为每个不同的按钮提供特定的 url 我目前可以使用 url 从外部启动 safari 我知道我可以使用代码在每个按钮中显示 UIWebview 并且可以在 UIWebv
  • 访问 google reader 的 Endpoints API 时出错

    我正在尝试在iPhone APP中实现google reader 到目前为止我已经成功收到了sid and auth 当我尝试使用以下命令调用 Endpoints API 时 问题就出现了GET 这是代码 ASIHTTPRequest re
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • 从plist文件中读取数据

    我正在尝试为我的 iPhone 应用程序实现保存状态 我有一个名为 SaveData plist 的 plist 文件 我可以通过以下方式读取它 NSString pListPath2 bundle pathForResource Save
  • iPhone Twitter SDK 与 iOS 5 设备的集成问题

    我已成功将 Twitter Sharekit 与我的 iPad 应用程序源集成 当我在模拟器和装有 iOS 4 X 的 iPad 1 上测试该应用程序时 它运行完美 并且成功发布了推文 但是 如果我在装有 iOS 5 的 iPad 2 上安
  • 我可以使用 jpeg 图像来启动 Screen

    我目前正在进行应用程序开发 并且添加了一个 JPEG 格式的启动器屏幕 该屏幕在模拟器和设备中都显示 但这是否会对苹果批准指南产生任何问题 iOS 8 更新 您现在可以使用基于 XIB 的启动资产 https developer apple
  • 连接到不可发现的蓝牙设备

    我正在开发一个安卓应用程序 只是一个一般性问题 是否可以连接到公开不可发现的设备 提前致谢 如果您之前已与该设备配对 则即使该设备未处于可发现模式 也可以再次连接到该设备 参见这篇文章 以编程方式连接到配对的蓝牙设备 https stack
  • iPhone/Objective-C - 呈现视图和委托时的 UIDocumentInteractionController 类参考

    我在用UIDocumentInteractionController在我的应用程序中 以便在我的应用程序中呈现 Instagram 过滤器屏幕 如下所述 http instagram com developer iphone hooks h
  • 如何用图片替换UITableView?

    我有一个 UITableView 默认为空白 直到用户编辑并向其添加数据 我想显示一张带有说明的图像 直到用户编辑它为止 图片的大小非常适合导航栏和标签栏之间 有没有办法以编程方式执行此操作 您可以使用removeFromSuperview

随机推荐

  • Android Studio 3.1.1 更新后,“定位”链接无法打开生成的 APK 文件夹

    更新 Android 3 1 1 更新后出现问题 APK 生成过程完成后 Android Studio Windows 操作系统 会弹出一个窗口来定位或分析 APK 不幸的是 如果我点击locate 什么也没有发生 UPDATE 在 APK
  • 解析器 - 调用 yytext 时出现分段错误

    我的解析器正在识别语法并使用 yylineno 指示正确的错误行 我想打印导致错误的符号 int yyerror string s extern int yylineno defined and maintained in lex yy c
  • 在MIPS中,有符号加法、无符号加法、有符号减法和无符号减法之间有什么区别?

    add rd rs rt addu rd rs rt sub rd rs rt subu rd rs rt 在MIPS中 有符号加法 无符号加法 有符号减法和无符号减法之间有什么区别 如果它们的结果相同 那么分类为使用有符号和无符号方法有什
  • 使用 javascript 在 Android 中更改方向

    document addEventListener orientationChanged updateOrientation 我正在尝试调用一个函数updateOrientation 但该函数只是没有被调用 我正在使用 javascript
  • Bixby:如何获取基于我的位置的信息?例如天气等

    我看到了bixby studio的开发指南并测试了提供的示例 我想要一些更复杂 但非常重要 的服务 例如基于我所在位置的天气信息 此功能在 bixby studio 的当前状态下可用吗 如果可能的话 请告诉我如何做 这是一段可能对您有帮助的
  • 在 C/Linux 中显示图像的最简单方法是什么? [复制]

    这个问题在这里已经有答案了 我很习惯用 C 进行数值计算 但不擅长图形编程 我在 Linux gcc ubuntu 的命令行程序中有一个 Nx x Ny x 3 RGB 矩阵 我想弹出一个窗口 将其作为图像 做到这一点最简单的方法是什么 它
  • SQL - 转换日期时间格式

    我尝试更改 MySQL 上的日期时间格式 T 得到了一个包含一些列的历史表 其中一些列都具有这种格式 DATETIME JJ MM AAAA HH MM 我需要更改为 AAAA MM JJ HH MM SS 我没有 SS 的变量 我想取 0
  • 最小 SDK 版本/目标 SDK 版本与编译 SDK 版本有什么区别?

    最小sdk版本 目标sdk版本 和 编译sdk版本 有什么区别 我知道 min 和 target sdk 是什么意思 但是编译 sdk 版本是什么意思 在 Eclipse 中 我有最小 最大和目标 sdk 但在 android studio
  • Facebook Open Graph 未显示在时间线上

    我在我的应用程序中使用 FB Open Graph 它没有完全发挥作用 当我发布一个对象时 它会出现在用户最近的活动中 然而 它并没有出现在他们的时间表上 元数据没有错误 我正在使用 FBGraph gem 但当我使用curl 执行此操作时
  • SQL 中将月份编号转换为月份名称函数

    我在 SQL Server 中存储了月份 1 2 3 4 12 我想将它们显示为一月 二月等 SQL Server 中是否有类似 MonthName 1 January 的函数 如果可能的话 我试图避免使用 CASE 语句 我认为这是获得月
  • 如何在 Qt5 中创建/读取/写入 JSON 文件

    Qt5 有一个新的 JSON 解析器 我想使用它 问题在于 用外行术语来说 这些函数的作用以及如何用它编写代码并不太清楚 否则我可能读错了 我想知道在 Qt5 中创建 JSON 文件的代码以及 封装 的含义 示例 从文件中读取 json t
  • XML 文本提取

    设想 给定以下 XML 文件
  • python 3 打印生成器

    当我处理 print 函数 Python 3 时出现问题 当我寻找一系列的总和时 我可能会使用以下代码模式 gt gt gt sum i for i in range 101 但是当我倾向于检查我制作的系列时 我选择 print 并假设它会
  • 智能表,onclick事件

    是否可以在智能表上处理 onClick 事件 我已经注释了来自后端的数据 单击某个条目时 我想导航到一个新视图 显示与我单击的条目关联的所有数据 我怎样才能在 SAPUI5 中实现这一点 我可以在 JavaScript 控制器中使用 get
  • React Navigation - 从选项卡栏打开模式

    使用 React Navigation 6 我将底部选项卡设置为我的主导航器 export function TabNavigator const getColor focused color gt focused palette blue
  • 404 尝试将 Ocelot 中的上游路径路由到下游路径

    我在将传入的 http 请求转发到下游路径时遇到此警告 错误 Ocelot DownstreamRouteFinder Middleware DownstreamRouteFinderMiddleware 警告 requestId 8000
  • SAPUI5 oTable 一行作为链接,其他作为文本视图

    目前我有一个 sapui 表 我希望其中一行是链接 所有其他行应该是文本视图 我的问题是 构建表是基于列 oTable addColumn new sap ui table Column label new sap ui commons L
  • vue.js 中的 $http.get() 与 axios.get() 有什么区别?

    我有点困惑理解之间的主要区别 http get and axios get 我查阅了很多资源 但没有得到满意的答案 有人可以帮我吗 http 是一个全局变量 可能是您在 vuejs 项目中定义的 请在您的项目中搜索 http 您可能会发现它
  • 如何在运行时知道 POJO 的 ID (@GenerateValue)

    我有一个表格可以填写 POJO 名为Father 在里面 我有一个FotoFather field 当我保存一个新的 Father 时 我会自动保存 FotoFather 对象 使用 Hibernate ORM 模式 FotoFather
  • 扫描 iPhone 范围内的蓝牙设备需要多长时间?

    我知道 iPhone 蓝牙功能要到 3 0 才能通过 SDK 访问 但是需要多长时间才能找到该区域的设备 它取决于该区域的设备数量吗 如果范围内有大约 5 个设备 扫描发现所有设备是否需要花费 30 秒的时间 我知道有很多未知因素 但我试图