Нужна помощь с тем, как изменить / исправить код, чтобы я мог контролировать, что происходит в процессе.Я осмотрелся и прочитал, что мне нужно либо создать глобальную переменную, которую процесс может прочитать, либо использовать функцию события для запуска процесса.Проблема в том, что я не знаю, как реализовать их в функции класса.Я подумал, что если бы я следовал pyimagesearch code , это бы сработало, но похоже, что оно работает только с модулем потоков, а не с многопроцессорным модулем.
import RPi.GPIO as GPIO
from RPI.GPIO import LOW,OUT,HIGH,BCM
import multiprocessing as mp
import time
class TestClass():
def __init__(self,PinOne=22,PinTwo=27):
self.PinOne = PinOne
self.PinTwo = PinTwo
self.RunningSys = True
GPIO.setmode(BCM)
GPIO.setup(PinOne,OUT)
GPIO.output(PinOne,LOW)
GPIO.setup(PinTwo,OUT)
GPIO.output(PinTwo,LOW)
def Testloop(self):
while self.RunningSys:
GPIO.output(PinOne,HIGH)
GPIO.output(PinTwo,HIGH)
time.sleep(1)
GPIO.output(PinOne,LOW)
GPIO.output(PinTwo,LOW)
GPIO.output(PinOne,LOW)
GPIO.output(PinTwo,LOW)
def StopPr(self):
self.RunningSys = False
def MProc(self):
MPGP = mp.process(target=TestClass().Testloop())
MPGP.start()
MPGP.join()
В отдельном скрипте
From testfile import TestClass
import time
TestClass().MProc()
time.sleep(4)
TestClass().StopPr()