라즈베리파이4 라즈비안 hdmi 다루기
* 배경
알아본 것을 정리하고 싶었습니다. 라즈베리파이로 작은 hdmi 기기를 만들때 도움이 되는 부분일 수 있는데, 외국 사이트에서 어렵게 알아야 하더라구요.
* vcgencmd 이용해서 다루기
- hdmi 신호 끄기 : 아래 명령어를 이용하면 화면이 꺼지고, 모니터도 신호가 없다는 메시지가 나오고 잠시 후 모니터도 전원이 나갑니다.(절전모드로 진입하는 것 같아요. 조심하세요. 아무 준비없이 바로 명령어를 누르면 다시 해결하기가 힘드실 거에요. vnc로 접속해서 다음 명령어를 입력해서 다시 켜집니다. ctrl+alt+펑션키로 콘솔로 접속하는 방법도 안됩니다. )
vcgencmd display_power 0
- hdmi 신호 켜기 : 아래 명령어를 실행하면 다시 모니터에 신호가 들어가게 됩니다.vnc 로 다시 접속해서 이 명령어를 터미널로 입력하시면 되겠습니다.
vcgencmd display_power 1
(출처 : https://www.raspberrypi.org/documentation/raspbian/applications/vcgencmd.md)
* cec-client 이용해서 다루기
- 리눅스 hdmi 유틸리티 설치 : 먼저 아래 명령어를 터미널에서 실행해서 cec-utils 를 설치합니다.
sudo apt install cec-utils
- 연결된 티비의 외부입력 변경/전환 :
티비에 외부입력이 hdmi가 4개 포트가 있는 제 컴퓨터에서 아래와 같은 명령어를 입력하면 4번째 hdmi 외부입력으로 전환이 됩니다. "40"이라고 하면 4번 외부 입력이 가능하고요. "10"은 1번, "20"은 2번, "30"은 3번이 되네요.
echo 'tx 4f:82:40:00' | cec-client -s -d 1
그리고 "-s" 옵션을 붙이면 1개 명령어만 실행하고 종료가 됩니다. 입력 대기 상태가 되는게 아니라 터미널에서 다음 명령어를 받는 프롬프트가 실행이 됩니다. 그리고 "-d 1" 옵션을 붙이면 많은 로그가 생략되고 간단히 1줄의 출력결과만 나오게 됩니다. 별 다른 차이는 없습니다.
- 연결된 티비의 전원 끄기 :
echo 'standby 0' | cec-client -s -d 1
- 연결된 티비의 전원 켜기
echo 'on 0' | cec-client -s -d 1
- 연결된 티비의 hdmi 외부입력 연결 상태 보기 : 라즈베리파이가 연결된 TV의 hdmi 외부입력의 상태를 알 수 있습니다. 위에서 본 외부입력 변경/전환시에 사용할 수 있는 번호를 알 수 있구요. 해당 hdmi 기기의 전원 상태 등을 알 수가 있습니다.
echo 'scan' | cec-client -s -d 1
* 비디오 설정 관련 hdmi 다루기
- 티비 전원 끄기 : 아래 명령어로 하시고, 갑자기 화면이 꺼지니 미리 vnc 등으로 접속할 수 있게 만들어 두시고 실행하세요.
tvservice -o
- 티비 전원 끄기 : 아래 명령어로 하시고, 갑자기 화면이 꺼지니 미리 vnc 등으로 접속할 수 있게 만들어 두시고 실행하세요.
tvservice -p
- 이 부분은 설정과 명령어를 통한 복잡하고 세밀한 내용들이 많이 있습니다. 저의 부족함으로는 다 알지는 못 하겠고, 계속 재부팅하고 확인할게 많아서 출처만 삽입하고 자세한 내용은 생략하겠습니다. 해당 페이지로 가셔서 hdmi 로 찾으시면 굉장히 많은 내용이 있습니다. 어렵네요.
(출처: https://www.raspberrypi.org/documentation/configuration/config-txt/video.md)