我想打开一个到我的 Raspberry Pi 的 ssh 会话并echo 0=+10 > /dev/servoblaster
在我想要的时间运行简单的命令(意味着不使用system("ssh pi@192.168.1.5 echo 0=+10 > /dev/servoblaster")
,因为再次运行 ssh 需要时间)。C ++中最简单的方法是什么?
问问题
9107 次
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
工作人员”。在这种情况下,您也许可以从这个示例开始。
于 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
我没有使用它,但它看起来很有希望。
于 2014-04-06T11:35:48.717 回答
0
对于发送简单的控制命令,ssh 至少可以说是一种矫枉过正。
人们通常为此使用简单的串行端口。这可以通过多种方式完成,使用 QtSerialPort 之类的库,或者只是通过手动 termios 设置。
您可以使用“gserial”通过 USB 连接获取串行端口操作,并将其用作常规串行端口。
于 2014-04-06T09:44:24.750 回答