我为温室安装了水泵,并使用树莓派作为水泵计时器。它已经工作了好几个星期,然后我运行了实际上激活泵的脚本,但它没有关闭。现在我设置为运行脚本的cronjob也无法正常工作。
所以基本上,我有一个运行水泵的脚本
#!/usr/bin/env python3
import RPi.GPIO as gpio
import time
import datetime
channel = 21
gpio.setmode(gpio.BCM)
gpio.setup(channel, gpio.OUT)
def pump_on(pin):
gpio.output(pin, gpio.HIGH)
def pump_off(pin):
gpio.output(pin, gpio.LOW)
#setting up cronjob to start at startup
if __name__ == '__main__':
try:
pump_on(channel)
datetime = datetime.datetime.now()
print("...Activating Sprinkler...: ", str(datetime))
time.sleep(75)
print("...Deactivating Sprinkler...")
pump_off(channel)
gpio.cleanup()
except KeyboardInterrupt:
gpio.cleanup()
print("Interrupted!")
pass
使用crontab -e在此cronjob中运行
30 15 * * * /home/pi/Documents/water_pump.py >> ~/cron.log 2>&1
我还有另一个脚本可以检查pi是否每小时打开一次(它是太阳能供电的,所以我想看看电池是否有关闭时间)
0 * * * * /home/pi/Documents/time_log.py >> ~/time.log 2>&1
这仍然可以正常工作。
但是几天前我跑了 ./water_pump.py
它在75秒后没有关闭,我需要手动关闭系统,现在仅用于该任务的cronjob不再起作用。
任何建议将不胜感激。
编辑: grep CRON / var / log / syslog输出在这里:https://imgur.com/a/jfC9eRw
很长,我无法嵌入图片
答案 0 :(得分:0)
我从cron作业中删除了该行,然后将其粘贴到末尾,并且行得通,所以猜想这就是解决方法。