我尝试使用 Linux shell 命令 (Ubuntu 14.04) 来命令我的 MiP 机器人。
在尝试此操作之前,我已经使用了官方 Android 应用程序,并且已使用 Android 开发人员选项中集成的“Snoop HCI 蓝牙日志”嗅探了所有蓝牙数据包。
当我使用此应用程序向我的机器人发出左转命令(例如)时,该应用程序似乎发送:
Opcode: Write Command (0x52)
Handle: 0x0013
Value: 7800XX (replacing XX by some different value according the direction)
这在 Wireshark 中可见(我无法发布图像...)。
我尝试在 shell 中使用 gatttool 重现这一点。
使用此工具,语法为:
char-write-cmd <cmd> <handle> value
我尝试了一些不同的值,如下所示:
[CON][EE:AA:BB:A2:FE:FF][LE]> char-write-cmd 0x52 0x0013 0x78 0x00 0x60
[CON][EE:AA:BB:A2:FE:FF][LE]> char-write-cmd 0x52 0x0013 0x780060
[CON][EE:AA:BB:A2:FE:FF][LE]> char-write-cmd 0x52 0x0013 78 00 60
[CON][EE:AA:BB:A2:FE:FF][LE]> char-write-cmd 0x52 0x0013 0x60 0x00 0x78
[CON][EE:AA:BB:A2:FE:FF][LE]> char-write-cmd 0x52 0x0013 0x600078
[CON][EE:AA:BB:A2:FE:FF][LE]> char-write-cmd 0x52 0x0013 60 00 78
但是没有成功...
我的问题是:
如何发送多个字节作为值参数?
最诚挚的问候
PiF
PS:抱歉我的英语不好:)
最佳答案
我找到了问题的答案。也许这可以帮助某人。
正确的语法命令是:
[CON][EE:AA:BB:A2:FE:FF][LE]> char-write-cmd 0x0013 780060
命令
char-write-cmd
始终放置 0x52(gatt 或蓝牙)操作码命令
希望这有帮助。
关于android - 使用 gatttool 在 Linux Shell 中通过蓝牙执行 WowWee MiP 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25536695/