问题标签 [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.

0 投票
0 回答
50 浏览

ios8 - btle 中央和外围没有工作 ios8

我在这里使用了 Jorge Costa 和 Orlando Pereira 教程 http://code.tutsplus.com/tutorials/ios-7-sdk-core-bluetooth-practical-lesson--mobile-20741

创建一个小练习应用程序来理解蓝牙乐。该应用程序在 Xcode 5 和 ios7 下运行良好,但现在在 ios8 和 Xcode 6 下就不行了。有没有其他人遇到过这个问题,有没有人知道如何解决它的问题。

0 投票
1 回答
2682 浏览

ios - iOS Core 蓝牙密码

我有一个需要 PIN 码的 BLE 外围设备。我在 iOS 7 上使用 Core Bluetooth CBCentralManager 连接到这个外围设备。

当我连接到此外围设备时,会在PIN 码身份验证成功完成之前调用“didConnectPeripheral”(中央代表) 。

iOS 仅在调用 'didConnectPeripheral'后显示 pin 码对话框。

一旦这个 PIN 码对话框完成并且身份验证过程完成,我需要开始与外围设备交互。我如何确定何时发生这种情况?

挑战是仅在身份验证成功继续进行,但是:

  1. iOS在对话框显示之前调用“didFailToConnectPeripheral” 。
  2. 如果 PIN 码授权成功,iOS 不会再次调用“didConnectPeripheral”。
  3. 如果 PIN 码授权失败,iOS 不会再次调用“didFailToConnectPeripheral”。

从上面,我一直无法确定:

  1. 当对话完成时。
  2. PIN码授权是否成功。

任何帮助,将不胜感激。

0 投票
0 回答
407 浏览

ios - 扫描时滥用核心蓝牙 API

我目前在扫描时遇到 API 误用错误 - 我确切知道为什么会发生这种情况,因为我需要等待验证中央管理器的状态是否已打开。

我的问题来自于我的应用程序何时被系统终止以释放内存。我通过在我的应用程序上运行 SIGKILL 命令来模仿这一点,但是当我尝试排队等待未来的扫描时,我收到了 API 滥用错误。

我应该做什么?我也不想设置挂起的连接命令,因为这会很快耗尽我的外围设备的电池。如果用户同意(我已使用通知设置),我希望它扫描然后连接。

谢谢。

0 投票
1 回答
6679 浏览

ios - CBPeripheral, Get Local Peripheral Identifier

I faced a problem about CoreBluetooth Framework.

As Example, I have two devices and each device performs both advertising and scanning. So, I use CBCentralManager and CBPeripheralManager on each.

So, to simplify problem, let's assume that Device1 is broadcasting and Device2 scanning.

When CBCentralManager on Device2 discover the Device1, callback centralManager:didDiscoverPeripheral:advertisementData:RSSI: is called and I can get Device1 identifier by calling [peripheral.identifier UUIDString].

How then I can get my local device (Device2) Identifier? I mean in case that both devices are advertising, Device1 will discover Device2 too and get it's peripheral identifier, but How can I get exact this identifier (some kind of self-address) on Device2?

P.S. I know that this Identifier is not unique for each device and can change over the time, it's not a problem.

0 投票
1 回答
1251 浏览

ios - iOS 核心蓝牙:未在外围设备上发现广告服务

在连接到正在宣传我感兴趣的特定服务的 BLE 设备后,为了发现该服务,我正在调用:

- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error调用委托方法没有错误,但为外围设备返回的服务数量为 0,因此没有进一步发现特征。有谁知道为什么会这样?提前致谢!

下面是委托方法的全部内容。

控制台显示:

0 投票
1 回答
5007 浏览

ios - 外围设备的中心写入特性(iOS 核心蓝牙)

好的,所以我已经浏览了一千个教程和其他 Stack Overflow 线程(所以请不要在没有回答问题的情况下将其列为重复),我无法弄清楚如何使用此功能。

我遵循了本教程: http ://code.tutsplus.com/tutorials/ios-7-sdk-core-bluetooth-practical-lesson--mobile-20741

我有一个系统,中央可以连接到外围设备并从中读取特征。

我现在正试图让我的中心重写特征内的数据,但我发现我调用的写入行被忽略了。

我已经在我的外围类中声明了我的特征:

在我的 centralManager 中,我调用了

但是这条线被忽略了。谁能告诉我可能出了什么问题?我需要向我的外围类添加一个方法吗?

此外,我已经尝试过使用 WithResponse 进行操作,但它甚至都没有从外围设备调用该方法。

0 投票
0 回答
85 浏览

windows - Windows 8.0 未发现 CBPeripheral

我有一个来自https://github.com/KhaosT/CBPeripheralManager-Demo/tree/master/PeripheralModeTest的示例 iPhone 应用程序。我正在宣传我的外围服务,如下所示。

我从https://code.msdn.microsoft.com/windowsapps/Bluetooth-Generic-5a99ef95获取了 Windows 应用程序代码示例。我用服务 UUID 替换了心率 UUID。但是在运行它时,它找不到提到的服务。

我尝试将设备与 Windows 配对。但仍然没有运气。太令人沮丧了,对发现设备没有适当的支持。

0 投票
1 回答
3176 浏览

ios - 如何在 iOS 上使用 BLE(蓝牙低功耗)从身体秤获取数据作为 CBPeripheral

我刚开始使用蓝牙,想通过蓝牙从身体秤(型号:adeVital Analysis BA 1401)读取身体成分测量值。

将我的 iPhone 设置为 Central 并将其连接到秤(即 CBPeripheral)时,我可以读取秤设备信息,例如硬件修订号、制造商等。但我无法获得实际的测量数据。

我遍历了所有服务和特征并设置了通知标志。

对于每个特征。和委托方法

被调用而没有错误。当我检查更新的外围设备时,我发现:

这一切都发生在秤打开时(尚未测量任何东西)。现在,当我踏上秤并完成测量时,它会显示一个蓝牙图标,指示数据传输,但 iOS 应用程序没有收到任何通知。我错过了什么?

总结如下:外围设备连接到中央设备并在测量之前更新一个特征,但在那之后,没有更多的通知出现。

更新后的 CBCharacteristic 中的值是否可以是我必须以某种方式订阅才能获取实际数据的服务的 UUID?

希望有人可以在这里帮助我

编辑:

可能相关,以下是我收到的服务和特征:

编辑2:

CBCharacteristics 具有以下属性:

所有其他属性都是 BOOL NO

当我打开 8A21、8A22 和 8A82 的通知时,我会在开始时收到来自 8A82 的 NSData,此时比例已打开(因此此时不能进行测量)。我假设,实际测量数据正在由 8A21 特性更新。但是它不会通知我的代表,我不知道为什么。

查看syslog可以看到厂商官方app溢出日志如下:

0 投票
1 回答
1527 浏览

ios - readRSSI 没有调用 didReadRSSI

我无法didReadRSSI回电我的外围设备!

我正在iPad mini 上开发 - iOS 8.1.2

我将外围设备设置为一个NSMutable数组,我可以从该数组调用连接、断开连接等,因此附加到该数组的外围对象是有效的。

我的代码如下,有什么问题?为什么didReadRSSI我的外围设备没有收到回调??

0 投票
1 回答
4449 浏览

ios - CoreBluetooth 配对反馈/回调

感觉好像我在这里遗漏了一些东西,但是我如何才能获得有关配对受密码保护的外围设备是失败还是成功的反馈?

当我连接受密码保护的外围设备时,会弹出密码 UIAlertView 并且外围设备连接(调用didConnectPeripheral)并立即断开连接(didDisconnectPeripheral)。

现在,无论我输入正确的密码、错误的密码还是简单地按取消:在所有情况下,我都没有收到来自 CoreBluetooth 委托方法的任何反馈。

问题是我如何才能获得有关此过程的反馈?