问题标签 [characteristics]

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

android - Android BLE 读取 Gatt 特性

我正在尝试在我的 APP 中读取一些蓝牙特性。现在我有一个问题,从我的 Gatt 服务器更改特性后该怎么做。起初,我尝试使用线程一次又一次地重新触发对特征的读取,如下所示:

但问题是数据似乎在某一时刻损坏了(就像我总是从我的 MCU 端将相同的数据写入特征)。

是否允许像这样读取 BLE 数据?是否有任何建议的方式来一直读取 BLE 数据?或者在我的应用程序端更新它?

如果您需要任何其他代码,请告诉我。

0 投票
1 回答
207 浏览

android - Android BLE readCharacteristic 为假

我正在尝试使用蓝牙低功耗阅读消息。当 (characteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_READ) == 0 时,永远不会调用 onCharacteristicRead。现在characteristic.getProperties() = 16 和BluetoothGattCharacteristic.PROPERTY_READ 是2, 2&16=0; 无论如何要制作(characteristic.getProperties()和BluetoothGattCharacteristic.PROPERTY_READ)!= 0

如果你知道路,请告诉我。

谢谢!

0 投票
2 回答
965 浏览

bluetooth - 使用 swift 向 miband 写入值

我有 Swift BLE 相关的问题/问题。

我有一个我想用我自己的应用程序控制的 MI 乐队。

从设备读取值没有问题。但现在我想写一个值。

我发现这个网站列出了大部分特征:

所以我想通过以下方式开始振动:

我也尝试了其他特性,但它们都不起作用。没有错误,没有响应,什么都没有。

我错过了什么吗?

编辑

我可以设法通过蓝牙向我的树莓派发送一些东西。所以看来小米手环目前的固件已经不支持我发送的数据了。我还注意到您无法再阅读所有特征。

0 投票
0 回答
471 浏览

android - BLE,订阅 2 Characterisitics 通知不起作用。只为一个人工作

我成功地为我的 android 应用程序编写了一个代码,该代码旨在从我的 BLE 设备读取特征值,然后激活与此特征相关的通知,以便在我的应用程序中显示更新的值。该应用程序运行良好。

但是当我尝试激活第二个特征的通知时,通知仅适用于一个特征,而不适用于两者。

所以让我们称第一个特征'Date_time_Characteristic'和第二个特征'nbr_sample_Characteristic'

我注意到以下内容:如果我订阅了“Date_time_Characteristic”的通知,然后我订阅了“nbr_sample_Characteristic” ,则只有第一个订阅的会生成通知。在这种情况下是'Date_time_Characteristic'

如果我做相反的事情并首先订阅“nbr_sample_Characteristic”,则只有“nbr_sample_Characteristic”会生成通知并更新它的值。

我该如何解决这个问题并让这两个特征都通知应用程序?

0 投票
2 回答
6204 浏览

android - 低功耗蓝牙监听多个特征通知

我在与自定义 BLE 传感器板通信的 Android 手机上使用 BLE 应用程序。该板提供了两个特性,加速度和心电图。在电话方面,我想从传感器板接收两个特性的通知。我设置通知的代码:

但是,我只能收到第一个特征的通知。当我只为一个特性注册通知时,它运行良好。ECG 和加速度的采样频率均为 100Hz。那么如何接收来自这两个特征的通知呢?谢谢。

0 投票
1 回答
754 浏览

android - Android BLE 服务缺少特征

我在 BLE 4.2 设备上运行具有自定义特征的自定义服务。我正在开发一个 android 应用程序来读取/写入特性等。我尝试的第一件事是读取特性。

我定义了一个 UUID 列表: List chars = new ArrayList<>();

我使用我知道的服务 UUID 创建一个服务: mCustomService = mBluetoothGatt.getService(MY_SERVICE_UUID);

我从我的服务中加载了 4 个已知 UUID 的列表:

mReadCharacteristic 始终返回 null,服务不包含我的特征。

如果我使用 BLE“嗅探器”应用程序,那么我确实看到了所有特征。

谢谢

富有的

PS我无法弄清楚这里的格式!

0 投票
2 回答
1410 浏览

android - 如何解决 Android 和 Nordic nRF51 上的特征写入失败?

我正在尝试让 Android Nexus 5X 应用程序与 NRF51 芯片一起使用,并面临一些问题,特别是在写入特性方面。真的希望能得到一些帮助。

我正在尝试通过应用程序在 nrf 上设置实时时钟 (RTC)。向我提供的有关 GATT 服务特性的详细信息如下:

属性:读取 - 强制、写入 - 强制、WriteWithoutResponse - 排除、SignedWrite - 排除、通知 - 排除、指示 - 排除、可写辅助 - 排除、广播 - 排除。

安全性:ENC_NO_MITM

描述:无

连接到 nrf 后,我的 'onServiceDiscovered()' 实现如下。我能够执行 readCharacteristic,这导致调用“conCharacteristicRead()”,但 writeCharacteristic() 失败。将不胜感激任何指导。非常感谢!

0 投票
1 回答
460 浏览

java - writeCharacteristic Android上的空指针异常

我正在尝试对 android 应用程序上的微处理器执行 ble 写入,但发生了一些奇怪的事情。

首先,错误日志如下:

经过一段时间的调试后,我注意到我试图写入的特征没有被发现,因此解释了为什么会发生空指针异常。

问题是这个特性肯定是在做广告,因为我在我的 iPhone 上下载了 LightBlue 并且出现了这个特性。这让我相信我在初始化特性时犯了一个错误,但我从应用商店下载了蓝牙 LE 扫描仪后,它的行为仍然与我的应用程序相同。

iOS和android getCharacteristics的方式有区别吗?

注意: 我之前遇到过这个问题,解决方案是重新下载应用程序几次,最终读取了特征。但是我在我的平板电脑上清除了数据,现在它正在做和以前一样的事情,这次重新下载并没有修复它。

任何帮助将不胜感激,如有必要,我可以提供更多代码。

0 投票
1 回答
348 浏览

bluetooth-lowenergy - RxAndroidBle:读取预定义的 GATT 特性

我有一个具有多个特性的 BLE 设备,由此处定义的默认地址寻址

制造商名称字符串、硬件版本字符串、序列号字符串等。

使用 UUID 类,我尝试了几种不同的方法来构建 RxAndroidBle 将接受并从这些特征中读取的 UUID。

我最想工作的一个是:

但我只是回到 onError 回调。

RxBleConnection.readCharacteristic 仅接受 UUID 或使用 UUID 创建的 BluetoothGattCharacteristic ...

0 投票
0 回答
460 浏览

android - BLE android 通知读取

我在 Android Studio 上体验了一个 android 应用程序。

我实际上能够毫无问题地启用和接收通知或特征读取。

如果启用通知,当我读取特征(通过按钮)时,我有点卡住了。在我的应用程序中,来自特征读取的数据在一个案例上是正确的,而通知的数据在另一个案例上是正确的。但是当我在启用通知时读取特征时,有时数据会交换它们的位置。

我试图在 ChangeValue Callback 上放置一个取值的全局变量,但它并非一直有效。

我所有的新数据都在课堂上:

private final BroadcastReceiver mGattUpdateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) {

所以这是我的问题,如何区分这个函数的两个数据?