2026년 4월 7일 화요일

[Fluid Ardule] 라즈베리파이 ↔ PC UART 직렬 통신(serial communication)에 성공하다

유·무선 LAN을 전혀 사용하지 않고도 Fluid Ardule의 라즈베리파이와 PC를 서로 연결하는 가장 간단한 방법은 UART 직렬 통신을 사용하는 것이다. 이를 위해서는 아주 간단한 하드웨어와 선 3개면 충분하다. 아래 이미지에 보인 USB to TTL 컨버터 모듈을 구입하여 TX와 RX를 교차 연결하고, 추가적으로 GND를 서로 이으면 된다. 다시 말해서 라즈베리파이의 40핀 GPIO 헤더에서 연달아 있는 6번(GND), 8번(TX), 10번(RX)을 사용하면 된다는 뜻이다.

Silicon Labs라는 회사의 "Classic USB to UART Bridge" 칩인 CP2102를 사용한 이 어댑터 보드는 총 6가지의 통신 모드를 지원한다. 따라서 구입처의 제품 설명 페이지에서 설정 방법을 확인한 뒤, 이에 맞추어 보드 내 스위치를 올바르게 맞추어야 한다.

USB to TTL 컨버터 모듈
출처: 파츠-파츠

두 개의 스위치를 이용하여 USB to TTL 모드로 설정하고, 여기에서 Windows용 CP210x 드라이버를 다운로드하여 설치한다. 다음 사진은 아직 스위치를 제대로 설정하지 않은 상태이다.

컨버터 모듈 사진 1
어댑터 보드는 세척이 좀 필요한 상태이다. 총 12개의 핀이 달려 있다. 

컨버터 모듈 사진 2
COM5로 지정되었다.

라즈베리파이에서는 /boot/firmware/config.txt 파일에 enable_uart=1을 추가한다. 이어서 raspi-config를 실행하여 5번 "Interfacing Options"로 들어간 다음, Serial 관련 질문에서 login shell로 사용할 것이냐는 항목과 serial port hardware 사용 여부를 차례로 설정한 뒤 안내에 따라 재부팅한다.

다음으로 PuTTY에서 COM 포트 번호를 지정하고 속도는 115200으로 설정한다. 이 어댑터를 사용하여 두 기기를 연결한 뒤, PuTTY 창을 연 상태에서 라즈베리파이를 부팅하면 마치 모니터가 연결된 것처럼 각종 메시지가 주르르 올라가다가 로그인 프롬프트가 뜰 것이다. 만약 부팅이 끝난 뒤에 연결하면 PuTTY 화면에 아무것도 나타나지 않아 당황할 수 있다. 이때 엔터를 한 번 치면 친숙한 "Fluidule login:" 프롬프트가 나타난다.

다음 글에서는 PCM5102(데이터시트)를 이용한 I2S DAC를 작동시키느라 고생했던 이야기를 적을 예정이다. 아무 설명 없이 AliExpress에서 파는 '반제품'에는 주의할 필요가 있다. 핀 헤더 납땜은 물론이고, 다섯 곳의 패드를 서로 이어 주는 납땜까지 해야 제대로 작동하기 때문이다.

이런 사실은 ChatGPT가 전혀 알려주지 않았다. 오직 검색을 통해서 찾을 수 있었고, 그것 또한 무척 오래 전에 이미 공개된 지식이었다. 심지어 활용 요령을 설명한 유튜브 영상(6년 전)까지 있었으니 말이다.

라즈베리파이용 PCM5102A I2S DAC
라즈베리파이용 PCM5102A I2S DAC.

댓글 없음: