如何在iOS应用中连接到不是广告服务UUID的BLE设备

时间:2018-11-15 20:47:09

标签: ios swift arduino bluetooth-lowenergy esp32

我正在尝试通过BLE将ESP32模块连接到我的iPhone,并使用centralManager.scanForPeripherals(withServices: [carServiceCBUUID], options: nil),其中let carServiceCBUUID = CBUUID(string: "c0de0001-feed-f00d-c0ff-eeb3d05ebeef")。我正在关注Ray Wenderlich的心脏监护程序教程,但是由于ESP32蓝牙模块未发布主要服务UUID,因此我执行scanForPeripherals时找不到该设备。附件是BLE设备上的LightBlue信息的屏幕截图。有什么方法可以更改广告数据以便为服务做广告?我在ESP32 https://thejeshgn.com/2018/06/11/esp32-ble-building-an-echo-service-gatt-server/

上运行此代码

screenshot of LightBlue connection

1 个答案:

答案 0 :(得分:1)

根据documentation of scanForPeripheralsWithServices:options:serviceUUIDs参数可以为nil-在这种情况下

  

所有发现的外围设备均返回,无论其支持的服务如何(不建议)

因此,除非计划在后台运行应用程序时使用后台模式进行扫描,否则只需将nil作为serviceUUIDs参数传递