ich möchte 2 Threads starten einer soll einen Bewegungssensor überwachen der zweite soll zu dem Sensor eine Verzögerung erstellen
beide Threads sollen die Globalen Variabeln stehts aktuell halten so das ich din der Schleife des Hauptscrites darauf zugreifen kann.
hier mein bisheriges Script:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
import thread
import threading
# RPi.GPIO Layout verwenden (wie Pin-Nummern)
GPIO.setmode(GPIO.BOARD)
# Pin 15 (GPIO 24) auf Input setzen
GPIO.setup(15, GPIO.IN)
def sensor_delay(delay):
# Dauersschleife
while True:
global sd
global be
if be is True:
sd = True
else:
sd = False
time.sleep(1)
def gpio_check(dalay):
# Dauersschleife
while True:
global be
# GPIO lesen
if GPIO.input(15) == GPIO.HIGH:
#GPIO ist an
be = True
else:
# GPIO ist aus
be = False
# Warte 5s
time.sleep(delay)
# Hauptscript
be = False #bewegung
sd = False #sensor delay
thread.start_new_thread(gpio_check,(5,))
thread.start_new_thread(sensor_delay,(5,))
try: # Dauer-Schleife
while True:
print("GPIO Check : %s Sensor Delay : %s") % (be,sd)
time.sleep(1)
except KeyboardInterrupt:
# CTRL-C gedrueckt
# Reset GPIO
GPIO.cleanup()
# ----------------------- EOF ---------------------------
Ich bin jetzt soweit das ich zu der Erkenntnis gekommen bin das das irgendwie mit "Queue" gehen sollte. Leider habe ich noch nicht das passende für mich gefunden um den Code zum teil zu übernehmen - darum nun hier "mein kleiner hilfeschrei"