Guest User

Untitled

a guest
Feb 25th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #!/usr/bin/python3
  2. import sys
  3. import time
  4. from PyQt5 import QtWidgets, QtCore, QtSerialPort
  5.  
  6.  
  7. class Main(QtWidgets.QMainWindow):
  8. def __init__(self):
  9. super().__init__()
  10. self.serial = Serial()
  11. print("Currently available ports: %s" % self.serial.ports())
  12. self.serial.connect("/dev/ttyUSB0", 9600)
  13. #self.serial.send("tvpower\n")
  14.  
  15.  
  16. class Serial(QtSerialPort.QSerialPort):
  17. def __init__(self):
  18. super().__init__()
  19. self.readyRead.connect(self.read)
  20.  
  21. def ports(self):
  22. available = []
  23. for port in QtSerialPort.QSerialPortInfo.availablePorts():
  24. available.append(port.systemLocation())
  25. if available:
  26. available = str(available)
  27. return(available.translate({ord(c): None for c in "[']"}))
  28. return("none")
  29.  
  30. def connect(self, port, baudrate):
  31. self.setPortName(port)
  32. self.setBaudRate(baudrate)
  33. if not self.open(QtCore.QIODevice.ReadWrite):
  34. print("Could not connect to device on port %s" % port)
  35.  
  36. def read(self):
  37. data = self.readLine()
  38. data = bytes(data).decode("utf8")
  39. print(data, end="")
  40.  
  41. def send(self, data):
  42. data = data.encode()
  43. self.write(data)
  44.  
  45. def reset(self):
  46. self.setDataTerminalReady(False)
  47. time.sleep(0.022)
  48. self.setDataTerminalReady(True)
  49.  
  50.  
  51. if __name__ == '__main__':
  52. app = QtWidgets.QApplication([])
  53. daemon = Main()
  54. sys.exit(app.exec_())
Add Comment
Please, Sign In to add comment