https://tre2man.tistory.com/203
위 포스팅에서 시리얼 통신에 대해서 설명을 했었다. 그렇다면, 파이썬에서 시리얼 통신(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
계속해서 100이 출력되는 것을 알 수 있다. 이를 이용해서 여러가지 프로젝트에 활용이 가능하다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
urllib SSL: CERTIFICATE_VERIFY_FAILED 에러 해결하기 (0) | 2021.09.16 |
---|---|
파이썬 문자열 관련 함수 정리하기 (0) | 2021.05.02 |
파이썬과 Firebase 연동하기 (2) | 2020.07.23 |
파이썬으로 일정한 시간마다 동작 수행하기 (0) | 2020.07.10 |
파이썬 개발환경 설정하기 (2) | 2020.06.29 |