728x90
시리얼 포트 열어서 데이터 읽기 쓰기
- While로 루프돌면서 읽기 있을 때마다 데이터 찍기
- 데이터 쓸 때는 ser.write로 작성
import serial
ser = serial.Serial(
port=SerialPort,
baudrate=int(SerialBaudRate),
parity=serial.PARITY_ODD,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=0)
ser.write(binascii.unhexlify(datas)) # 시리얼 쓰기(입력)
if ser.readable(): # 시리얼 읽기
res = ser.readline()
print(res.decode()[:len(res) - 1])
사용가능한 시리얼 포트 검색
- 사용 가능한 시리얼 포트 검색 소스
@staticmethod
def serial_ports():
""" Lists serial port names
:raises EnvironmentError:
On unsupported or unknown platforms
:returns:
A list of the serial ports available on the system
"""
if sys.platform.startswith('win'):
ports = ['COM%s' % (i + 1) for i in range(256)]
elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
# this excludes your current terminal "/dev/tty"
ports = glob.glob('/dev/tty[A-Za-z]*')
elif sys.platform.startswith('darwin'):
ports = glob.glob('/dev/tty.*')
else:
raise EnvironmentError('Unsupported platform')
result = []
for port in ports:
try:
s = serial.Serial(port)
s.close()
result.append(port)
except (OSError, serial.SerialException):
pass
return result
리눅스 결과 (라즈비안)
윈도우 결과 (윈도우 10)
728x90
'IT > Python' 카테고리의 다른 글
[파이썬] pyCharm에서 pip로 라이브러리 연결하기 (0) | 2021.02.24 |
---|---|
[Python] matplotlib으로 그래프 그리기 (0) | 2021.02.02 |
[Python] MQTT 통신 (0) | 2021.02.02 |
[Python] QT Dialog 간 데이터 전달 (0) | 2021.02.02 |
[Python] 현재 시간 출력 (0) | 2021.02.01 |
댓글