如何使用标识符连接外围设备/ble设备?(代码片段)

author author     2023-05-13     813

关键词:

我想使用标识符连接外围设备。我可以做吗?

centralManager?.connect(peripheral, options: nil)

我在一个ViewController扫描设备,并在另一个ViewController连接它。

以下是我的要求:

当我扫描设备并保存下次可以出现在主屏幕并直接连接的设备时。因此,为此,我使用singleton类从一个视图访问外围数据到另一个视图。但它始终初始化为空。所以我想通过使用标识符来连接外围设备。我不知道我们在哪里存储[CBPeripheral]并在需要时访问它。

答案

我想使用标识符连接外围设备。我可以做吗?

简答:不,你不能这样做。

答案很长:

Refer apple official document.

没有用于连接标识符的规定或方法但是,Apple提供了使用标识符来检索外围设备的规定。

我们来讨论一些其他选择

CBPeripheral没有实现NSCoding。因此,几乎不可能将BLEPeripheral对象存储到NSUserDefaults或任何其他容器中。

最好的解决方案是存储CBPeripheral的属性,如名称或标识符等。

UserDefaults.standard.set(Device_name, forKey: "Device_name")
UserDefaults.standard.set(Device_Identifier forKey: "Device_Identifier")

通过使用retrievePeripherals(withIdentifiers:),您可以再次获得BLEPeripheral值。然后您可以使用此对象直接连接

Here is the documentation

retrievePeripherals(withIdentifiers :)

按标识符返回已知外围设备的列表。

BLE外围设备断开

...问题描述】:我正在使用ble外围标签。扫描后,我找到了标识符和名称。当我点击任何单元格时,所需的外围设备已连接,外围设备标签中的按钮将检测到并在按钮点击时调用didUpdateValueForCharacteristic方法。但是当我们移动到另... 查看详情

如何在 Android 中获取当前连接的 BLE 外围设备

】如何在Android中获取当前连接的BLE外围设备【英文标题】:HowtogetcurrentlyconnectedBLEperipheralsinAndroid【发布时间】:2018-11-0902:39:38【问题描述】:有时用户可以在设置下直接连接ble外围设备。但是当应用程序启动并开始扫描设备时... 查看详情

如何获取配对的 BLE 设备数量?

...正在管理连接,您可以通过跟踪用户在您的应用中注册的标识符来限制它,并且在达到限制后不连接到其他外围设备。@Pau 查看详情

使用基于广告服务 UUID 的扫描过滤器扫描 BLE 外围设备

...换句话说,我的BLE外围设备在广告服务数据中广告与唯一标识符关联的服务UUID,但它不会将该服务UUID添加到广告服 查看详情

如何查看外围设备的 BLE 服务?

】如何查看外围设备的BLE服务?【英文标题】:HowcanIseetheBLEservicesofaperipheraldevice?【发布时间】:2014-08-2913:31:41【问题描述】:我想制作一个应用程序,它可以让我从外围设备下载一些数据。我可以连接外围设备,但我无法下载... 查看详情

调用 discoverServices 后,iOS BLE 外围设备会立即断开连接

...程序时,我在调用discoverServices后立即断开连接。我正在使用4个完全相同的BLE设备(OEM)进行测 查看详情

如何使用 Core Bluetooth 在 iOS 中设置 BLE 外围设备的名称

】如何使用CoreBluetooth在iOS中设置BLE外围设备的名称【英文标题】:HowtosetthenameofBLEperipheraliniOSusingCoreBluetooth【发布时间】:2017-09-1423:41:32【问题描述】:我想写外围设备的名字。据我从核心蓝牙文档中了解到,外围设备的“名称... 查看详情

XCode:如何通过 UUID 连接到 BLE 外围设备?

】XCode:如何通过UUID连接到BLE外围设备?【英文标题】:XCode:HowdoyouconnecttoBLEperipheralviaUUID?【发布时间】:2015-05-1306:17:59【问题描述】:在我的应用程序中,我试图通过连接到蓝牙低功耗外围设备。它的UUID,但我没有得到任何结... 查看详情

使用 Ionic Native BLE 向 BLE 外围设备发出写入值

】使用IonicNativeBLE向BLE外围设备发出写入值【英文标题】:IssuewritingvaluetoBLEperipheralwithIonicNativeBLE【发布时间】:2018-11-1821:26:03【问题描述】:我目前正在使用Ionic编写一个小应用程序,以使用我的应用程序控制FLUX蓝牙灯泡。我... 查看详情

安卓ble知识及easyble的使用

参考技术ABLE(Bluetoothlowenergy)蓝牙低功耗是蓝牙4.0新增的子规范,其具有低能耗、低成本、低延迟、传输距离长等特点,自安卓4.3(apilevel18)起,安卓开始支持BLE。BLE与经典蓝牙对比如下图():在讲链接参数之前,需要先了... 查看详情

如何创建 Android BLE 外围设备?

】如何创建AndroidBLE外围设备?【英文标题】:HowcanIcreateanAndroidBLEperipheral?【发布时间】:2015-03-2414:53:16【问题描述】:我尝试制作两个蓝牙BLE应用:一个核心角色一个外围但我发现了一些问题,我的应用程序崩溃了。这是我遵... 查看详情

Android 8.1 连接到调用 connectGatt 的 BLE 外围设备。回调总是说断开连接。从不连接

】Android8.1连接到调用connectGatt的BLE外围设备。回调总是说断开连接。从不连接【英文标题】:Android8.1connectingtoaBLEperipheralcallingconnectGatt.Callbackalwayssaysdisconnected.Neverconnects【发布时间】:2018-04-2717:06:31【问题描述】:我是Android编... 查看详情

Android BLE 外围设备与状态码 BLE_HCI_INSTANT_PASSED(0x28) 断开连接

】AndroidBLE外围设备与状态码BLE_HCI_INSTANT_PASSED(0x28)断开连接【英文标题】:AndroidBLEperipheraldisconnectswithstatuscodeBLE_HCI_INSTANT_PASSED(0x28)【发布时间】:2018-01-2516:27:19【问题描述】:我的应用程序能够成功连接到BLE外围设备(OBDII/J1939... 查看详情

从 Bluez 5.48 开始,iPhone 在连接 BLE GAP 外围设备时需要配对,为啥?

...?【发布时间】:2020-03-3112:41:20【问题描述】:我有一个使用Bluez5.X和DBus在嵌入式 查看详情

ios蓝牙ble开发

...services),一个服务包含一个或多个特征(characteristics)。使用CoreBluetooth库,创建CBPeripheralManager,实现CBPeripheralManagerDelegate代理创建完该对象,会回调peripheralManagerDidUpdateState:方法判断蓝牙状态,蓝牙可用,给外设配置服务和特... 查看详情

使用一个 CBManager 连接和写入多个外围设备

】使用一个CBManager连接和写入多个外围设备【英文标题】:ConnectingandwritingtomultipleperipheralswithoneCBManager【发布时间】:2019-09-2004:48:53【问题描述】:我正在尝试制作一个iOS应用程序,该应用程序使用CoreBluetooth库来启动/停止并传... 查看详情

iOS 未检测到新的外围设备名称

...heralname【发布时间】:2014-03-1916:49:31【问题描述】:我们使用CC2540BLE芯片作为外围设备,iOS7.0.4iPhone正在发挥核心作用。我们更改了外围设备名称,但仅当我们从iOS设备断开连接并重新连接时才会显示此更改。使用此代码在响应... 查看详情

是否有可能(并且有意义)让蓝牙 iOT 设备在外围模式下同时监听 BLE 和蓝牙经典连接

...意义)让蓝牙iOT设备在外围模式下同时监听BLE和蓝牙经典连接【英文标题】:Isitpossible(anddoesitmakesense)tohaveabluetoothiOTdeviceinperipheralmodelisteningtoboth,BLEandBluetoothClassicconnections【发布时间】:2015-03-2022:18:57【问题描述】:我们目前正... 查看详情