这是我第一次使用 Raspberry Pi 3 和 Python Tkinter 来制作 GUI。
我已经使用 Python 编写了脚本。我的代码使用 Raspberry Pi 3 GPIO 8 和 GPIO 11 作为输入。我有 2 个继电器连接到 2 个输入端子。继电器将充当开关。我的代码将计算继电器已打开的次数并显示在 GUI 中。
我已经使用 Raspberry Pi 3 LxTerminal 对其进行了测试
sudo python /home/pi/Desktop/test.py
GUI 打开并且运行良好。继电器每次切换,计数+1。
然后我决定让它在每次重新启动 Pi 时自动启动。我使用以下技术。
sudo nano /etc/profile
然后将以下代码添加到最后一行并保存。
sudo python /home/pi/Desktop/test.py
我重新启动了 Raspberry Pi,GUI 自动启动。但 GUI不响应继电器切换。
我尝试重新启动几次,并且在几次重新启动后工作。然后我尝试再次重新启动,但下次它不再起作用。这个步骤不断地重复。有时 GUI 可以工作,有时则不能。
有人遇到过这样的问题吗?我应该怎样做才能使 GUI 自动启动 100% 正常工作?
注意:
- 有5V 1A的手机充电器给Pi供电。 (也尝试过使用5V 2.1A)
- 已连接 HDMI 至 VGA 转换器以连接至显示器
- GUI 设置为自动启动时没有键盘和鼠标
最佳答案
我有一个 tkinter GUI,可以在我的 Raspberry Pi 上启动时启动。我通过将其添加到自动启动文件来做到这一点。
首先,使脚本可执行。添加
#!/usr/bin/python
作为 python 脚本的第一行。
然后使用此命令使文件可执行
chmod +x /home/pi/Desktop/test.py
现在您应该能够在没有“sudo python”前缀的情况下启动您的程序。只需在终端中输入 /home/pi/Desktop/test.py
即可启动您的程序。
然后打开自动启动文件进行编辑
nano /home/pi/.config/lxsession/LXDE-pi/autostart
并添加
@/home/pi/Desktop/test.py
顺便说一句:您使用“sudo”的方式太多了。您应该很少使用 sudo。如果你使用 sudo 编辑用户文件,你可能会搞砸你的文件权限,这会导致非常奇怪的错误。当你安装某些东西时,你应该需要“sudo”,仅此而已。
关于python - 自动启动时 Tkinter GUI 无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47395284/