当前位置: 首页 > 知识库问答 >
问题:

如何连接到iOS应用程序中没有广告服务UUID的BLE设备

郗俊能
2023-03-14

我正在尝试通过BLE将ESP32模块连接到我的iPhone,并使用centralManager。扫描外围设备(带有服务:[carServiceCBUUID],选项:nil)其中,让carServiceCBUUID=CBUUID(字符串:“c0de0001-feed-f00d-c0ff-eeb3d05ebeef”)。我正在学习Ray Wenderlich的心脏监护仪教程,但由于ESP32蓝牙模块没有公布主要服务UUID,因此当我扫描外围设备时,它找不到该设备。附件是BLE设备上浅蓝色信息的屏幕截图。是否有办法更改广告数据,以便为服务做广告?我正在ESP32上运行此代码https://thejeshgn.com/2018/06/11/esp32-ble-building-an-echo-service-gatt-server/

LightBlue连接截图

共有1个答案

司徒啸
2023-03-14

根据scanForPeripheralsWithServices:选项的文档:在这种情况下,serviceUUIDs参数可以是nil

将返回所有发现的外围设备,而不考虑其支持的服务(不推荐)

所以,除非您计划在应用程序位于后台时使用后台模式进行扫描,否则您只需传递参数

 类似资料:
  • 我目前只有一部5.0手机可以测试这个功能(Moto E2 3G在5.0Lollipop上),但我无法在Android 5.0上发布自定义UUID。当我说自定义UUID时,我指的是蓝牙LE规范未预定义的UUID。 在我的Nexus 6 Android 5.1上,一切正常。 当查看广告包的摩托罗拉E2与自定义UUID,这里是什么我可以看到-注意没有关于服务UUID的信息: 如果我在Moto E2上公布

  • 我有一个问题,我用套接字构建了服务器部分和客户机,没有收到任何错误。当我在浏览器中键入本地地址时,它会在cmd中显示信息,但当我在emulator或mobile中运行Android应用程序时,它不会连接到服务器。 我使用的权限: 服务器代码: Main Activity.java是: 请引导我。

  • 问题内容: 我想用BLE扫描某些设备。我只想显示我的设备,所以我知道了设备的名称,如果是好的设备,我会将其放在列表中。 我的问题是,如果我更改设备的名称,此检查将为false。因此,我看是否有可能获得一些我添加的用于执行检查的服务的不变的东西。唯一的方法是使用gatt在发现服务后执行此操作,然后再连接到该设备,但是,是否有可能在不连接设备的情况下从该设备发现某些服务? 问题答案: 我不具备andr

  • 我正在使用scanFor外围文件服务扫描设备UUID。当我使用一些标准服务UUID值时,它有时会工作。 当我尝试使用自定义服务UUID时,它通常找不到任何设备,但如果我在服务UUID列表中使用nil,它将找到使用其服务UUID时找不到的那些设备。 发生了什么事?这可能是因为这些设备的广告包只能广告其部分服务吗?

  • 我所有的橱柜。Service.ts 我的app.module.ts 我在控制台收到这条消息 ×执行命令'javac'时出错。确保您已经安装了Java Development Kit(JDK)并设置了JAVA_HOME环境变量。您将无法为Android构建您的项目。为了能够为Android构建,请验证您是否安装了Java Development Kit(JDK),并按照http://docs.nat

  • BLE(低功耗蓝牙)设备应该在不扫描到我的iPhone(应用程序)的情况下连接。 我有通过扫描QRCode得到的BLE地址。 因此,我希望在不调用(manager.scanForPeripherals(withServices:nil))的情况下连接特定的设备(我传递地址的设备),因为它将启动所有设备。 目前,当我找到我的特定设备时,我可以扫描我的BLE设备的二维码并扫描所有可用设备。我正在停止扫