라즈베리파이 시스템 온도(발열) 확인
Updated:
라즈베리파이 시스템 온도를 확인하는 방법입니다. 라즈베리파이의 온도를 모니터링하여 발열이 높은 상태일 때 쿨링 팬을 동작시키는 등의 응용도 가능합니다.
1. 라즈베리파이 온도 확인 방법
1.1. CPU 온도
아래와같이 커널의 thermal 노드를 읽어서 간단히 CPU 온도를 확인할 수 있습니다. 결과값은 1000을 나누면 섭씨 온도가 됩니다.
#!/bin/bash
pi@raspberrypi:~ $ cat /sys/class/thermal/thermal_zone0/temp
46160
1.1. GPU 온도
아래와같이 vcgencmd를 사용하여 GPU 온도를 읽을 수 있습니다. vcgencmd는 Video Core Genrate Command 라는 툴입니다. Broadcom SOC의 VC4에 커맨드를 전달하는 인터페이스를 제공합니다.
vegencmd에 measure_temp 커맨드를 전달하면 GPU 온도를 얻어 올 수 있습니다.
#!/bin/bash
pi@raspberrypi:~ $ /opt/vc/bin/vcgencmd measure_temp
temp=46.2'C
2. 라즈베리파이 온도 확인 스크립트
CPU와 GPU 온도를 확인하는 커맨드를 간단히 조합해서 시스템 온도를 확인하는 스크립트를 작성하였습니다. 스크립트를 실행하면 아래와같은 포맷을 온도를 출력합니다.
#!/bin/bash
pi@raspberrypi:~ $ get_temp_CPU_and_GPU.sh
2018-10-04 06:51 Temperature CPU : 46.1'C, GPU : 46.2'C
아래 get_temp_CPU_and_GPU.sh 스크립트 파일을 참고하세요.
#!/bin/bash
cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
cpuTemp1=$(($cpuTemp0/1000))
cpuTemp2=$(($cpuTemp0/100))
cpuTempM=$(($cpuTemp2 % $cpuTemp1))
gpuTemp0=$(/opt/vc/bin/vcgencmd measure_temp)
gpuTemp0=${gpuTemp0}
gpuTemp0=${gpuTemp0//temp=/}
echo $(date "+%Y-%m-%d %H:%M") Temperature CPU : $cpuTemp1"."$cpuTempM"'C, GPU : "$gpuTemp0
get_temp_CPU_and_GPU.sh 스크립트 파일을 cron에 등록하여 주기적으로 온도 로그를 남기거나 온도 결과를 쿨링 팬 동작시키는데 사용할 수 있습니다.
더 많은 라즈베리파이 이야기 Pi Guide 보러가기
Leave a Comment