python으로 arduino와 통신하기

아두이노와 블루투스 모듈간 시리얼 통신 도식화

가운데 두 선 ; 데이터 전송을 위한 선, TX(transmit)와 RX(receive)간의 연결

기본 시리얼 핀(빨간색)/ 시리얼 to USB 컨버터(노란색)

기본 시리얼(하드웨어시리얼) ; 보드 내장 회로를 통해 컴퓨터와 연결되는 역할, 특별한 경우 제외하고 다른 모듈 연결하지 말 것

컴퓨터는 USB 통신 규격을 사용하기 때문에 시리얼을 USB로 변환해줘야 함 -> 컨버터 내장되어 있음

다른 모듈과의 시리얼 통신은 SoftwareSerial 함수를 이용해 일반 핀을 시리얼 핀으로 이용할 수 있음

SoftwareSerial 사용 방법 : http://blog.naver.com/jamduino/220825414825

시리얼 통신을 하기 위한 파이썬 모듈/ winPython은 이것이 기본으로 설치되어 있음

import serial 하면 사용 가능 (모듈명은 pyserial이 아니라 그냥 serial)

시리얼 통신 객체 생성은 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
)

출처: https://studymake.tistory.com/79?category=645699 [스터디메이크]

  • 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 – 시리얼 통신 장치에 오류가 있을 경우 발생

포트만 지정해도 기본적으로 생성, 시리얼 통신 장치를 다 사용하였으면 obj.close() 호출하여 닫아줄 것.

광고

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중