问题标签 [gatt]
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.
bluetooth - 属性需要在读/写之前进行身份验证
我正在使用带有 bluez 版本 4.101 的 Linux 计算机。我正在与处于从属模式的 BLE 设备通信。我正在尝试从 BLE 设备读取数据。但是当我这样做时,读取失败并出现以下错误:“属性需要在读/写之前进行身份验证”。我可以从许多其他特征中读取数据,但我在这一点上失败了。我正在使用的命令是
-gatttool -b 11:22:33:44:55:66 --char-read
我需要做什么才能读取这些数据?
注意:我可以从我的 iPhone 上读取这些数据。但我需要配对,所以也许这是一个配对问题。
java - 如何提高 Android 蓝牙低功耗 GATT 吞吐量?
使用 Android BLE API 进行多次 GATT 连续读取时,我遇到了性能问题。
我可以在大约 5 或 6 秒内每秒读取大约 10 个数据包。在我读取 ~65 的数据包后,吞吐量降低到每 1.5 秒大约 1 个数据包。
我做了几次测试,内部 BLE 似乎变得非常慢。在这种情况下,从 Java GATT 读取调用到外围设备大约需要 750 毫秒(外围设备中没有瓶颈),而返回 Java API 回调大约需要 750 毫秒。
在我看来,BLE 堆栈实现很差,因为当我从设备断开连接(可能清理了一些资源)然后重新连接时,我可以重现同样的问题:前 5 个或 6 个数据包读取大约 10 个数据包/秒秒(约 65 个数据包读取),然后它变得很慢。
我用 Galaxy S4 和 Nexus 4 设备对其进行了测试。两者都一样。
关于如何改进它的任何建议?
c# - 低功耗蓝牙连接参数更新 - 导致 HRESULT: 0x80070005 (E_ACCESSDENIED) 的设备或窗口?
我正在尝试写入 GAP 服务 (0x180) 特征和 0x2A04
每当我尝试写入 0x2A04(连接参数)或 0x0200(设备名称)时,
并调用 WriteValueAsync(),程序在该行中断,我的异常是
mscorlib.dll 中出现“System.UnauthorizedAccessException”类型的异常,但未在用户代码中处理
附加信息:访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))
我不太确定参数被拒绝的堆栈级别 - 我什至不知道参数是否到达 BLE 设备。但是,由于我可以写入其他 GATT 服务并从 GAP 特征中读取,我相信它是设备。
任何人都可以看到一个万无一失的方法来发现这个问题来自哪里?
谢谢托马斯
android - 从 BluetoothGatt 读取字节
有谁知道如何打印/读取/获取存储在 BluetoothGattCharacteristic 中的字节值?我正在从 BT 传感器接收数据,需要弄清楚正确的读取格式应该是什么:例如。SINT8,UINT8,浮点数。
我希望一旦我得到那个字节值,这将引导我进入将该值转换为可用测量单位所需的等式。
谢谢
android - 从光传感器解释 BluetoothGatt 值
我正在编写一个应用程序,它从 BLE 设备的光传感器接收值。我正在尝试确定我收到的是什么。我正在尝试获取传感器提供的 Lux 值,但我担心它需要转换。我不知道这个传感器的测量单位是什么。例如,Android 手机的单位是 SI Lux。应该很容易,但对于这个传感器,规格没有说明。
这是给我输出的代码:
很简单,只需读取传感器并在读取时给我该传感器的各种输出。接下来是输出:
我正在解释这是 RawValues 1 & 2 的测量值,但正在记录存储的内容以提供帮助。问题是 StoredValue 是 [B@431d30b0 这超出了我的范围。根据制造商的说明,第一个字节是地址 00x03 的 HILUX,第二个字节是地址 00x04 的 LOLUX,默认值为 00:00。
我在这里看什么,我哪里出错了?我受伤的地方是我对所读内容的理解。似乎无法获得良好的搜索上下文来了解它。
谢谢
bluetooth-lowenergy - 在蓝牙 LE 中,GATT 服务器和 GATT 客户端都在建立连接之前做广告?
我是蓝牙 LE 的新手,正在使用 CSR 的设备,
- 计划是创建一个 GATT 客户端和 GATT 服务器。
- GATT 服务器可以使用通知向 GATT 客户端发送数据。
- 但是在这里,我们希望服务器和客户端都是基于微控制器的 BT LE 设备。
此外,还有一个疑问是当 GATT 服务器有数据时,程序员是否有责任创建和发送通知,或者是否有某种方式可以在更新属性时自动发送通知。
请提供是否有任何可用的示例代码。
android - 蓝牙低功耗推送模式
随着 Android L 的发布,我正在制作一个在两种模式下都使用 BLE 的应用程序。一些手机将处于外围模式(即 GATT 服务器),其他手机将处于中央模式(即 GATT 客户端)。每个电话如何确定是客户端还是服务器是无关紧要的。
我遇到的问题是,在某一时刻,GATT 服务器必须开始向 GATT 客户端推送信息,然后让 GATT 客户端做出响应。虽然我查看了规范并说通信是双向的,但我不确定这是否是受支持的通信模式。显而易见的选择是颠倒哪个角色扮演服务器和客户端,但不幸的是,应用程序的要求阻止我这样做(因为使用 GATT 客户端模式的角色需要同时保持与多个设备的连接)。
是否有明确定义的方式让 GATT 服务器将数据“推送”到 GATT 客户端?或者,是否有更好的选择(可能使用某种标志来建立传统的蓝牙连接)?
android - Android,如何使 BLE 设备成为配对设备(绑定)
在 GATT 之前,createRfcommSocketToServiceRecord,createInsecureRfcommSocketToServiceRecord
方法可以使配对设备,
但是 GATT 没有关于配对设备的选项,只能使用 BluetoothDevice.connectGatt(...)
如果它已经连接,我想制作一个配对设备。
谢谢。
android - 在 GATT Android 中获取 BLE 特性的值
我正在尝试使用以下代码读取特征并获取其值
我的应用程序崩溃并给出错误“应用程序可能在其主线程上做的工作过多。”
我也试过
但错误是一样的
我已经调试了我的代码以检查它是否获得了价值
它显示正确的值,但将代码作为 Android 应用程序运行。我犯了同样的错误。
android - 空指针异常错误发送一个特征 BLE android
我是一名新的 android 开发人员,我正在尝试使用BLE 4.3
基于 Gatt android 示例项目的数据发送数据。
我使用特性来放置我想要传输的数据。
当我尝试传输时,我使用DeviceControlActivity
项目列表中的第三个服务,出现一个文本对话框来介绍文本。当我按 OK 时,想法是开始传输,但我得到一个NullPointerException
错误。
我不知道为什么会出现这个错误,我该如何解决这个问题。
这是我的完整代码,如果有用的话
}
有人能告诉我我做错了什么吗?
感谢提前