Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. import sys
  2. import serial
  3. import time
  4. from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QTextEdit
  5. from PyQt5.QtWidgets import QLineEdit, QPushButton, QVBoxLayout, QGridLayout
  6. from PyQt5 import QtCore, QtGui
  7. from PyQt5.QtGui import *
  8. from PyQt5.QtWidgets import *
  9. from PyQt5.QtCore import *
  10.  
  11. class Main(QMainWindow):
  12. def __init__(self, parent = None):
  13. QMainWindow.__init__(self, parent)
  14. self.resize(250, 350)
  15. self.setWindowTitle('Serial Reader')
  16.  
  17. self.ser = serial.Serial(
  18. port='/dev/ttyUSB0',
  19. baudrate = 9600,
  20. parity=serial.PARITY_NONE,
  21. stopbits=serial.STOPBITS_ONE,
  22. bytesize=serial.EIGHTBITS,
  23. timeout=1
  24. )
  25.  
  26. self.button = QPushButton('Send data - ', self)
  27. self.button.clicked.connect(self.handleBtn)
  28.  
  29. self.textEdit = QTextEdit(self)
  30. self.textEdit.resize(250, 300)
  31.  
  32. self.lineEdit = QLineEdit(self)
  33. self.lineEdit.resize(150, 30)
  34. self.lineEdit.move(100, 320)
  35. self.button.move(0, 320)
  36.  
  37. self.timer = QTimer()
  38. self.timer.setInterval(1)
  39. self.timer.timeout.connect(self.recurring_timer)
  40. self.timer.start()
  41.  
  42. def handleBtn(self):
  43. data = self.lineEdit.text() + '\n'
  44. self.ser.write(data.encode())
  45. content = self.textEdit.toPlainText() + '----------------------------------\n'
  46. self.textEdit.setText(content)
  47. print(data.encode())
  48.  
  49. def recurring_timer(self):
  50. if self.ser.inWaiting():
  51. x=self.ser.readline()
  52. content = self.textEdit.toPlainText() + x.decode()
  53. self.textEdit.setText(content)
  54. self.textEdit.verticalScrollBar().setValue(self.textEdit.verticalScrollBar().maximum());
  55.  
  56. if __name__ == '__main__':
  57.  
  58. app = QApplication(sys.argv)
  59.  
  60. window = Main()
  61. window.show()
  62.  
  63. sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement