Android BLE 扫描与 UUID 过滤器列表混淆

2024-02-26

我正在 Android(移动设备 A)上执行 UUID 过滤扫描,并且有两个测试用例。

一个人在另一台 Android 设备(移动设备 b)上使用名为 BLE Scanner 的应用程序来创建具有两个测试服务(每个服务都有自己唯一的 UUID)的 BLE 服务器。另一种是通过 Arduino BLE 服务器,并为其服务提供自定义 UUID。

如果我使用移动设备 B 的 BLE 扫描仪应用程序并扫描 arduino,我可以找到它、连接到它并查看服务以及每个服务的 UUID。它具有通用属性、通用访问权限和自定义服务(我设置的服务)。那太好了。

如果我使用移动设备 A 并使用三个服务(通用属性 UUID、通用访问 UUID 和自定义服务 UUID)执行 BLE 过滤扫描,则 Arduino 根本不会显示在扫描中。

如果我使用移动设备 A 并使用通过移动设备 B 上的 BLE 扫描仪应用程序创建的测试服务器中的 UUID 执行 BLE 过滤扫描,则移动设备 B 的 BLE 服务器确实会显示在扫描中。

所以我很困惑。移动设备 A 的过滤扫描似乎可以找到通过 BLE 扫描器应用程序创建的服务器,并分配由 BLE 扫描器应用程序创建的自定义 UUID,但对于 Arduino BLE 服务器,它无法显示。

是否可能是因为 BLE 扫描器应用程序不执行过滤扫描来查找/连接到它能够工作的 Arduino BLE 服务器?在哪种情况下,不可能使用 Arduino 上的已知服务 UUID 进行过滤扫描?或者是否有我丢失的隐藏 UUID,或者 UUID 是否需要包含在广告数据/制造数据中?


事实证明,差异是由于未能在过滤器扫描中显示的设备是因为广告数据中没有设置/提供 UUID,因此扫描只是将其全部排除。

一旦我将 UUID 添加到广告数据中,它就会显示在扫描中。

就我而言,我必须遵循此处的 Arduino BLE 库示例。https://github.com/nkolban/ESP32_BLE_Arduino/blob/master/examples/BLE_server/BLE_server.ino https://github.com/nkolban/ESP32_BLE_Arduino/blob/master/examples/BLE_server/BLE_server.ino

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

Android BLE 扫描与 UUID 过滤器列表混淆 的相关文章

  • 上传到 Google Play 商店后应用程序屏幕截图变得模糊

    我制作了一个简单的 Android 应用程序 并已在 Google Play 商店上发布 一切似乎都运行良好 但是 我上传的应用程序的屏幕截图在 Play 商店上变得模糊 即使真实图像看起来不错 我在 SO 上发现了一些类似的问题 但没有一
  • Android FAB 图标始终为黑色,带有 MaterialComponents 主题

    我正在创建一个 Android 应用程序 并使用 AndroidX 库和 Material design 主题 我的应用程序主题为styles xml is 我有来自自定义库的以下 F
  • 为什么无法将 INT 保存到 SharedPreferences 中?

    我有一个奇怪的问题 我以前从未有过 当我尝试将 int 值保存到我的 SharedPreference 中 然后在其他 Activity 中恢复时 即使我保存其他值 例如 1 值也始终为 0 private String Number pr
  • 默认启动器图标大小应该是多少

    我参考了文档http developer android com guide practices ui guidelines icon design html icon sets http developer android com gui
  • Android 中无网络、断线的情况如何处理?

    我有一个应用程序需要连接到 Internet 才能执行某些操作 但当没有可用的 Internet 时 它会崩溃 我读到 如果没有互联网 我需要使用 try catch 括号 我尝试使用它 正如您在 AsyncTask 中看到的那样 但它不起
  • Android 2.x 天城文 unicode 问题

    我正在尝试使用以下代码支持 android 2 x 的梵文字体 即使 android 2 x 无法渲染梵文字体 除了 raswa 和 dirga 存在一些问题之外 代码工作正常 是否有可能在 android 2 x 中获得正确的梵文表示形式
  • 检查互联网连接是否可用?

    我正在开发在线应用程序 问题 当互联网关闭或不可用时 它会给我错误 强制关闭 我尝试使用broadCast Receiver进行处理 但没有满足确切的解决方案 正在寻找更好的解决方案 public class MyBroadcastRece
  • Android 开发应用程序密钥和应用程序秘密

    我正在尝试使用带氦气选项的城市飞艇为 Android 应用程序设置推送通知 但是 我需要为我的应用程序找到这些信息 但我不知道从哪里可以找到 任何意见或建议将不胜感激 谢谢你 For setting up Helium make sure
  • 在撰写中自动滚动多行文本字段

    我有一个多行文本字段 如下所示 val scrollState rememberScrollState 0 TextField modifier Modifier fillMaxWidth height 75 dp verticalScro
  • 无法从 AsyncTask 启动服务

    我正在尝试从 AsyncTask 启动服务 但看不到它的启动 我还在清单文件中添加了服务 这里是代码 protected Integer doInBackground Void values throws InterruptedExcept
  • 通过使用 Intents 使用预装的 Google 地图而不是自己的 Activity?

    我只是想知道是否可以将地理坐标传递给谷歌地图应用程序之二意图或类似的东西 我自己编写了一个用于显示路线 坐标等的应用程序 但是让谷歌地图本身显示这些不是更优雅吗 我不知道这是否可能 但也许你们中的一个人可以回答这个问题 如果这是可能的 是否
  • Android Studio .2.2 和 Gradle 包不存在

    Android Studio 和导入外部 Java 库的新功能 我已阅读有关配置 Gradle 依赖项的帖子 并修复了我的第一个包不存在错误 这些是我的 MainAcitivity java 文件中的导入语句 import com goog
  • Android快速查找网络上所有本地设备

    我正在制作一个 Android 应用程序 需要能够查看本地网络设备 名称或 IP 目前我可以扫描网络并找到设备的本地IP 然而 由于时间太长 用户在搜索网络时会看到黑屏加载几分钟 这是我当前正在使用的代码 private ArrayList
  • 如何在 Android RecyclerView 中显示一组项目的日期/日期

    您好 我在 JSONArray 中获取数据如下 chatArray msg id 193 user id 15235 first name Vishal user name vishal13 message twilio chat time
  • 会话“app”:安装 APK 时出错

    尝试按照说明在真实设备上安装应用程序 http developer android com tools device html http developer android com tools device html 最后 Android
  • 读取Android文件系统中的所有文件

    我正在编写一个Android mediaPlayer应用程序 所以我想扫描整个手机上的所有文件 即sd卡和手机内存 我可以从 SD 卡读取数据 但不能读取它的根目录 也就是说 我可以从路径中读取 sdcard folder 它工作得很好 但
  • onDataChanged() 在 Android Wear 上未被调用

    我试图使用数据项将一些字符串发送到我的穿戴设备 但我的穿戴设备似乎从未收到任何信号 因为 onDataChanged 从未被调用 我什至设置了一个时间戳 以确保每次发送数据时始终不同 有没有特定的方法我必须将应用程序安装到两台设备上才能使其
  • Android ListView,如果arrayAdapter的arrayList为空则显示消息

    我需要帮助 我有一个 Listview setListAdapter arrayAdapter 和数组适配器有一个 arrayList If my arrayList is empty it shows loading images it
  • 谷歌放置片段上的Java空指针异常

    当我尝试尝试自动完成位置功能时 出现空指针异常 我像文档中一样添加了片段 并需要帮助来解决这个问题 谢谢 主要活动 package com example srinivas mapautocompletetest1 import andro
  • Ionic Cordova Build Android 未找到已安装的构建工具

    我在 Ubuntu 16 04 上的 Android 上构建 ionic 应用程序时遇到问题 这是我为了实现这一目标所做的一步 下载Android Studio 下载Android SDK 在 bashrc 和 bash profile 中

随机推荐

  • boost::asio::co_spawn 不会传播异常

    我正在涉足关于 boost asio 的协程 并且我对异常处理感到困惑 判断通过examples https www boost org doc libs 1 71 0 doc html boost asio example cpp17 c
  • JupyterLab 的下载文件夹

    我想从 Jupyterlab 在谷歌云实例上运行 下载一个 pickle 文件的文件夹 但我找不到这样做的方法 显然 下载单个文件是允许的 但我的文件夹中有大约 500 个 pickle 文件需要下载 因此手动下载需要一些时间 正如您在下面
  • 如何知道UILabel中显示的文字?

    我有一个UIView含有两个UILabels 以显示字符串 首先UILabel有固定的大小 如果绳子太长 容纳不下UILabel 我想在第一个中显示最大字符数UILabel 并在第二个中显示字符串的其余部分UILabel 但要做到这一点 我
  • Recordset.Edit或Update sql vba语句更新最快的方法?

    我最近遇到了vba update语句并且我一直在使用Recordset Edit and Recordset Update不仅编辑我现有的数据 而且更新它 我想知道两者的区别 recordset update and Update sql
  • calloc 与 malloc 以及时间效率

    我饶有兴趣地阅读了这篇文章C malloc和calloc的区别 https stackoverflow com questions 1538420 c difference between malloc and calloc 我在代码中使用
  • 安装软件包不起作用:权限被拒绝

    我正在努力安装 psych 包 我开始使用命令install packages psych 开始下载 结果如下 Installing package into C Users Username Documents R win library
  • 在 SQL Server 中查询对话中用户的精确匹配

    我有一个对话表和一个用户对话表 CONVERSATION Id Subject Type USERCONVERSATION Id UserId ConversationId 我需要根据 UserId 列表执行 SQL 查询 因此 如果同一个
  • @Scheduled 中的 Spring 会话范围对象

    在 Spring 中 我有很多使用如下定义的会话 bean 的代码 Scope value session proxyMode ScopedProxyMode TARGET CLASS 在我的网络应用程序中一切都很好 因为会话范围是 可用的
  • 自动将 Git 同步到 SVN

    Summary 我想要完成的是定期推送bare将 Git 存储库放入 Subversion 中 以便其他人可以使用无人值守的脚本来检查它 我不需要相反的方向 SVN gt Git 我希望有人能帮助我完成这件事 我见过的其他线程非常接近我所需
  • Flink 日志记录限制:如何将日志记录配置传递给 Flink 作业

    我有一个 flink 作业 它使用 logback 作为日志记录框架 因为日志需要发送到logstash 而 logback 有一个 logstash 附加程序 Logstash logback appender Appender 工作正常
  • 使用 Bicep 在 Azure Blob 存储容器上添加 RBAC 角色

    我正在使用 bicep 部署 azure data Lake gen2 存储帐户 我想在带有二头肌的容器上分配角色 组 参见下面的代码 但我不断收到错误 有人能帮我吗 targetScope resourceGroup param loca
  • 将 R 对象传递给 Rust 程序需要哪些步骤?

    R和Rust都可以与C代码交互 所以我认为这是很有可能的 然而 我有点不清楚如何继续 我已阅读这些部分来寻找答案 R 扩展系统和外语接口 http cran r project org doc manuals r release R ext
  • “async defer”一起使用时有什么作用? [复制]

    这个问题在这里已经有答案了 我遇到了以下代码
  • 警告 C26812:枚举类型未限定范围。更喜欢枚举类而不是枚举

    我很困惑为什么我会收到这个警告 我的整个代码中甚至没有枚举 include
  • 为什么 GCC 在此示例中不发出警告

    With Wsequence point启用后 当发现未定义的行为代码时 GCC 应警告用户 例如 b a a GCC 应注意并应报告为 未定义行为 代码 因为 ISO C 未指定求值操作数的加法顺序 然而 我尝试了语法并尝试了这个 int
  • Android Camera2 RAW 流媒体

    我对 Android 非常陌生 正在尝试 从相机流式传输原始数据 ImageFormat RAW SENSOR 处理原始数据 以交互方式显示处理结果 原始数据捕获似乎仅在静态捕获模式下可用 它是否正确 如果是这样 是否可以对 RAW 图像执
  • 用于大规模持久化图形的 NoSQL 解决方案

    我迷上了使用 Python 和 NetworkX 来分析图表 随着我了解的越来越多 我想使用越来越多的数据 我猜我正在成为一个数据迷 最终我认为我的 NetworkX 图 存储为字典的字典 将超出我系统上的内存 我知道我可能可以添加更多内存
  • 如何通过服务器端node.js运行CCapture?

    我试着跑CCapture js https github com spite ccapture js via node js基本代码 用于测试 为 global navigator userAgent node js global wind
  • .gitignore 中 a/ 和 a/* 和 a/** 之间的区别?

    这是我的文件夹 a b b1 txt b2 txt a1 txt a2 txt gitignore Firstly 我发现如果我想忽略文件夹 a a and a and a 都可以完成 第二 我想忽略文件夹中的所有内容a除了文件夹b 唯一的
  • Android BLE 扫描与 UUID 过滤器列表混淆

    我正在 Android 移动设备 A 上执行 UUID 过滤扫描 并且有两个测试用例 一个人在另一台 Android 设备 移动设备 b 上使用名为 BLE Scanner 的应用程序来创建具有两个测试服务 每个服务都有自己唯一的 UUID