我有一个iRobot Create模型4400,我需要通过Ubuntu将命令发送到开放界面。我在57600波特处使用了gtkterm,但是当我按下播放按钮时,它只会自动旋转。我尝试将命令作为原始数据和十六进制数据发送,但是它不起作用。

我在做什么错呢?

#1 楼

Roomba需要二进制数据。当您键入gtkterm时,您正在发送ASCII数据。 (除非我不知道gtkterm的功能)。例如,当您在终端中键入“ 128”时,实际上是在发送3个字节的数据:[49 50 56]。并且由于OI Spec的许多命令不在可键入的ASCII范围内,因此无法以这种方式使用终端。

您应使用C,C#,Python等编程语言发送数据包。

评论


$ \ begingroup $
最后,我使用了Python和Pyserial库。谢谢!
$ \ endgroup $
– Samuel Fraga Mateos
16年3月3日在13:06

#2 楼

您是否尝试过从手册中发送示例命令?

在尝试发送执行器命令或传感器读取命令之前,请确保进入OI模式。否则,这些命令将被忽略。

发布您要发送的命令也将有助于理解您遇到的问题。