Odroid 보드에서 Python Serial 이용 방법
Odroid 보드에서 Serial 포트를 사용하여 통신하는 방법을 알아보자
위 그림과 같이 Odroid 보드는 2개의 UART 및 1개의 USB 포트로 각각 외부와 케이블로 연결되어 있다.
- USB-OTG 포트의 경우 외부와 USB로 연결
USB 포트이지만 UART Serial 통신으로 변환하여 사용 - UART 포트의 경우 USB-UART 케이블로 PC 터미널 로그 용도로 연결
이 부분은 실제 동작과 무관한 디버깅 목적의 포트 - UART 포트는 USB-UART 케이블로 외부 제어 보드와 연결
UART Serial로의 변환
USB-OTG 포트를 포함한 모든 포트를 UART Serial 로 동작 시키는 방법은
Odroid 보드는 Linux 기반에서 동작하기 때문에 모든 포트는 Linux Device Driver의 File Descriptor를 알아야 사용이 가능하다. Linux 기반의 HW 포트를 사용하는 장치는 통상 Linux File System /dev/ 경로에서 찾을 수 있다.
UART, USB 포트와 장치간의 관계는 다음과 같다.
따라서 장치를 사용하기 위해서는 알아야 하는 file descriptor 이름은 아래와 같이
- USB-OTG 포트는 /dev/ttyGS0를 사용한다.
- UART 포트는 /dev/ttyS0를 사용한다.
- UART 포트는 /dev/ttyS2를 사용한다.
Odroid HW의 UART2
이후 Python 어플리케이션은 User Space에서 동작 하므로 권한을 얻어야 한다.
-
ttyGS0의 권한을 얻는 방법은 아래와 같다. 하지만 이 경우는 USB 포트 이므로 UART로 사용하기 위해서는 Serial로 사용하기 위한 별도의 명령이 선행되어야 한다.
# change USB-OTG to serial port sudoPassword = 'odroid' command = 'modprobe g_serial' os.system('echo %s|sudo -S %s' % (sudoPassword, command)) # need permission to open sudoPassword = 'odroid' command = 'chmod 777 /dev/ttyGS0' ret = os.system('echo %s|sudo -S %s' % (sudoPassword, command))
-
ttyS0의 권한을 얻는 방법은
# need permission to open sudoPassword = 'odroid' command = 'chmod 777 /dev/ttyS0' os.system('echo %s|sudo -S %s' % (sudoPassword, command))
-
ttyS2는 위 ttyS0와 동일하다.
이후부터는 일반적은 Serial 통신처럼 사용하면 된다.
Author And Source
이 문제에 관하여(Odroid 보드에서 Python Serial 이용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zhemdrawer/Odroid-보드에서-Python-Serial-이용-방법저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)