1. 파이시리얼(pyserial) : 파이썬 시리얼통신 모듈
먼저 pyserial을 소개하도록 하겠다. pyserial은 시리얼 통신을 하기 위한 파이썬 모듈이다. 만약 winPython 을 사용한다면 pyserial 이 기본으로 설치되어 있다. ( 처음에는 이 사실도 모르다가 따로 설치를 해야 하겠거니 짐작하고 한참을 헤맸었다. ) 따라서 바로 import 하면 사용할 수 있다. 주의할 점은 모듈명은 pyserial이 아니라 그냥 serial 이라는 것이다.
>>> import serial
|
일단 아두이노를 연결하면 윈도우 장치관리자에서 COM포트 번호를 확인할 수 있다. 아두이노 우노를 연결하고 내 컴퓨터의 예를 보면 아래와 같이 'COM22'번으로 잡혀있다.
먼저 시리얼 통신 객체를 생성하여야하는데 serial 모듈에 있는 Serial 클래스 (즉, serial.Serial 클래스이다.)를 이용하면 된다. 생성자의 정의는 다음과 같다.
class serial.Serial__init__(port=None,baudrate=9600,bytesize=EIGHTBITS,parity=PARITY_NONE,stopbits=STOPBITS_ONE,timeout=None,xonxoff=False,rtscts=False,writeTimeout=None,dsrdtr=False,interCharTimeout=None) |
입력 인수들:
- port - 장치명. 윈도우즈에서는 'COM0', 'COM1' 등이다.
- baudrate - 보레이트(baud rate) 예를 들면 9600, 115200 등.
- parity - 패리티비트. FIVEBITS, SIXBITS, SEVENVITS, EIGHTBITS 등이 가능하다.
- stopbit - 정지비트. STOPBITS_ONE , STOPBITS_ONE_POINT_FIVE , STOPBITS_TWO 등이 가능하다.
- timeout - 수신 시간 제한 설정
- xonxoff - 소프트웨어 흐름 제어를 설정
- rtscts - 하드웨어(RTS/CTS) 흐름 제어 설정
- dsrdtr - 하드웨어(DSR/DTR) 흐름 제어 설정
- writeTimeout - 송신 시간 제한 설정
- interCharTimeout
예외 발생
- ValueError - 입력 변수값에 오류가 있을 경우 발생
- SerialException - 시리얼 통신 장치에 오류가 있을 경우 발생
이것을 보면 포트 정도만 지정해 주어도 기본적으로 생성이 되는 것을 알 수 있다. 포트는 'COM22'와 같이 문자열로 넘겨주어야 한다. 포트명을 특정해 주면 즉시 장치와 연결이 open된다. 시리얼통신 장치를 다 사용하였다면 obj.close() 를 호출하여 반드시 닫아주어야 한다.
댓글 없음:
댓글 쓰기