我想打开一个ssh会话到我的Raspberry Pi并在我想要的时间运行简单的命令echo 0=+10 > /dev/servoblaster
(意味着不使用system("ssh pi@192.168.1.5 echo 0=+10 > /dev/servoblaster")
,因为再次运行ssh需要时间)。 C ++中最简单的方法是什么?
答案 0 :(得分:0)
假设您只需要单向通信,请使用FILE *ssh = popen("ssh pi@192.168.1.5", "w")
而不是system
打开ssh连接。这会给你一个写入的句柄,例如fprintf(ssh, "echo 0=%#d > /dev/servoblaster", 10);
。然后可以使用ssh连接,直到稍后pclose(ssh);
为止。
如果您需要回读,则需要打开管道的两侧,这需要{#1}}正确的fork
作业。在这种情况下,你可以从这个例子开始。
答案 1 :(得分:0)
对于发送简单的控制命令,至少可以说ssh是一种过度杀伤力。
人们通常会使用简单的串口。这可以通过多种方式完成,使用QtSerialPort等库或只需浏览manual termios settings。
你可以使用" gserial"用于通过USB连接获得串行端口操作并将其用作常规串行端口。
答案 2 :(得分:0)
我没有使用它,但看起来很有希望。
答案 3 :(得分:0)