所以我有一个python脚本,至少我想做这两件事中的一件:
我已经尝试了我能找到的每一种方法来做这些,但似乎问题每次都或多或少相同。最初它看起来好像程序正在运行,表现为处理器活动大幅增加,但这只会持续几秒钟,然后pi才能恢复无效。如果终端打开,则不显示任何消息。该脚本打开一个pygame窗口,有时(取决于使用的方法)此窗口将在关闭之前显示几秒钟。
该脚本非常复杂,因为它使用了目录中的图像和模块以及GPIO引脚。
如果我尝试从终端窗口运行脚本,它只有在我进入其目录时才能正常工作,否则它只是说它无法导入图像并挂起。 (sudo似乎对它是否有效没有任何影响)
我假设这意味着如果我在运行之前设法让rpi进入脚本目录,它会起作用,但是我不确定这是否可以通过快捷方式或任何“自动启动”方法
希望如果不让我知道,这一切都很清楚
答案 0 :(得分:0)
您必须编写简单的脚本来运行您的代码,如下所示:
例如,在/ opt:
中创建目录cd /opt
mkdir my_bootup_script
cd my_bootup_script
nano my_python_script.py
然后编写python代码。对于这个例子,我尝试了这个:
#!/usr/bin/python
import sys
import Adafruit_DHT
humidity, temperature = Adafruit_DHT.read_retry(11, 4)
if humidity is not None and temperature is not None:
print 'Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity)
else:
print 'Failed to get reading. Try again!'
然后在相同的文件夹bash脚本中制作例如:
touch my_script_runner.sh
chmod a+x my_script_runner.sh
nano my_script_runner.sh
然后编写bash脚本。对于这个例子,我尝试了这个:
#!/bin/bash
cd /opt/my_bootup_script
sudo /usr/bin/python ./my_python_script.py
exit
尝试运行良好:./ my_script_runner.sh
如果是,请将此脚本添加为启动脚本:
sudo nano /etc/rc.local
# Add Line :
nohup sudo /opt/my_bootup_script/my_script_runner.sh >> /opt/my_bootup_script/my_script_run.log
# Save with ctrl + x and y
重新启动R-Pi:sudo reboot并查看文件夹/ opt / my_bootup_script / for bootup脚本生成的my_script_run.log以获取信息。 这个例子在我的R-Pi上很好用。 Python脚本在第4个GPIO引脚上使用具有温度和湿度传感器DHT11的Adafruit模块。