问题描述
我正在尝试构建具有蓝牙 LE 通信功能的 Android 应用程序。 Kotlin 用于 Android Studio。 发现 Gatt 服务、特征和描述符, 一个关于 CCCD 列表的通知。
到目前为止,没问题!
现在我需要帮助将正确的命令发送(写入)到特征。
这就是命令的样子 / 来自制造商 api 的信息:
通用命令格式
B0 | B1 | B2 | B3 | B4 | B5 | B6 | Bn |
---|---|---|---|---|---|---|---|
序言 (0xAB) | 命令 ID(低字节) | 命令 ID(高字节) | 参数字节0 | 参数字节1 | 参数字节2 | 参数字节3 | 参数字节(n-3) |
命令ID为两字节(16bit)整数,低位占B1,高位 B2 部分。整个协议使用的字节序是little-endian。
命令名称 | ID |
---|---|
PCMD_API_GET_INFO | 0x01 |
PCMD_ ... | 0x02 |
... | 0x03 |
变量的正确定义是什么
val PCMD_API_GET_INFO = 0x01
用于
.setValue(value: ????)
功能?
Command ID 是如何组成的/它是如何形成的?
预先感谢您的努力并希望得到好的答案
解决方法
这是将其写入 Characteristic 的正确值/格式:
val PCMD_API_GET_INFO = byteArrayOf(
0xAB.toByte(),0x01.toByte(),0x00.toByte(),0x00.toByte()
)