안녕하세요. 도정진입니다.
시끄러운 팬 컨트롤 때문에 따로 스크립트를 만들어 보았습니다.
Odroid XU Fan Control Script.
1. 확인 사살!
터미널에 아래의 명령어를 칩니다.
echo 0 > /sys/bus/platform/devices/odroidxu-fan/fan_mode |
이는 자동으로 되어있는 팬 컨트롤 모드를 수동으로 설정하는 것입니다.
그리고 다음으로
echo 255 > /sys/bus/platform/devices/odroidxu-fan/pwm_duty |
이런 명령어를 쳐 봅니다. 그럼 0~255 값에 따라 팬 속도가 변화함을 알 수 있습니다.
마지막으로 CPU 온도를 읽어봐야겠죠?
nano /sys/devices/virtual/thermal/thermal_zone0/temp |
이렇게 쳐 봅니다.
이렇게 온도값이 나옴을 알 수 있습니다. 지금 온도는 90도네요.
그럼 확인사살은 끝났습니다.
2. 코드 작성하기
|
쉘스크립트의 이해가 부족한 상태에서 작성한 것이라 약간 꼴이 좋지 않을 수도 있습니다.
먼저 팬 속도를 수동으로 하기 위한 첫번째 줄.
그 다음 TEMP 변수에 저 위치를 저장합니다.
while 문은 true 값으로 계속 실행이 됩니다. 그리고 P 변수에 온도값을 저장하고 if 문으로 비교를 합니다.
(주의!!! 참고로 if 문 참거짓 문장은 [ () ] 뛰어쓰기가 되어야합니다. 양쪽으로.
[ $P -gt 90000 ] |
이것 때문에 개고생 했네요. 참고로 변수도 = 부근에 뛰어쓰기가 없어야합니다.
if문이 시작되면 끝날때는 fi 로 닫아줘야 합니다.
이렇게 시행착오를 겪어온 결과 아래처럼 코드를 완성하였습니다
#!/bin/bash echo 0 > /sys/bus/platform/devices/odroidxu-fan/fan_mode
TEMP="/sys/devices/virtual/thermal/thermal_zone0/temp"
while true; do P=`cat $TEMP` if [ $P -gt 90000 ];then echo 255 > /sys/bus/platform/devices/odroidxu-fan/pwm_duty else echo 50 > /sys/bus/platform/devices/odroidxu-fan/pwm_duty fi
sleep 5
done |
if 문의 90000은 90도에서 팬 속도를 255로 조절한다는 뜻이고 아닐때에는 50으로 PWM 을 준다는 소리입니다. 실제로 50 정도가 부드럽고 소음없이 돌아가는 제일 최적화된 값인듯 합니다. 실제로 그냥 사용시 90도를 거의 넘길 일이 없습니다.
3. 만든 스크립트 테스트!
저는 odroid-fan 이라고 저장을 하였습니다.
chmod +x odroid-fan |
이라고 입력하여 실행할 수 있는 권한을 줍니다.
그 다음
./odroid-fan |
이라고 입력하여 실행을 해 보았습니다. 실행을 멈추려면 Ctrl + C 를 누르시면 됩니다.
그럼 일부러 CPU 온도를 90도까지 올려야 될텐데.. 방법이 cpuburn 패키지가 생각이 났습니다.
apt-get install cpuburn |
으로 간단히 설치가 가능하고 CPU 갯수에 따라 실행 갯수를 정하실 수 있습니다. 오드로이드의 경우 4코어 임으로 아래처럼 4개 프로세스를 실행시켰습니다.
burnCortexA9 & burnCortexA9 & burnCortexA9 & burnCortexA9 |
끝내실때는 마찬가지로 컨트롤 C 하시면 됩니다.
위 명령들은 한 터미널 창에서 실행이 불가능함으로 (실제로 & 명령어로 계속 실행은 가능합니다만 3개를 열어주세요)
하나는 ./odroid-fan 실행용, cpuburn 실행용, htop 으로 CPU 사용량 보는용 ㅎㅎ
실제로 CPU가 이렇게 가득 찼습니다.
으어 암걸리겠네요 ㅎㅎ
그리고 온도값을 잠시 확인해 주면 ㅎ 90도가 넘으면 작동이 됩니다 ㅎ
cpuburn 을 실행시켜놓고 스크립트 만들다가 오드로이드 죽을 뻔했네요 ㅠㅠ
4. 시작할 떄 자동실행!
nano /etc/rc.local |
로 들어가셔서 아래처럼 수정을 해줍니다. ~ 란 자신의 홈디렉터리를 말하고 스크립트 파일이 다른곳에 있으면 경로 지정을 해주세요 ㅎㅎ
감사합니다 ㅎㅎ
'서버 > 리눅스 서버' 카테고리의 다른 글
14. 우분투 , 리눅스 XBMC 설치하기 (2) | 2015.01.09 |
---|---|
[오드로이드XU] 기가비트 최고속도 뽑기 (5) | 2014.12.20 |
[TEST] 오드로이드 XU , TVHeadend 서버 설치 (0) | 2014.12.09 |
#2 SATA 디스크 마운트 BPI-R1 (0) | 2014.11.27 |
#1 BPI-R1 의 첫사용기.. (0) | 2014.11.21 |
댓글