我有两个活跃的树莓派。他们都有剧本:adxl345test.py
该脚本从加速度计收集数据。我通常在一个 RPi 上启动脚本,然后在另一个 RPi 上启动脚本。但是现在我想同时启动脚本。所以...
- 是否可以在一个 RPi 上运行两个 RPi 的脚本?
这样,一个 RPi 就会开始运行自己的脚本和另一个 RPi 的外部脚本。
sudo python adxl345test.py
我通过在控制台中写入然后按 Enter 键来触发每个 RPi 上的脚本。时钟与 PTPd 同步。我正在寻找的是通过在一个 RPi 的控制台中编写单个命令来触发脚本。目前,精度并不是那么重要。
RPi 已联网。
我找到了一种通过一个命令运行两个脚本的方法。这里是:
pi@Sensor1:~ $ sudo python adxl345test.py & ssh pi@ip sudo python adxl345test.py
但是,由于我使用 ssh,第二个 RPi 在运行脚本之前需要输入密码。所以...
- 有没有办法跳过密码?
- 可以直接在上面的命令中写入密码吗?
使用 sshpass ( sudo apt-get install sshpass
) 我设法直接在命令中输入密码。命令是:
pi@Sensor1:~ $ sudo python adxl345test.py & sshpass -p 'password' ssh pi@ip sudo python adxl345test.py
我现在只需一个命令即可开始收集数据,但它们仍然不会同时启动(大约 1 秒关闭)。
- 是否有可能使它们开始时在时间上更加接近(0,1 秒或更短)?
- 另外如何停止记录数据?通常我会使用 Ctrl+c,但这仅在一个 RPi 上运行单个脚本时有效。
答案1
如果两个 RPi 可以相互通信,请在其中一个 RPi 上编写一个小型 shell 脚本,使用 SSH 命令启动远程脚本,然后启动本地脚本。
如果您为此进行了特定的 SSH 设置,请为此目的创建一个 SSH 密钥对,因为在 RPi 上留下敏感的私钥会很危险。