问题标签 [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.
automation - 低功耗蓝牙设备触发 Web 服务调用
我正在寻找一个软件或易于使用的库,我可以在其中连接到可以在单击时触发 http 请求的 BLE 设备(简单按钮,如密钥查找器)。我的本地网络上已经有 rest api 可用。我需要能够从设备调用它。它可以是适用于 android 或 windows 的软件。有人有想法吗?
ios - 如何在 Ios swift 中将值写入 BLE 设备中的现有特征
我正在开发 ios Ble 应用程序来为手机充电。我做了一切正确的事情来发现特性。首先 Scannig 外围设备并连接到它。发现具有通知和写入而没有响应属性的服务(FFB0)和特征(FFB1,FFB2)。我找到了客户端特征配置描述符。我想向 pcb 发送命令以解锁充电我想将值写入 FFB2 特性但外围设备没有响应。这是我的代码。我正在搜索与此相关的所有内容,但我没有找到任何解决方案如果有人解决这个问题,它对我有帮助
谢谢你
// MARK: - CBCentral,CBperipheral 委托方法
// MARK: - CBPeripheral 委托方法
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位)
node.js - 写特性——Nodejs、Bleno、蓝牙
蓝牙设备正在接收写入请求,我可以在控制台中看到对此的确认,但是无论我在数据变量中传递什么,传递的数据变量都会导致相同的随机输出:我猜我'以错误的格式发送或接收数据变量?
这是来自我的 Android 设备的代码,向蓝牙设备发送写入请求
这是接收请求的蓝牙设备上的代码:
不同的输出结果:
this._value[0] = 158
this._value = ??e
etc, etc, etc.
swift - 将 UInt8 字节数组从特征值转换为显式值
我尝试将 UInt8 数组转换为显式值,但我尝试了多种方式,但无法获得我能理解的值。我该怎么做才能获得明确的价值?
我的 UInt8 数组:
我的代码:
我的输出:
android - 在 Android 中接收多个特征的通知
我希望在我的 Android 应用程序中收到通知,我有几个特征(都在一项服务下)。当我为其中一个设置通知描述符时,它运行良好。我知道必须使用某种队列或延迟来接收多个通知,但我不明白如何在我的代码中实现它。我在这个站点的 Android 文档上也找不到任何示例,或者其他解释如何实现的示例。
这是我尝试创建的用于设置服务通知的代码:
这是我在应用程序中设置文本以匹配刚刚更改的特征值的功能:
我考虑尝试的另一种方法是创建一个列表List<BluetoothGattCharacteristic> chars = new ArrayList<>();
并添加我在此列表中找到的每个特征。然后我可以尝试一个一个地编写通知描述符,但我似乎也无法实现这一点。
我是一名大学生,不熟悉Android开发等功能。任何有关如何解决此问题的帮助将不胜感激。谢谢你。
ios - iOS BLE 特性控制点写入 - ATT 错误
我在执行 awrite
时遇到了问题control point
characteristic
。
也许我提供了一个错误的值,因为我不完全理解控制点的性质。我已经注意到一些关于实现旁边的控制点值的规范。
即便如此,我不会收到比 更详细的错误描述ATT Unknown
,所以我很难找出根本原因。
顺便说一句,所有其他配置文件/控制点都可以成功读取和写入。这已经在 Android 上成功测试了 - 而不是我。
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
unity3d - Oculus Quest 的 Unity XR 输入设备特性始终无
我正在使用 2019.3 中最新的 XR 交互式工具包。
我的游戏中有一个带有左右手 XR 控制器的 XR Rig。
我有一个自己的脚本,我正在查看 XR 控制器 InputDevice 特性成员,以尝试确定控制器是哪只手。
特征成员始终为无。这是我的一些代码:
两个控制器的输出为:false、None、HeldInHand、Left
这是一个错误还是我需要做些什么来启动它或获得要填充的特征?