Odroid 보드에서 Serial 포트를 사용하여 통신하는 방법을 알아보자
위 그림과 같이 Odroid 보드는 2개의 UART 및 1개의 USB 포트로 각각 외부와 케이블로 연결되어 있다.
USB-OTG 포트를 포함한 모든 포트를 UART Serial 로 동작 시키는 방법은
Odroid 보드는 Linux 기반에서 동작하기 때문에 모든 포트는 Linux Device Driver의 File Descriptor를 알아야 사용이 가능하다. Linux 기반의 HW 포트를 사용하는 장치는 통상 Linux File System /dev/ 경로에서 찾을 수 있다.
UART, USB 포트와 장치간의 관계는 다음과 같다.
따라서 장치를 사용하기 위해서는 알아야 하는 file descriptor 이름은 아래와 같이
이후 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 통신처럼 사용하면 된다.