2

我想打开一个到我的 Raspberry Pi 的 ssh 会话并echo 0=+10 > /dev/servoblaster在我想要的时间运行简单的命令(意味着不使用system("ssh pi@192.168.1.5 echo 0=+10 > /dev/servoblaster"),因为再次运行 ssh 需要时间)。C ++中最简单的方法是什么?

4

4 回答 4

0

假设您只需要单向通信,请使用FILE *ssh = popen("ssh pi@192.168.1.5", "w")而不是打开 ssh 连接system。这会给你一个写信的句柄,例如fprintf(ssh, "echo 0=%#d > /dev/servoblaster", 10);。然后 ssh 连接可用,直到您pclose(ssh);稍后再使用。

如果您需要回读,则需要打开管道的两侧,这需要“适当的fork工作人员”。在这种情况下,您也许可以从这个示例开始。

c中的fork()和管道()

于 2014-04-06T09:40:38.880 回答
0

我正在编写一个 C++ 程序来使用上面的命令通过 Raspberry Pi 控制伺服电机,我如何在没有 ssh 的情况下访问和运行 Raspberry Pi 的命令?

您可以使用WebIOPi提供的REST API访问和运行命令以通过 Raspberry Pi 控制伺服电机。

于 2014-04-07T11:32:24.390 回答
0

我没有使用它,但它看起来很有希望。

http://api.libssh.org/master/libssh_tutor_guided_tour.html

于 2014-04-06T11:35:48.717 回答
0

对于发送简单的控制命令,ssh 至少可以说是一种矫枉过正。

人们通常为此使用简单的串行端口。这可以通过多种方式完成,使用 QtSerialPort 之类的库,或者只是通过手动 termios 设置

您可以使用“gserial”通过 USB 连接获取串行端口操作,并将其用作常规串行端口。

于 2014-04-06T09:44:24.750 回答