【发布时间】:2018-10-23 13:07:01
【问题描述】:
我目前正在做一个学校项目。我们需要能够使用按钮关闭(并可能重新启动)在另一个树莓派上运行的 pythonscript。
我认为最简单的事情可能就是从另一个 pi 上关闭 pi。但我没有这方面的经验。
我不需要确切的指南(感谢我能得到的所有帮助),但有人知道如何做到这一点吗?
【问题讨论】:
标签: python button ssh raspberry-pi
我目前正在做一个学校项目。我们需要能够使用按钮关闭(并可能重新启动)在另一个树莓派上运行的 pythonscript。
我认为最简单的事情可能就是从另一个 pi 上关闭 pi。但我没有这方面的经验。
我不需要确切的指南(感谢我能得到的所有帮助),但有人知道如何做到这一点吗?
【问题讨论】:
标签: python button ssh raspberry-pi
我想一个简单的方法是首先让 python 程序通过 ssh 连接到你可以关闭的 pi。你可以在这里看到如何做到这一点:How to make a ssh connection with python?
这里有这个脚本的改编版本
from pexpect import pxssh
s = pxssh.pxssh()
if not s.login('localhost', 'myusername', 'mypassword'):
print("SSH session failed on login.")
print(str(s))
else:
s.sendline('sudo shutdown -h')
print("Shutdown command sent")
s.logout()
然后您可以更改它以使其更适合您,或者在需要时添加第二个包含 pi 密码的 s.sendline(),因为您使用的是通常会提示输入密码的 sudo。
如果您想使用按钮执行它,这里的另一个答案可能会对您有所帮助:When press button, python script runs automatically on Raspberry Pi
您可能需要更改那里的图钉编号,使其与您要用于按钮的图钉匹配。
【讨论】:
首先我们应该询问您要关闭的 PI 是否连接到网络? (局域网或互联网,没关系)。
如果答案是肯定的,您只需通过 SSH 连接到您的 PI,然后调用 shutdown.sh。
我不知道您为什么想要另一个 PI,您可以通过与您的第一个 PI 连接到同一网络的任何设备(如果是 LAN,则为 Wi-Fi 或以太网,或者如果它对互联网开放,则只需从任何地方) .
您可以制作智能手机应用程序,或任何可以连接到 SSH 的类型或代码(所有这些)。
【讨论】: