라즈베리 파이는 홈 자동화 프로젝트를 구축하는 데 매우 유용 하지만, 종종 간과하기 쉬운 중요한 점이 있습니다. 바로 발열입니다. 기기에 요구하는 작업에 따라 프로세서 온도가 상당히 높아질 수 있으며, 온도를 제대로 관리하지 않으면 시스템이 과열을 방지하기 위해 클럭 속도를 낮추는 '열 스로틀링' 현상을 일으킵니다 . 이로 인해 기기가 평소보다 느리게 작동하게 됩니다.
초기 모델은 성능이 그다지 높지 않았기 때문에 큰 문제가 되지 않았지만, 라즈베리 파이 5 의 등장 으로 상황이 완전히 달라졌습니다. 이제 성능이 크게 향상되어 발열량도 상당히 증가했기 때문에 SoC의 작동 온도를 면밀히 모니터링해야 합니다. 이 글에서는 가장 기본적인 방법부터 고급 솔루션까지, SoC의 온도를 측정하고 제어하는 모든 방법을 살펴보겠습니다.
터미널을 이용한 빠른 측정

복잡한 과정을 피하고 단순히 프로세서의 현재 상태를 알고 싶다면 터미널이 가장 좋은 방법입니다. 이 정보를 얻는 방법은 여러 가지가 있는데, 가장 직접적인 방법 중 하나는 `vcgencmd measure_temp` 명령어를 실행하는 것입니다. 이 명령어 는 즉시 섭씨 온도를 반환합니다.
시스템 파일을 직접 읽으려면 `cat /sys/class/thermal/thermal_zone0/temp` 명령어를 사용할 수 있습니다 . 여기서 중요한 점은 결과가 밀리도 단위로 표시되므로 실제 온도를 얻으려면 값을 1000으로 나누어야 한다는 것입니다. 명령어를 반복해서 입력하지 않고 몇 초마다 자동으로 온도를 업데이트하려면 `watch -n X vcgencmd measure_temp` 명령어를 사용하면 됩니다 . 여기서 `X`는 원하는 측정 간격(초)으로 바꿔야 합니다.
사용자 지정 스크립트를 이용한 자동화

긴 명령어를 자주 잊어버리거나 위쪽 화살표 키로 콘솔 기록을 계속 스크롤하는 것이 불편하다면, 실행 가능한 Bash 스크립트를 만드는 것이 가장 좋은 해결책입니다 . 이렇게 하면 CPU 및 GPU 명령어를 작은 .sh 파일로 묶을 수 있습니다.
이를 위해 nano와 같은 편집기를 사용하여 위에서 언급한 명령의 결과를 저장할 변수를 정의하고 `echo` 명령으로 읽기 쉬운 형식으로 변환합니다. 파일을 저장한 후에는 `chmod +x` 명령을 사용하여 실행 권한을 부여해야 합니다 . 이렇게 하면 시스템의 어느 폴더에서든 단일 명령으로 측정을 실행할 수 있습니다.
시각적 제어 및 그래픽 도구

모든 것을 흰색 배경에 검은색 텍스트로 표시할 필요는 없습니다. 라즈베리 파이 OS 데스크톱 환경을 사용한다면 상단 작업 표시줄 에 온도를 직접 통합할 수 있습니다 . 패널을 마우스 오른쪽 버튼으로 클릭하고 "플러그인 추가/제거" 옵션으로 이동하여 " 온도 모니터" 또는 "CPU 온도 "를 선택하기만 하면 됩니다. 이렇게 하면 작업을 중단하지 않고도 작업 중에 온도 상태를 빠르게 확인할 수 있습니다.
훨씬 더 강력하고 전문적인 도구를 찾고 있다면 Cockpit 이라는 프로그램이 있습니다 . Cockpit은 웹 기반 관리 인터페이스로, 마더보드에 설치하고 로컬 네트워크상의 모든 장치에서 웹 브라우저를 통해 9090번 포트로 접속할 수 있습니다. Cockpit은 실시간 CPU 온도 및 사용량 과 과거 그래프를 보여줄 뿐만 아니라, 단 한 줄의 코드도 작성하지 않고 서비스를 관리하고, 소프트웨어를 업데이트하고, RAM과 저장 장치를 모니터링할 수 있도록 해줍니다.
고급 모니터링 및 클라우드 서비스

프로젝트를 한 단계 더 발전시키고자 하는 사람들을 위해 PiCockpit 과 같은 옵션이 있습니다 . PiCockpit은 칩 성능과 발열을 상세한 그래프로 시각화해주는 PiStats라는 모듈을 제공합니다. 여러 개의 보드를 사용하고 한 곳에서 모니터링을 통합하려는 경우 매우 편리한 솔루션입니다.
OKdo 클라우드와 같은 IoT 플랫폼을 통합하는 더욱 복잡한 구현 방식도 있습니다 . 이러한 경우, 라즈베리 파이는 TCP/IP 프로토콜을 통해 온도 데이터를 클라우드로 전송하고, 파이썬으로 프로그래밍된 원격 디스플레이나 모바일 애플리케이션에서 이 데이터를 확인할 수 있어 전 세계 어디에서든 완벽한 원격 모니터링이 가능합니다.
임계점 및 냉각 팁
언제부터 걱정해야 할까요? 모델마다 차이가 있지만, 일반적으로 Raspberry Pi 3+와 같은 모델에서는 온도가 60°C를 넘으면 열 스로틀링 문제가 발생하기 시작하고, Raspberry Pi 4에서는 그 한계가 80~85°C 정도로 더 높습니다. `vcgencmd get_throttled` 명령어를 사용하면 보드의 성능 저하 여부를 확인할 수 있습니다.
발열량이 너무 높다고 느껴지면, 발열량을 줄이는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 SoC에 알루미늄 또는 아노다이징 처리된 알루미늄 방열판을 설치하는 것입니다. 그것으로 충분하지 않다면, 특히 라즈베리 파이 5에서는 액티브 팬을 사용하는 것이 궁극적인 해결책입니다. 그 외에도 보드를 수직으로 세워 공기 흐름을 개선하거나, 통풍을 방해하는 플라스틱 케이스를 제거하거나, FLIRC 알루미늄 케이스처럼 열 방출을 위해 설계된 케이스를 사용하는 것도 유용한 방법입니다.
빠른 명령, Cockpit과 같은 웹 패널, 또는 클라우드 통합을 통해 열 모니터링을 숙달하는 것은 하드웨어 성능을 안정적이고 일관되게 유지하는 데 필수적입니다. 모니터링 소프트웨어를 팬이나 방열판과 같은 적절한 냉각 장치와 결합하면 Raspberry Pi는 성능 저하나 예기치 않은 속도 저하 없이 과부하 작업을 처리할 수 있습니다.
