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

automation - 低功耗蓝牙设备触发 Web 服务调用

我正在寻找一个软件或易于使用的库,我可以在其中连接到可以在单击时触发 http 请求的 BLE 设备(简单按钮,如密钥查找器)。我的本地网络上已经有 rest api 可用。我需要能够从设备调用它。它可以是适用于 android 或 windows 的软件。有人有想法吗?

0 投票
0 回答
2147 浏览

ios - 如何在 Ios swift 中将值写入 BLE 设备中的现有特征

我正在开发 ios Ble 应用程序来为手机充电。我做了一切正确的事情来发现特性。首先 Scannig 外围设备并连接到它。发现具有通知和写入而没有响应属性的服务(FFB0)和特征(FFB1,FFB2)。我找到了客户端特征配置描述符。我想向 pcb 发送命令以解锁充电我想将值写入 FFB2 特性但外围设备没有响应。这是我的代码。我正在搜索与此相关的所有内容,但我没有找到任何解决方案如果有人解决这个问题,它对我有帮助

谢谢你

// MARK: -  CBCentral,CBperipheral 委托方法

// MARK: -  CBPeripheral 委托方法

0 投票
1 回答
4389 浏览

ios - 如何在ios swift中将值写入BLE设备的characteristc

我正在开发 iOS BLE 应用程序来为手机充电。我做了一切纠正以发现特征。首先扫描外围设备并连接到它。发现具有通知和写入而没有响应属性的服务(FFB0)和特征(FFB1,FFB2)。

我找到了客户端特征配置描述符。我想向 PCB 发送命令以解锁充电 我想将值写入 FFB2 特性,但外围设备没有响应。这是我的代码。

我已经搜索了与此相关的所有内容,但没有找到任何解决方案如果有人解决了这个问题,这将对我有所帮助。

这是客户提供的文件:

每个PCB上都有一个BLE4.0蓝牙模块,每个蓝牙模块有一个单独的12字节长度地址码,PCB数据通道,Service UUID是OxFFBO,包括两个特征值,分别是OxFFBI和OxFFB2,通信长度数据为 1--20 字节。OxFFB1为APP数据下载通道。OxFBB2为蓝牙上传数据通道。

上电进入空闲模式,在空闲模式下,两个灯会闪烁。它会向手机发送一个ID码(一个字节),手机中的APP会得到这个ID码(一个字节)。ID 码可以通过手机设置进行设置。即通过ID码发送相应的解锁指令。

解锁指令为0x55,0xe1,(ID0+1),时间,以下为解锁指令说明:

ID0为ID码,“time”为用户解锁时间(5-120分钟),注意是二进制转十六进制,time==05表示5分钟,time==6表示6分钟, time ==A 表示 10 分钟,依此类推。如果PCB的ID0为0xff,解锁pcb 60min为:0x55,0xe1,0x00,0x3c;如果PCB的ID0为0x05,解锁pcb 10分钟为:0x55 , 0xe1 ,0x06 , 0x0a

当 PCB 上的 MCU 收到解锁指令时,它会开始打开输出和计时。计时超时后系统再次进入空闲模式。在空闲模式下,长按该键进入关机睡眠时间模式。

uart 的波特率设置为 9,600。APP发送给MCU的查询命令为0x55 0x01 MCU应回复APP的信息格式:0x55、0x02、bat_level、xH、XL(xH XL代表电池当前电压值,xH-代表高8位, XL---代表低8位)

0 投票
1 回答
658 浏览

node.js - 写特性——Nodejs、Bleno、蓝牙

蓝牙设备正在接收写入请求,我可以在控制台中看到对此的确认,但是无论我在数据变量中传递什么,传递的数据变量都会导致相同的随机输出:我猜我'以错误的格式发送或接收数据变量?

这是来自我的 Android 设备的代码,向蓝牙设备发送写入请求

这是接收请求的蓝牙设备上的代码:

不同的输出结果:
this._value[0] = 158
this._value = ??e
etc, etc, etc.

0 投票
0 回答
130 浏览

swift - 将 UInt8 字节数组从特征值转换为显式值

我尝试将 UInt8 数组转换为显式值,但我尝试了多种方式,但无法获得我能理解的值。我该怎么做才能获得明确的价值?

我的 UInt8 数组:

我的代码:

我的输出:

0 投票
1 回答
348 浏览

android - 在 Android 中接收多个特征的通知

我希望在我的 Android 应用程序中收到通知,我有几个特征(都在一项服务下)。当我为其中一个设置通知描述符时,它运行良好。我知道必须使用某种队列或延迟来接收多个通知,但我不明白如何在我的代码中实现它。我在这个站点的 Android 文档上也找不到任何示例,或者其他解释如何实现的示例。

这是我尝试创建的用于设置服务通知的代码:

这是我在应用程序中设置文本以匹配刚刚更改的特征值的功能:

我考虑尝试的另一种方法是创建一个列表List<BluetoothGattCharacteristic> chars = new ArrayList<>();并添加我在此列表中找到的每个特征。然后我可以尝试一个一个地编写通知描述符,但我似乎也无法实现这一点。

我是一名大学生,不熟悉Android开发等功能。任何有关如何解决此问题的帮助将不胜感激。谢谢你。

0 投票
1 回答
35 浏览

swift - 如何从 Walk Run Stride 蓝牙传感器的特征数据中识别值

我正在开发一个具有传感器连接性的锻炼应用程序,能够读取和获取心率传感器的数据,但对于面临问题的步幅传感器(步行/跑步)来映射传感器特性给出的值。

我将如何获得速度、节奏、每分钟步数、距离。?我在谷歌上搜索没有得到这个。

我非常确定获取数据,但很难为不同参数映射索引和值。

检查附加的代码快照以获取数据输出。

提前致谢...!!

在此处输入图像描述

0 投票
1 回答
332 浏览

ios - iOS BLE 特性控制点写入 - ATT 错误

我在执行 awrite时遇到了问题control point characteristic

也许我提供了一个错误的值,因为我不完全理解控制点的性质。我已经注意到一些关于实现旁边的控制点值的规范。

即便如此,我不会收到比 更详细的错误描述ATT Unknown,所以我很难找出根本原因。

ATT 错误说明

顺便说一句,所有其他配置文件/控制点都可以成功读取和写入。这已经在 Android 上成功测试了 - 而不是我。

0 投票
0 回答
282 浏览

c - 蓝牙低功耗 gatt 数据发送过多信息

我的代码有一个问题,即我将 51 个字节传递给 ble 特征,然后调用一个函数通过已建立的 GATT 连接将其发送到我的手机,但是,它发送的数据远多于 51 个字节。

我有一个名为 ble_cus_send_csv 的函数,它接受几个参数。这些是我的自定义结构、我的数据、数据长度和处理程序。

我向其中发送了 51 个字符,我认为这是 51 个字节。我取 sizeof() 这个,它给出了 51。

然后我运行我的 ble_cus_send_csv 函数,它运行并输出我的 51 个字节的数据,之后的字节数要多得多。

我在下面附上了我的发送功能和我的输出。它应该只输出一个固定的 51 个字节。

我在 segger studio 内使用 Nordic NRF52840-dk 板。代码是用 C 编写的。

谢谢, 盖特特征数据

我的 ble_cus_send_csv 函数:

调试器中的 P_length

P_length

0 投票
1 回答
1130 浏览

unity3d - Oculus Quest 的 Unity XR 输入设备特性始终无

我正在使用 2019.3 中最新的 XR 交互式工具包。

我的游戏中有一个带有左右手 XR 控制器的 XR Rig。

我有一个自己的脚本,我正在查看 XR 控制器 InputDevice 特性成员,以尝试确定控制器是哪只手。

特征成员始终为无。这是我的一些代码:

两个控制器的输出为:false、None、HeldInHand、Left

这是一个错误还是我需要做些什么来启动它或获得要填充的特征?