Raspi 3 PIR 传感器 - Python 脚本 - 语法无效
Raspi 3 PIR sensor - Python script - invalid syntax
实际上我在 "Magic Mirror" 工作,现在我遇到了 python 脚本的问题,它应该让我的显示器 on/off.
I copied the python script from this site
#!/usr/bin/env python
import sys
import time
import RPi.GPIO as io
import subprocess
io.setmode(io.BCM)
SHUTOFF_DELAY = 60 # seconds
PIR_PIN = 7 # Pin 26 on the board
def main():
io.setup(PIR_PIN, io.IN)
turned_off = False
last_motion_time = time.time()
while True:
if io.input(PIR_PIN):
last_motion_time = time.time()
sys.stdout.flush()
if turned_off:
turned_off = False
turn_on()
else:
if not turned_off and time.time() > (last_motion_time + SHUTOFF_DELAY):
turned_off = True
turn_off()
time.sleep(.1)
def turn_on():
subprocess.call("sh /home/pi/Documents/PIR/monitor_on.sh", shell=True)
def turn_off():
subprocess.call("sh /home/pi/Documents/PIR/monitor_off.sh", shell=True)
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
io.cleanup()
我尝试 运行 脚本,但是 python 告诉我第 25 行有一个语法错误,它正好指向 &[=28= 之后的分号] 之前 gt
直到现在我才使用 python,因此我对 python 的语法一无所知。
如果你们能花点时间帮我解决我的问题,我将不胜感激。
我得到了 python 版本 2.7.9
这不是原始 Python 文件的精确副本。您在复制文件时复制了一些 HTML 标记。
将>
替换为>
。
if not turned_off and time.time() > (last_motion_time + SHUTOFF_DELAY):
turned_off = True
turn_off()
您还有缩进问题和其他 HTML 您应该摆脱的问题:
def main():
io.setup(PIR_PIN, io.IN)
turned_off = False
last_motion_time = time.time()
和
def turn_on():
subprocess.call("sh /home/pi/Documents/PIR/monitor_on.sh", shell=True)
def turn_off():
subprocess.call("sh /home/pi/Documents/PIR/monitor_off.sh", shell=True)
实际上我在 "Magic Mirror" 工作,现在我遇到了 python 脚本的问题,它应该让我的显示器 on/off.
I copied the python script from this site
#!/usr/bin/env python
import sys
import time
import RPi.GPIO as io
import subprocess
io.setmode(io.BCM)
SHUTOFF_DELAY = 60 # seconds
PIR_PIN = 7 # Pin 26 on the board
def main():
io.setup(PIR_PIN, io.IN)
turned_off = False
last_motion_time = time.time()
while True:
if io.input(PIR_PIN):
last_motion_time = time.time()
sys.stdout.flush()
if turned_off:
turned_off = False
turn_on()
else:
if not turned_off and time.time() > (last_motion_time + SHUTOFF_DELAY):
turned_off = True
turn_off()
time.sleep(.1)
def turn_on():
subprocess.call("sh /home/pi/Documents/PIR/monitor_on.sh", shell=True)
def turn_off():
subprocess.call("sh /home/pi/Documents/PIR/monitor_off.sh", shell=True)
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
io.cleanup()
我尝试 运行 脚本,但是 python 告诉我第 25 行有一个语法错误,它正好指向 &[=28= 之后的分号] 之前 gt
直到现在我才使用 python,因此我对 python 的语法一无所知。
如果你们能花点时间帮我解决我的问题,我将不胜感激。
我得到了 python 版本 2.7.9
这不是原始 Python 文件的精确副本。您在复制文件时复制了一些 HTML 标记。
将>
替换为>
。
if not turned_off and time.time() > (last_motion_time + SHUTOFF_DELAY):
turned_off = True
turn_off()
您还有缩进问题和其他 HTML 您应该摆脱的问题:
def main():
io.setup(PIR_PIN, io.IN)
turned_off = False
last_motion_time = time.time()
和
def turn_on():
subprocess.call("sh /home/pi/Documents/PIR/monitor_on.sh", shell=True)
def turn_off():
subprocess.call("sh /home/pi/Documents/PIR/monitor_off.sh", shell=True)