草庐IT

ios - 我应该如何将多个 BLE 外围设备连接到 iOS 设备?

目前我的团队正在打电话[myCentralManagerscanForPeripheralsWithServices:niloptions:nil];然后启动一个在两秒内触发的NSTimer。在这两秒中,CentralManager委托(delegate)方法centralManager:didDiscoverPeripheral:advertisementData:RSSI:用于创建我们感兴趣的CBPeripherals数组。当计时器触发时,我们在for循环中对数组中的每个项目调用connectPeripheral。我担心这不是同时连接多个设备的最佳方式。在另一台设备上调用conne

ios - 没有1309是否可以在中央模式和外围模式下运行?

精简版有人知道CBiOS应用程序在中央模式和外围模式下运行,并且作为中央角色连接到外围设备吗?某个地方的存储库中的实际应用程序或草图会很棒。更长在SO之前已经提出了在两种模式下操作(here),并且提到了didFailToConnectPeripheral中的UnknownError:1309(here)。在两种模式下运行的大量实验,以及与Apple员工关于TSI打开的谈话让我确信,在同时使用中央模式和外围模式的应用程序中连接到外围设备将导致1309,它具有在与该外围设备的后续连接中再次发生的可能性非常高(直到设备重新启动)。Apple表示这是由于使用这两种模式时造成的死锁,尽管我一直

ios - 外围 BLE 设备的唯一标识符

所以我有外围BLE设备,我需要一些标识符以便稍后与另一部iPhone共享。示例我将iPhone'A'连接到外围设备。iPhone'A'将外围设备的标识符保存到数据库中,稍后我可以轻松地使用iPhone'B'并连接到通过该标识符找到的外围设备。现在有UUID每个iPhone-peripheral连接都会改变,但是MAC地址不可用。你有什么建议? 最佳答案 如果您不自己制造外围设备,那么您将无法在不同的iOS设备上唯一标识外围设备。这正是Apple希望的样子,因为这意味着开发人员无法根据设备地址跟踪用户的位置或移动模式。这将是一个隐私问

ios - 扫描特定 CBUUID 时,Core Bluetooth 未找到外围设备

看来这个问题已经“回答”了here,但没有任何代码来显示他们做了什么不同我不得不问一个新问题。我自己的代码具有相同的行为,其中在OSX上使用CoreBluetooth的CBCentralManager扫描特定CBUUID不会发现充当CBPeripheralManager外围设备的iOS设备(除非它及其服务之前已被发现)。为了查看我的代码是否有问题,我下载了Apple'ssamplecode.在两台iOS设备上运行示例代码可以正常工作,但是当将CBCentralManager代码复制到OSX应用程序时,它无法找到iOS设备。我已经为OSX应用程序上传了一个Xcode项目,它是hosted

ios - CoreBluetooth 中央和外围接近

iPhone是否可以同时充当中央设备和外围设备,同时向用户附近的其他iPhone设备广播和接收信号。我想要类似于iBeacons的东西,但它们有一些局限性,例如不能在后台广播,并且理论上有可以测距的设备的最大限制。你可以说我正在寻找一个用核心蓝牙编写的接近框架/类。只是在寻找一些建议和代码示例,网上的一切似乎都已过时。 最佳答案 我不完全确定您想要完成什么,但是可以,您可以将您的设备设置为中央设备和外围设备。你只需要有一个CBCentralManager的实例作为中心,CBPeripheralManager作为外围。

ios - 如何在后台定期将数据发送到 IOS (swift) 应用程序上的 BLE 外围设备?

我是iOS编程的新手,我正在使用Swift3中的CoreBluetooth连接和交换数据到特定的(定制的)ble外围设备。如果用户在应用程序中选择特定模式,我需要定期(每分钟)或在特定时间向设备发送数据(写入特性),即使用户打开另一个应用程序或关闭屏幕也是如此.如果应用程序处于事件状态,我可以使用scheduledTimer实现此目的,但一旦应用程序变为非事件状态,它就会停止。如果应用程序进入前台,有什么方法可以继续向外设发送数据?这可能吗?编辑这是我的背景模式(如DeepakTagadiya所述):BackgroundModes下面是来self的Controller的一些代码:cla

ios - 蓝牙 LE,后台扫描外围设备服务,提高速度

我在iPhone5S上使用蓝牙LE,我做了以下操作:我有一个蓝牙外围设备,我已将其配置为每20毫秒在所有三个蓝牙广播channel(37、38和39)上广播一次。我在Info.plist中使用UIBacgroundModes=bluetooth-central配置了我的应用我已经启动了如下所示的scanForPeripheralsWithServices代码:NSDictionary*options=@{CBCentralManagerOptionRestoreIdentifierKey:@"myCentralManagerIdentifier",CBCentralManagerSca

ios - 当外围设备消失时如何使用 CoreBluetooth 进行检测?

我想要一个我的iOS可以连接的ble设备列表,当ble设备出现和消失时刷新。为了做到这一点,我创建了一个NSMutableDictionnary*peripheralsAvailable,并且每次-(void)centralManager:(CBCentralManager*)centraldidDiscoverPeripheral:(CBPeripheral*)peripheraladvertisementData:(NSDictionary*)advertisementDataRSSI:(NSNumber*)RSSI;由CBCentralManager调用,我将外围设备添加到per

ios - iOS 可以同时在同一个应用程序上进行中央和外围工作吗?

iOS(iPhone或iPad)应用程序能否同时具有核心蓝牙(BTLE)中央管理器和外围管理器对象?它们可以异步运行吗,或者主应用线程是否需要让它们共享(来回切换)。共享概念算法将是:禁用外设管理器,启用中央管理器并执行中央功能,接着,禁用中央管理器,启用外围管理器,并执行外围功能(即发送自动通知,并等待和响应远程特征命令),重复...背景血淋淋的细节:我们有一个包含多个iOS设备和多个非iOS设备的本地系统,需要通过BTLE进行相互通信。非iOS设备均使用BroadcomBCM20732蓝牙LE芯片。但是硬件还没有准备好,所以我正在使用iOS设备来模拟非iOS,这需要同时的中央和外围

linux - 将 BlueZ 堆栈用作外围设备时的有效载荷错误

我尝试按照davidgyoung在thisquestion中提供的步骤进行操作.以下是我使用的命令:hciconfighci0uphciconfighci0noleadvhcitool-ihci0cmd0x080x000848454c4c4f574f524c44hciconfighci0leadv这给了我这个输出:LEsetadvertiseenableonhci0returnedstatus12HCIEvent:0x0eplen401082012请注意,我不能使用建议的命令hciconfighci0leadv0,因为它会抛出错误Warning:unknowncommand-"0"。但