问题标签 [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 投票
1 回答
537 浏览

ios - 是否可以使用 Poledia/react-native-ble-plx 将 iOS 设备变成 iBeacon?

我正在为 iOS 和 Android 开发一个 React Native 应用程序,它将使用 BLE 发出一个 UUID 供外部设备查找。另一个设备充当中心。

那么是否可以使用Poledia/react-native-ble-plx将设备设置为外围模式,并使其成为信标?

0 投票
0 回答
1036 浏览

android - 为蓝牙 LE 广告设置本地名称

我正在开发 Android 蓝牙 LE 外围设备(广告)。我可以使用以下代码段更改广告名称:

但是,这也改变了设计的蓝牙名称,我不会。我知道在 iOS 中可以为广告设置本地名称,而不会影响设备的蓝牙名称。

如何在Android中实现这一点?

0 投票
0 回答
390 浏览

android - Android BLE 通知设备唤醒

我正在使用 rxAndroidBLE 为触发设备警报的 BLE 外围设备开发配套应用程序。

我遇到的问题是警报通知没有正确触发设备上的警报。我猜这是通知没有正确唤醒设备的问题。

有人遇到过这种情况么?

0 投票
0 回答
267 浏览

ios - 当 iOS 设备处于后台时,扫描 iPhone 并将其连接到 BLE 传感器

我想每小时将 BLE 传感器连接到我的 iOS 设备,以便将数据从传感器传输到 iOS 设备。如果应用程序在前台,从发现到连接到读取/写入数据,一切都很好。读/写我的 BLE 传感器后,我断开 iOS 设备与传感器的连接,传感器进入睡眠状态。

现在,当下一个同步周期到来(即下一小时)并且应用程序在后台时,我需要再次扫描外围设备并从中读取数据。当应用程序在后台时,是否可以发出命令扫描外围设备?

  1. 我已将后台模式启用为bluetooth-central.
  2. 我已经实现了 CBCentralManager 的所有代表,但是当应用程序处于后台并且外围设备正在广告数据时没有得到任何回调。( -didDiscoverPeripheral, 或-didConnectPeripheral)

所以我的问题是:

  1. 当我的应用程序在后台时,我应该在哪里scanForPeripheralsWithServices通过提供相应的服务 UUID 来传递命令 ()?
  2. 有没有一种方法可以让我在后台连续扫描 BLE 设备,或者像每小时一样按某个时间表扫描?
0 投票
0 回答
199 浏览

bluetooth-lowenergy - 我们可以使用 WireShark 的 BT 数据包日志偷偷 BLE-Mesh-Device 并通过 nRFconnect App 编写嗅探命令吗?

https://medium.com/@urish/reverse-engineering-a-bluetooth-lightbulb-56580fcb7546

使用上面的链接,我确实尝试破解和控制在 BLE-Mesh-Network 中工作的 BLE 设备,但它失败了。通过寻求帮助来了解这个想法的可能性,因为这是否至少会在现实世界的场景中锻炼。

0 投票
2 回答
636 浏览

android - Android 应用程序是否需要同时执行 Central 和 Peripheral 角色才能通过 BLE 发送和接收数据?

目前,我正在开发一个应用程序,它与一个接收命令并响应命令响应的 BLE 硬件通信。为了模拟硬件,我们开发了一个 iOS 模拟器应用程序,它在外围设备中工作并响应请求的命令。但是不知何故,当我尝试写入写入特性时,我得到了status = BluetoothGatt .GATT_REQUEST_NOT_SUPPORTED回调onCharacteristicWrite。但不知何故,我开始知道我们需要在 Android 应用程序中实现 Central 和 Peripheral 角色。

但我仍然不确定,我们是否需要实现 Peripheral 角色以及在多个数据包中发送和接收数据。

我正在使用以下不错的博客文章开发应用程序:
- https://medium.com/@avigezerit/bluetooth-low-energy-on-android-22bc7310387a - https://android.jlelse.eu/android-bluetooth-low -energy-communication-simplified-d4fc67d3d26e - https://www.bignerdranch.com/blog/bluetooth-low-energy-on-android-part-2/

并使用以下回购作为学习观点:
- https://github.com/bignerdranch/android-bluetooth-testbed/tree/a/android-ble-part-3

提前致谢!

0 投票
1 回答
1283 浏览

ios - BLE:从后台 iOS 广告本地名称和服务 UUID

根据 iOS 文档,当使用 BLE 作为外围设备的 iOS 应用程序进入后台模式时,外围设备名称不会被公布,并且所有服务 UUID 都放置在一个特殊的“溢出”区域,它们只能被 iOS 设备发现,该设备是明确地扫描它们。

当应用程序在后台时,我嗅探了无线发送的 BLE 数据包。没有本地名称和服务 UUID 数据。有一个对服务 UUID 进行编码的“溢出”区域。可以在这里找到一个简短的讨论:https ://github.com/crownstone/bluenet-ios-basic-localization/blob/master/BROADCASTING_AS_BEACON.md

我想知道是否有任何方法可以从“溢出”区域的数据中确定广告的实际服务 UUID。iOS 文档指出,当一个应用程序在后台宣传为 BLE 外围设备时,另一个 iOS 应用程序可以通过明确指定要扫描的服务 UUID 来找到它。因此,必须有一种方法可以从溢出数据中找出实际的 UUID。

对此的任何指示都会有所帮助。

0 投票
1 回答
173 浏览

python - Raspberry Pi 上外围设备的本地名称更改未反映在 iOS Central 应用程序上

我已经使用 Python3 在我的 Raspberry pi 上开发了 BLE 外设,一切正常,但是,当我从我的 iOS Central 应用程序扫描这个外设时,标题总是显示为空。

我已经尝试使用以下方式更改本地名称self.local_name

0 投票
0 回答
206 浏览

java - 使用来自 Raspberry Pi Zero W 的自定义数据广播 BLE 广告,将其用作外围设备

好的,我知道我的问题太宽泛了,但我真的被卡住了。为了 POC,我试图通过蓝牙每秒从 Raspberry Pi Zero W 广播一些自定义消息,例如“HELLO BLE WRLD”。我失败得很惨。我不需要能够连接到 RPi,只需检测广告数据并阅读其中的消息即可。

有没有办法通过正在运行的 Java 应用程序实现这一点?

0 投票
1 回答
288 浏览

bluetooth-lowenergy - 我可以让 PC 支持 GATT 服务器(外设)角色吗?

我测试过BluetoothAdapter adapter = await BluetoothAdapter.GetDefaultAsync();

并发现IsPeripheralRoleSupported = false

我在台式机和笔记本电脑上都进行了测试,它们都是 Windows10(1903),但没有运气。

有什么办法可以让PC支持外围角色?

还是这个属性无法更改?