im using PIR sensor to find out intruder is present or not. if intruder is present it will go to sleep for 1 min now i have to reset sleep time, for this im using thread but it shows assertion error, help me out, below is my code.
from threading import Thread, Event
import time
import RPi.GPIO as GPIO
class MyThread(Thread):
def __ini(self, timeout=60):
self.intruder_spotted = Event()
self.timeout = timeout
self.daemon = True
def run(self):
while True:
if self.intruder_spotted.wait(self.timeout):
self.intruder_spotted.clear()
print("Intruder")
else:
print("No intruder")
t = MyThread(60)
GPIO.setmode(GPIO.BCM)
GPIO.setup(18,GPIO.IN)
try:
t.start()
while True:
i=GPIO.input(18)
if i==1:
t.intruder_spotted.set()
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
exit(0)
need Update the int of the class my Thread. It's __init__
not __ini. And the call to the parent init with super
class MyThread(Thread):
def__init__(self, timeout=60):
super(MyThread, self).__init__()
self.intruder_spotted = Event()
self.timeout = timeout
self.daemon = True
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.