问题标签 [cbperipheral]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 一部 iPhone 是外围和中心的,可以一个接一个地连接到几个外围 iPhone 吗?
我的应用程序需要检测其他 iPhone 并一次快速连接到所有 iPhone(这些 iPhone 也具有相同的功能)。所以我实现了外围和中心。我只在以下情况下尝试连接到另一部手机:
(为了避免两台设备同时互相连接,我宣传了设备的名称)
它工作正常,但几分钟后我收到此错误:
我的连接算法有问题吗?或者作为外围设备并同时作为中心连接是不可行的?
ios6 - iOS 6 外围设备连接后立即断开连接
好的,我正在使用 Core Bluetooth 将我的 i-Pad 连接到另一个 BLE 传感器。我很容易扫描并检测到它,但是当我想建立连接时,“确实连接外围设备”方法仅在 30 秒内被调用,就好像我已经调用了断开连接一样......即使我选择或取消选择,这个结果也保持不变必需后台模式下的“应用程序使用 CoreBluetooth 进行通信”。
这是我的控制台。我没有任何警告,任何错误或释放只是:
请问如何避免我的外围设备在连接后立即断开连接?它让我疯狂!
ios - 如何存储 CBPeripheral 以在其他视图中使用
我在我的视图控制器 SViewController 中设置了一些 BLE 连接,并且我需要存储外围设备以在其他视图控制器中使用。我尝试创建一个 NSUserDefault 对象并将外围设备存储在其中,但我得到了错误"Attempt to insert non-property value"
,并且它从未插入。然后我尝试将它包装在一个 NSData 对象中并将其存储在 NSUserDefaults 中,但得到了错误"-[CBConcretePeripheral encodeWithCoder:]: unrecognized selector sent"
并且应用程序崩溃了。所以那肯定是行不通的。我也尝试过将三个 CBPeripheral 变量设为全局变量,但我遇到了很多问题。(我对编程还是很陌生)。然后我研究了以某种方式缓存它们,但在这里阅读它不会工作并且不会浪费时间。
有谁知道如何存储一个 CBPeripheral 对象,以便我可以访问它并在其他视图控制器中初始化它?
ios - Corebluetooth:将连接的外围设备从视图传递到另一个
我正在以前使用 MFi 设备的项目中使用 BLE。目标是实现一种串行连接。
使用 EAaccessory,我有一个弹出框,要求连接设备并且工作正常。
使用 CB,我添加了一个视图,我调用它来扫描并选择要连接的设备。我可以很好地连接设备,但是当我返回主视图时,我失去了与外围设备的连接。
所以,由于我不是天才,也不是优秀的 iOs 程序员……有人能指出我正确的方向,将连接的外围设备从一个视图保留到主视图吗?
我试图了解我项目中 BT 设备制造商 ConnectBlue 的示例,但他们使用 Storyboard,而我没有。使用他们的演示,我可以在主视图上连接到外围设备并在另一个视图上与它聊天。
我试图谷歌,但没有发现任何相关的。
编辑:连接代码部分
编辑:这个视图是从视图控制器调用的。视图控制器从蓝牙接收数据,记录并显示数据。我想要实现的是有一个单独的视图来连接到 BLE 外围设备,回到主视图,连接串口并运行。第二次,如果外围设备丢失,请尝试重新连接,否则弹出连接视图并提醒用户。
干杯。
塞德里克
ios - 直接写入已经连接的 CBPeripheral 而不重新发现它
在我的应用程序中,我需要将数据写入外围设备的可写特征中。我可以通过扫描外围设备、检测和连接外围设备、发现服务、发现特征然后最终写入目标特征的过程来做到这一点。
完成这一切后,我保留了我感兴趣的 CBPheripheral 和 CBCharacteristic 的引用。现在,我下次尝试直接写入保存的外设和特性。但我低于蓝牙警告。如果我们还没有与它断开连接,我们不能直接写入外围特征吗?
BTBeaconTest[1421:60b] CoreBluetooth[WARNING] 不是有效的外围设备
PS:我没有断开与外围设备的连接。
ios - CBPeripheral writeValue 中的崩溃:forDescriptor:
在与 TI BLE Keyfob 建立连接并检索特征的描述符后,我尝试调用
各种对象在调试器中看起来很合理。nsData 有一个单字节 1,peripheral 是从 iOS 返回的看起来有效的 CBPeripheral 对象,descriptor 是从 iOS 返回的看起来有效的 CBDescriptor。
我的应用程序因错误而崩溃
*断言失败 -[CBConcretePeripheral writeValue:forDescriptor:], /SourceCache/CoreBluetooth/CoreBluetooth-59.3/CBConcretePeripheral.m:358
关于为什么会发生这种情况或如何调试它的任何想法?
objective-c - 通过 Objective C 自动连接到之前的蓝牙设备
我的程序允许用户连接到蓝牙设备,它会保存 UUID。下次启动应用程序时,它会自动连接到之前连接的设备。
我将 UUID 保存在[NSUserDefaults standardUserDefaults]
NSArray 中。
retrievePeripherals
通过使用for 的方法CBCentralManager
并传入我存储的 UUID 数组,我能够检索并连接到第一个设备。
我的问题是,我不知道如何处理错误。我希望程序知道它是否无法连接到第一个 UUID 并进入下一个。委托方法didRetrievePeripherals
似乎检索具有特定 UUID 的设备,即使我关闭了设备。
其他人有同样的问题吗?
ios - Peripheral name doesn't comply to NameKey
I have an app that simulates heart rate monitor peripheral (The peripheral app). I also have an app that receives the data and present it (The central app).
The central app decided to connect to the discovered peripheral based on its name.
The problem is that both app work perfectly good, except that the name is always "iPhone"
.
The advertising is done this way:
But on the central side, inside
- (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)aPeripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
The name property never changed.
Is there anything that should be done?
ios - CoreBluetooth:如何为许多特性(30 - 40)设计代码?
我搜索了一下,发现这是一个可能的重复问题:
我的问题是:
我有多项服务,它们总共有大约30-40 个特征(是的,我需要所有这些特征......)。作为处理 CoreBluetooth 的起点,我总是使用 Apple 示例代码(CoreBluetooth 温度传感器)。
Discovery 和 Service/Characteristic 处理分为两类,这仅适用于一些特征。但是在一个类中处理这么多的特性并不是我在“好的软件设计”下所理解的。
浮现在脑海中的第一个想法是为每项服务创建一个类。但不幸的是,一个CBPeripheral只能同时拥有一个CBPeripheralDelegate。这意味着我不能把它分成几个类。
(如果 BLE 是获取这么多数据的正确技术,我们不必开始讨论 - 它不是。但是有些制造商使用 BLE,因此他们不必为 MFi 程序而烦恼...... )
我还阅读了最终提供的CoreBluetooth 编程指南,但它只描述了基本的工作流程——没有关于正确设计的内容。
我正在寻找一种不错的设计方法。您可能对示例代码有任何建议、提示或链接?提前谢谢了!
ios - 应用程序未运行时的 BLE 通知
是否有可能在您的应用程序中接收特定 UUID 的 BLE 通知,或者当应用程序未运行时任何 UUID 进入范围时?例如,推送通知的工作方式相同吗?
我试着用谷歌搜索,但到目前为止还没有我能得到的有用信息。任何指针?