프로그래밍 언어/Python

파이썬에서 시리얼 통신 (UART) 하기

트리맨스 2020. 8. 20. 00:58
반응형

 

https://tre2man.tistory.com/203

 

아두이노를 위한 Serial(UART) 통신 알아보기

UART 통신이란? 시리얼 통신은 기기간 통신을 위해 정해놓은 규칙 중의 하나이다. 시리얼 통신은 오랜 기간 사용되어 왔으며, 마이크로프로세서를 다룬다면 알아야 할 지식 중의 하나이다. 시리��

tre2man.tistory.com

위 포스팅에서 시리얼 통신에 대해서 설명을 했었다. 그렇다면, 파이썬에서 시리얼 통신(UART)을 할 수 있는 법은 없을까? 당연히 있다. 파이썬에서 시리얼 통신을 통해 다양한 곳에 사용할 수 있다. 나의 경우에는 Qt와 결합하여 시리얼 통신의 결과를 라즈베리파이로 볼 수 있게 하는 프로젝트를 진행한 적이 있다.

 

파이썬 시리얼 통신의 예로 간단히 아두이노 우노와 통신해 볼 것이다.

 

 

간단히 파이썬에서 시리얼 통신 하기


시리얼 통신을 하기 전에 내 장치가 무엇인지 알아야 한다. 

 

윈도우 PC

검색 -> 장치관리자 -> 포트 -> Arduino UNO가 적혀있는 포트 (예 : COM7) 

 

 

 

리눅스

터미널 -> dmesg | grep tty 입력 -> 자신한테 맞는 USB 장치 확인하기

 

 

참고로, 위에 있는 장치는 라즈베리파이3 b+ 모델이며, 이것의 포트는 'dev/ttyACM0' 으로 잡혀있는 것을 알 수 있다. 라즈베리파이4 의 경우에는 'dev/ttyUSB0' 으로 잡혀 있었다. 장치의 포트 번호를 꼭 확인하자.

 

확인한 이후 아래의 코드를 실행해보자.

 

1
2
3
4
5
6
7
8
9
from serial import Serial
 
ser = Serial('COM9',9600#윈도우
#ser = Serial('dev/ttyACM0',115200) #라즈베리파이
 
while True:
    if ser.readable():
        res = ser.readline()
        print(res.decode()[:len(res)-1])
cs

 

Serial 안에 있는 내용은 포트와 속도이다. 위의 코드에서 'COM9' 라고 적혀 있는 곳이 포트 이름을 입력하는 곳이다. 위에서 찾은 포트 이름을 잘 입력해 주자. 포트와 속도를 잘 맞추고 실행을 시키면, 다음과 같은 결과가 나온다. 코드는 아래의 내용을 붙여 넣었다.

https://tre2man.tistory.com/203

 

아두이노를 위한 Serial(UART) 통신 알아보기

UART 통신이란? 시리얼 통신은 기기간 통신을 위해 정해놓은 규칙 중의 하나이다. 시리얼 통신은 오랜 기간 사용되어 왔으며, 마이크로프로세서를 다룬다면 알아야 할 지식 중의 하나이다. 시리��

tre2man.tistory.com

 

 

계속해서 100이 출력되는 것을 알 수 있다. 이를 이용해서 여러가지 프로젝트에 활용이 가능하다.

 

반응형