You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过bluetoothctl向BLE设备发送指定字节数组?

解决bluetoothctl写入BLE特征值时的"Invalid value at index 0"错误

问题原因

bluetoothctl的write命令不支持你使用的数组格式(带方括号和逗号的写法),它要求输入连续的十六进制字符串,每个字节用两位十六进制数表示,不需要任何分隔符。

解决步骤

  1. 将十进制数组转换为十六进制字符串
    把你要发送的数组[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 25, 255]逐个转换为两位十六进制:

    • 1 → 01
    • 0 → 00(重复9次)
    • 16 → 10
    • 25 → 19
    • 255 → ff
      拼接后得到十六进制字符串:010000000000000000001019ff
  2. 执行正确的写入命令
    在已选中目标特征的命令行环境下,执行以下命令之一:

    • 普通写入:
      write 010000000000000000001019ff
      
    • 无响应写入(对应特征的write-without-response标识,传输效率更高):
      write-without-response 010000000000000000001019ff
      

验证执行流程

确保操作流程正确:

  • 连接设备成功后进入menu gatt
  • 用select-attribute f29b152d-cb19-40f3-be5c-7241ecb82fd2选中目标特征
  • 直接执行上述写入命令,无需添加data=前缀或引号

内容的提问来源于stack exchange,提问作者test1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 22:45:36