티스토리 뷰

라즈베리파이 시리얼 설정용 Shell 스크립트

초기 UART통신을 위해 아래와 같이 작업했었다.

sudo raspi-config 3 > I6 > No > Yes > OK > Finish > Reboot Yes

raspi-config를 사용하여 설정하기 귀찮아 스크립트를 생성하였다.

 

 

로그인 비활성화

# 시리얼 포트 로그인 비활성화 (systemd 설정 업데이트)
sudo systemctl disable serial-getty@ttyAMA0.service

 

 

UART 통신 활성화

# UART 통신 활성화 (config.txt에 "enable_uart=1" 추가)
if ! grep -q "^dtparam=uart0=on" /boot/firmware/config.txt; then
  echo "dtparam=uart0=on" | sudo tee -a /boot/firmware/config.txt
fi

참고

enable_uart=1

	•	enable_uart=1은 기본적으로 Raspberry Pi의 UART 통신을 활성화하는 설정입니다.
	•	UART 통신이 필요한 많은 경우에 사용하는 일반적인 설정입니다.
	•	이 설정은 기본 UART 포트를 활성화하고, 관련된 핀(GPIO 14와 15)을 UART 송수신용으로 설정합니다.

dtparam=uart0=on

	•	dtparam=uart0=on는 device tree 파라미터 설정을 통해 특정 UART 인터페이스(uart0)를 켜는 명령입니다.
	•	이 설정을 사용하면 uart0 포트가 활성화됩니다.
	•	Raspberry Pi 4 등의 최신 모델에서는 여러 UART 포트가 있으므로, 특정 포트를 지정하고 싶을 때 사용하기 좋습니다.

어떤 설정을 사용해야 할까?

	•	일반적으로 enable_uart=1만 설정해도 UART를 활성화하는 데 충분합니다.
	•	하지만, 특정한 포트(uart0, uart1 등)를 지정하고 싶다면 dtparam 설정을 추가적으로 사용할 수 있습니다.

예를 들어, Raspberry Pi에서 UART를 활성화하기 위해 config.txt에 다음과 같이 두 설정을 함께 사용할 수도 있습니다:

 

 

시리얼 콘솔 비활성화

# 시리얼 콘솔 비활성화 (cmdline.txt에서 "console=serial0,115200" 제거)
sudo sed -i 's/console=serial0,[0-9]* //g' /boot/firmware/cmdline.txt

 

반응형