read_serial.py 732 B

12345678910111213141516171819202122232425
  1. import serial
  2. import io
  3. import time
  4. class my_serial():
  5. def __init__(self, port, baud_rate):
  6. self.serial = serial.Serial(port, baud_rate, timeout=1)
  7. self.serial_io_wrapped = io.TextIOWrapper(io.BufferedRWPair(self.serial, self.serial))
  8. # receive message via serial
  9. def read(self):
  10. read_out = None
  11. timeout = time.time() + 0.1
  12. while ((self.serial.in_waiting > 0) and (timeout > time.time())):
  13. pass
  14. if self.serial.in_waiting > 0:
  15. read_out = self.serial_io_wrapped.readline()
  16. return read_out
  17. ser = my_serial('/dev/ttyUSB0', 9600)
  18. while True:
  19. incomingMessage = ser.read()
  20. if incomingMessage is not None:
  21. print(incomingMessage)