AssertionError: аргумент группы должен быть None для Python - PullRequest
0 голосов
/ 09 июня 2018

Я использую ИК-датчик, чтобы определить, присутствует ли злоумышленник или нет.если злоумышленник присутствует, он переходит в спящий режим на 1 мин. Теперь мне нужно сбросить время ожидания, для этого я использую поток, но он показывает ошибку подтверждения, помогите мне, ниже мой код.

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)

1 Ответ

0 голосов
/ 13 июня 2018

Нужно обновить int класса my Thread.Это __init__ не __ini.И вызов родительского init с супер

class MyThread(Thread): 
    def__init__(self, timeout=60):
    super(MyThread, self).__init__()
    self.intruder_spotted = Event()
    self.timeout = timeout
    self.daemon = True
...