android - 使用 gatttool 在 Linux Shell 中通过蓝牙执行 WowWee MiP 命令

标签 android linux shell bluetooth

我尝试使用 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/

相关文章:

android - 请告诉我为什么 ScrollView 在 android studio 中不起作用?

java - JpcapCaptor.getDeviceList() 返回一个空数组

java - 在 Linux 中从 java 执行 shell 脚本(使用 perl 和其他 shell 脚本的 shell 脚本)

linux - 用于删除旧文件的 BASH 脚本,并创建一个包含已删除文件总数和大小的文本文件。

android - 如何设置多个每日闹钟?

android - 将位图设置为 drawableLeft 到 EditText

即使 PATH 变量中列出了 Linux shell 命令的路径,也未找到这些命令

Linux下Python子进程Popen准备Python路径

linux - 如何只更改文件中的一个参数

java - 如何在android中获取两个时间差