Regela

SerialButton Python

Jul 5th, 2019
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import serial
  4. import serial.tools.list_ports
  5. import subprocess
  6. import os, random
  7.  
  8. ser = None
  9.  
  10. filesDir = "/home/missiriss/Изображения"
  11. lastFile = ""
  12.  
  13. def open_port():
  14.     global ser
  15.     ports = list(serial.tools.list_ports.comports())
  16.     if(len(ports) > 0):
  17.         try:
  18.             ser = serial.Serial(ports[0].device)
  19.         except:
  20.             ser = None
  21.             return False
  22.         return True
  23.     else:
  24.         ser = None
  25.         return False
  26.  
  27. def wait_command():
  28.     global ser
  29.     while ser is None:
  30.         open_port()
  31.     try:
  32.         response = ser.readline()
  33.     except :
  34.         ser = None
  35.         return wait_command()
  36.     return response.decode("utf-8")[0]
  37.  
  38. def random_file():
  39.     global lastFile
  40.     list = os.listdir(filesDir)
  41.     if len(list) == 0:
  42.         return ""
  43.     if len(list) == 1:
  44.         return list[0]
  45.     file = random.choice(list)
  46.     while file == lastFile:
  47.         file = random.choice(os.listdir(filesDir))
  48.     lastFile = file
  49.     return file
  50.  
  51.  
  52. while True:
  53.     cmd = wait_command()
  54.     if(cmd == '1'):
  55.         subprocess.run(["echo", random_file()])
  56.     elif(cmd == '2'):
  57.         subprocess.run(["echo", "2" , "multy_args"])
  58.     else:
  59.         print('XZ')
Advertisement
Add Comment
Please, Sign In to add comment