Меню в RPi Python выбери и запусти два подпроцесса и убей его - PullRequest
0 голосов
/ 04 июня 2019

RPi + Python3.Мне нужно меню с 4 вариантами.Когда опция 'AA' -> blink_LED33, опция 'BB' -> blink_LED35, опция 'CC' -> stop_blink _LED33, опция 'DD' -> stop_blink_LED35

Мне нужен цикл while в blinkLED33.py и blinkLED35.py

blinkLED33.py

import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
GPIO.setup(33, GPIO.OUT, initial=GPIO.LOW)
while True:
 GPIO.output(33, GPIO.HIGH)
 print("ON_33.")
 sleep(1)
 GPIO.output(33, GPIO.LOW)
 print("OFF_33.")
 sleep(1)

blinkLED35.py

import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
GPIO.setup(35, GPIO.OUT, initial=GPIO.LOW)
while True:
 GPIO.output(35, GPIO.HIGH)
 print("ON_35.")
 sleep(1)
 GPIO.output(35, GPIO.LOW)
 print("OFF_33.")
 sleep(1)

menu.py

import sys
import time
import subprocess
import os
(...)

class My_Keyboard:
(...)


if __name__ == "__main__":
(...)

            if clickkey == 'AA':
              #exec(open("blinkLED33.py").read());
              #subprocess.run(["blinkLED33.py"])
              #os.system('python  blinkLED33.py')
              p1 = subprocess.Popen(['python', 'blinkLED33.py'])

            if clickkey == 'BB':
              #exec(open("blinkLED35.py").read());
              #subprocess.run(["blinkLED35.py"])
              #os.system('python  blinkLED35.py')
              p2 = subprocess.Popen(['python', 'blinkLED35.py'])

            if clickkey == 'CC':
            p1.terminate()

            if clickkey == 'DD':
            p2.terminate()

(...)

1 Ответ

0 голосов
/ 05 июня 2019

Исправлено.

Изменение python для python3.

 p1 = subprocess.Popen(['python3', 'blinkLED33.py'])

 p2 = subprocess.Popen(['python3', 'blinkLED35.py'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...