【发布时间】:2020-08-24 19:33:31
【问题描述】:
我的 Raspberry Pi 中有一个连接到雨量计的 python 脚本。当雨量计检测到下雨时,脚本显示 0.2 并将其写入文件。这是代码:
#!/usr/bin/env python3
import time
import RPi.GPIO as GPIO
BUTTON_GPIO = 16
if __name__ == '__main__':
GPIO.setmode(GPIO.BCM)
GPIO.setup(BUTTON_GPIO, GPIO.IN, pull_up_down=GPIO.PUD_UP)
pressed = False
while True:
# button is pressed when pin is LOW
if not GPIO.input(BUTTON_GPIO):
if not pressed:
print("0.2")
pressed = True
# button not pressed (or released)
else:
pressed = False
time.sleep(0.1)
我的想法是使用这样的代码来节省雨水总量。当 python 脚本显示 0.2 > 将其写入文件。
python3 rain.py >> rain.txt
代码创建了一个文件,但在按 Ctrl + C 完成执行之前不会写入任何内容。
我需要在启动时执行它。我尝试将其添加到 crontab 和 rc.local 但不起作用。
我尝试使用 sudo 和 pi 来执行它。权限为 755。
谢谢!
【问题讨论】:
-
您确定您已正确按照说明进行操作吗?您是否尝试过
@reboot python /home/pi/myscript.py &文档中指定的 raspberrypi.org/documentation/linux/usage/cron.md -
另外,您的代码有无限循环,但它仍应在执行完成之前写入文件。你确定需要
Ctrl + c来写入文件吗?
标签: python linux raspberry-pi raspbian startup