Magic mirror, python/bash
Hej.
Jag har byggt en Magic mirror med en Raspberry Pi 3B, med Raspbian Buster.
Skärmen ska tändas med ett tryck på en fysisk knapp.
Använder följande skript, ursprungligen för en rörelsesensor:
#!/usr/bin/env python
import sys
import time
import RPi.GPIO as io
import subprocess
io.setmode(io.BCM)
SHUTOFF_DELAY = 2 # seconds
PIR_PIN = 12
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("monitor_on.sh", shell=True)
def turn_off():
subprocess.call("monitor_off.sh", shell=True)
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
io.cleanup()
Vilket ger felmeddelandet /bin/sh: 1: monitor_off.sh: not found
monitor_off.sh ligger i samma mapp som skriptet och fungerar om jag kör den direkt.
Även testat med fullständig sökväg.
Efterforskning pekar mot att problemet är att jag blandar python och bash i samma skript.
Förslag på lösning?