问题标签 [bluetooth-peripheral]

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 回答
275 浏览

ios - PunchThrough LightBlue 如何让虚拟设备发送通知?

我正在开发一个 BLE 中心的 Android 应用程序。我还没有访问外围设备的权限。这将是 LightBlue 等虚拟设备模拟器的典型场景。我可以扫描和连接client-peri,我可以通过编写CCCD来启用通知。如果我使用 LightBlue 的时间配置文件,我可以每秒收到一次当前时间特征通知。我需要做的是添加一个自定义特征并使其以指定的间隔发送通知,或者最好在按下按钮时发送通知。我怎么做?我也很乐意使用其他可以帮助我的方法或应用程序。我无法编写自己的外围应用程序,因为我只有一部 iPhone,而且目前无法访问 iOS 开发环境。希望有见解!谢谢!

0 投票
1 回答
464 浏览

ios - 获取 CBATTErrorDomain Code=6 The request is not supported error while writing value to peripheral

我创建了自定义外围设备以将数据写入外围设备并尝试从我的中心写入数据。执行写入值函数时,我收到不支持请求的错误。这是我的代码。希望你能理解我的问题。正在寻找解决方案。提前致谢。

在 Peripheral 中设置我的自定义 BLEPeripheral 和 startAdvertising

// MARK: CBPeripheralManagerDelegate

将数据写入 Central 中的外围设备

0 投票
0 回答
784 浏览

bluetooth-lowenergy - 使用 bluez 和广告操作 hci0 的最佳实践

关于这个美妙的二人组btmgmt/bluetoothctl在带有 bluez 5.55 的外围设备上的几个问题。

即使出现错误, btmgmt的返回码几乎总是 0 是否正常?我检查了代码,这似乎是预期的行为。但我不明白为什么...

事实上,当我检查btmgmt代码时。即使状态不等于 0。我们使用 done 标签返回EXIT_SUCCESS代码...如何正确检查命令的结果?

我对btmgmt有很多问题......当我运行命令时,我有很多随机失败的结果。我检查结果的唯一方法是使用 btmgmt info | grep 当前 | grep XXX 检查 hci0 上的当前设置。改用bluetoothctl会更好吗?我还可以在 mgmt-tester.c 中看到一些代码。我必须改用这个c api吗?我目前启用/禁用蓝牙的方法:

我尝试用bluetoothctl实现相同的功能。问题是我找不到启用与bluetoothctl绑定的方法。也无法使用 bluetoothctl 启用双模式 le/btc。

我的最后一点是关于广告的。我想在制造商数据字段中发送自定义广告数据。我在外围设备上尝试这样的事情:

在另一台设备上,我使用btmonbluetoothctl scan嗅探蓝牙数据包,但我看不到任何制造商数据与我的数据匹配。

0 投票
1 回答
283 浏览

javascript - 无法使用 Noble 获取通知数据

无法接收从服务器外围设备发送的任何通知。

我使用 ESP32 作为服务器,您可以在 Arduino 应用程序中找到“BLE_notify”代码(文件> 示例 ESP32 BLE Arduino > BLE_notify)。使用此代码,一旦客户端连接,ESP32 就会每秒开始通知新消息。使用的客户端是安装了 Noble 节点库的 Raspberry Pi ( https://github.com/abandonware/noble )。这是我正在使用的代码。

SERVICE_UUID 和 CHARACTERISTIC_UUID 显然是 ESP32 中编码的 UUID。

这种代码工作,它可以找到服务和特性,它可以成功连接到外围设备,但它不能接收消息通知。我还尝试了一个作为客户端工作的 Android 应用程序,一旦连接到它,我就可以从该应用程序获取外围设备通知的所有消息。所以 noBLE 客户端缺少一些东西。

我认为on.read/on.data/notify(true)回调方法有问题。也许这些不是从服务器接收通知的方法?我也尝试了这些subscribe方法,但仍然无法正常工作。

官方文档不清楚。任何人都可以启动并运行它吗?请帮忙。

0 投票
1 回答
629 浏览

swift - CoreBluetooth 只能在连接状态下接受命令

[CoreBluetooth] API MISUSE: <CBPeripheral: 0x281310820, identifier = 75450BB1-97A7-5648-38FD-B27572F19EDD, name = ESP32 test, state = disconnected> can only accept commands while in the connected state

这是 CoreBluetooth 在我尝试时给我的错误

peripheral.discoverServices([CBUUID(string: "4fafc201-1fb5-459e-8fcc-c5c9c331914b")])

有没有人知道发生了什么?

这是 didDiscover 代表:

编辑: 我现在尝试先连接到外围设备,但还有另一个错误:

[CoreBluetooth] API MISUSE: Cancelling connection for unused peripheral <CBPeripheral: 0x2829e01e0, identifier = 75450BB1-97A7-5648-38FD-B27572F19EDD, name = ESP32 test, state = connecting>, Did you forget to keep a reference to it?

这是实际的代码:

这是什么意思?

0 投票
0 回答
209 浏览

android - 具有 PIN 身份验证的 Android BLE 外设(GATT 服务器)

我想开发一个用作虚拟心率监视器的 Android BLE 外设(GATT 服务器)。我的主要要求是,任何与此 Android BLE 外围设备连接的 Android/iOS Central 应用程序都应执行基于 PIN 的安全绑定(Android 外围应用程序应生成 PIN 并且 Android/iOS Central 应用程序必须输入该 PIN 才能连接)。我如何在 Android 外围设备端实现这一点?

0 投票
1 回答
94 浏览

ios - 我可以在 iOS 上模拟 BLE 设备并设置其名称吗?(反应原生)

有没有办法在 iOS 上模拟 BLE 设备并设置其名称?

  1. 在iOS上可以实现吗?
  2. 是否有任何 React Native 库可以做到这一点?(我找到了 react-native-ble-peripheral 库,但它的自述文件说,它只适用于 Android)
0 投票
0 回答
100 浏览

ios - 未显示特性 - iOS 是否有 BLE 外围特性规范

我有一个带有服务和一个特征的自定义蓝牙外围设备,它需要一个值。在 Android 上运行良好,但在 iPhone 上只能连接,但在我使用的任何蓝牙工具应用程序(nRF、LightBlue ......)中都没有显示该特性

我们使用自定义 UUID,这对 Apple 来说是个问题吗?

编辑:这是代码

0 投票
1 回答
87 浏览

ios - 是否有任何限制,服务的 BLE 外围设备及其在 iOS swift 中的特性?

实际上,在设备固件中添加了一项服务后,我遇到了一些问题。对于 BLE 硬件设备在 iOS 中是否有任何限制以具有最大的服务及其对 iOS 设备读写操作的特性?

0 投票
1 回答
48 浏览

ios - 对于 BLE 服务是否有任何限制,我已经在 iOS swift 的 BLE 设备中添加了新服务,但没有进入 IOS

我在 BLE 设备中添加了一项新服务,它正在 android 设备上,但不在 iOS 设备上。我不知道为什么会这样。如果有人知道,请帮忙。