본문 바로가기
Python

Python코드로 USB 시리얼(Serial) 통신하기(Windows)

by 고체물리학 2021. 8. 4.

PC에 연결한 USB 통신 케이블이 포트 몇번인지 확인한다

내 PC - 관리 -  장치관리자 - 포트

내 컴퓨터는 COM3으로 인식하고 있다

 

import serial
import threading
import time

port = "COM3" #PC에 연결된 포트명
baud = 115200  # 시리얼 보드레이트(통신속도)
ser = serial.Serial(port, baud, timeout=1)

def main():
    thread = threading.Thread(target=readthread, args=(ser,)) #시리얼 통신 받는 부분
    thread.start()

    while True:
        data = '보낼데이터(byte형식으로 보내야함 byte,str.encode())'
        ser.write(data)
        time.sleep(1)
        
def readthread(ser): #데이터 받는 함수
    # 쓰레드 종료될때까지 계속 돌림
    while True: #True 조건일대 쓰레드가 실행(원하는 조건문 변환해서 쓰세여)
        if ser.readable(): #값이 들어왔는지 확인
            res = ser.readline() #값을 줄로 받음(byte형식)
            print(res) #byte형식


    ser.close()
    
main() #메인문 실행

 

이렇게 짜면 데이터를 받을 수 있다

만약 데이터를 받을 센서나 rfid가 없다면 loopback 으로 tx rx 선을 연결하여 보낸 데이터를 받는 데이터로 확인 하는 방법도 있다

반응형

댓글