Regela icon

SerialButton Python

Regela | PRO | 07/05/19 08:25:45 PM UTC | 0 ⭐ | 315 👁️ | Never ⏰ | []
Python |

1.23 KB

|

None

|

0 👍

/

0 👎

#!/usr/bin/python
 
import serial
import serial.tools.list_ports
import subprocess
import os, random
 
ser = None
 
filesDir = "/home/missiriss/Изображения"
lastFile = ""
 
def open_port():
    global ser
    ports = list(serial.tools.list_ports.comports())
    if(len(ports) > 0):
        try:
            ser = serial.Serial(ports[0].device)
        except:
            ser = None
            return False
        return True
    else:
        ser = None
        return False
 
def wait_command():
    global ser
    while ser is None:
        open_port()
    try:
        response = ser.readline()
    except :
        ser = None
        return wait_command()
    return response.decode("utf-8")[0]
 
def random_file():
    global lastFile
    list = os.listdir(filesDir)
    if len(list) == 0:
        return ""
    if len(list) == 1:
        return list[0]
    file = random.choice(list)
    while file == lastFile:
        file = random.choice(os.listdir(filesDir))
    lastFile = file
    return file
 
 
while True:
    cmd = wait_command()
    if(cmd == '1'):
        subprocess.run(["echo", random_file()])
    elif(cmd == '2'):
        subprocess.run(["echo", "2" , "multy_args"])
    else:
        print('XZ')

Comments