[Python] Raspi 3 PIR sensor - Python script - invalid syntax

Discussão em 'Python' iniciado por Stack, Junho 2, 2025.

  1. Stack

    Stack Membro Participativo

    I'm working at a "Magic Mirror" and now I got a problem with the Python script which should turning my monitor 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()


    I tried to run the script, but Python tells me there is a syntax error at line 25, it points exactly at the semicolon after &amp and before gt

    I didn't work with Python until now, therefore I don't know anything about the syntax of Python.

    I would appreciate it very much if you guys will take a minute to help me solving my problem.

    I have the Python version 2.7.9

    Continue reading...

Compartilhe esta Página