제목 에 따라 Pi가 안정적으로 작동하기 전에 Pi 의 최대 및 최소 작동 온도 등급은 얼마입니까? 사용중인 SD 카드에 따라 다를 수 있습니까?
cat
합니다. 모든 리눅스 에서 접근 vcgencmd
이 가능하지만 pi에만 적용됩니다.
제목 에 따라 Pi가 안정적으로 작동하기 전에 Pi 의 최대 및 최소 작동 온도 등급은 얼마입니까? 사용중인 SD 카드에 따라 다를 수 있습니까?
cat
합니다. 모든 리눅스 에서 접근 vcgencmd
이 가능하지만 pi에만 적용됩니다.
답변:
로부터 RPI 자주 묻는 질문 :
사용 가능한 온도 범위는 무엇입니까?
Raspberry Pi는 다양한 온도 범위에 적합한 상용 칩으로 제작됩니다. LAN9512는 0 ° C ~ 70 ° C의 제조업체에서 지정하는 반면 AP는 -40 ° C ~ 85 ° C의 제조업체에서 지정합니다. 보드가 해당 온도를 벗어나 작동 할 수도 있지만 보드 자체를 이러한 극한 조건에 맞출 수는 없습니다.
LAN chip
죽은 온도가보다 낮기 때문에 온도 를 감지하는 방법이 있습니까? 명령이 온도 만보고 할 수 Soc Chip
있다고 생각 합니까? /opt/vc/bin/vcgencmd measure_temp
Soc Chip
이 기사에 따르면 <-70 ° C로 내려갈 것이다 . 액체 질소에 잠길 때 Raspberry Pi가 안정한 것으로 입증되었다 .
Raspberry Pi 3에 대한 나의 경험 : SoC는 약 섭씨 80도에서 스로틀을 시작하며, 내 경험상 절대 섭씨 85 도보 다 더 따뜻해지지 않을 것입니다. 이것은 물론 핵심 온도입니다. 효율적인 열 교환을 위해서는 칩 외부의 온도가 훨씬 낮아야합니다.
SoC를 냉각되지 않은 상태로 두어 SoC를 파괴 할 수는 없지만 성능에 심각한 영향을 미칩니다. (전원 공급 장치 BTW와 동일). 실험실에서는 프레임 드롭과 비디오 처리 기능의 현저한 저하를 감지하기 시작했습니다. 1) 방열판없이 너무 뜨거워졌습니다. 2) 너무 긴 5V 공급 와이어로 인해 전압이 4.6V 아래로 떨어졌습니다.
극단적 인 시나리오의 경우 처리 능력이 먼저 감소하고 다른 문제는 훨씬 나중에 나타날 가능성이 큽니다. 이로 인해 소프트웨어 버그 ( "왜 갑자기 프로그램이 너무 느리게 실행됩니까?!?") 를 찾아 내려고 할 때 막대한 시간 낭비가 발생할 수 있습니다 . !
낮은 경계와 관련하여 모든 구성 요소를 확인해야합니다. 나는 최근에 -12C 추위에서 Raspi3을 부팅했으며 카메라가 작동하지 않았습니다 (처음 몇 주 만에 밤새 온도가 그렇게 낮지 않았습니다). 15 분 동안 기다린 후 재부팅하고 정상적으로 작동하기 시작했습니다.
또한 보드 자체의 네트워킹 / USB 칩은 0C 이하로 평가되지 않는다고 생각합니다. 이러한 극단 값이 필요한 경우 간단히 문제를 제공하지 않고 -20 ~ 80C 범위의 컴퓨팅 모듈 3을 기다리는 것이 좋습니다. 칩 :)
OP의 질문에 정식으로 답변 된 것을 보았지만 여기에 2 센트의 경험이 있습니다.
기본 투명 플라스틱 팬이없는 인클로저 및 방열판을 사용하면 ARM AP가 약 50C (122F)에서 작동하며 Pi3이 제대로 작동합니다. 플라스틱 껍질의 상단을 벗으면 온도가 47-48로 떨어집니다.
따라서 결론은 인클로저가 이와 관련하여 측정 가능한 손상을 일으키지 않는다는 것입니다.
stdout에서 CPU 온도를 리턴하는 명령은 vcgencmd measure_temp입니다.
uhoh
파이썬 프로그램에서 온도를 사용하려면 명령 os.popen('vgencmd measure_temp').read()
이 온도 버전의 텍스트 버전을 반환 한다고 언급합니다 .
Popen을 사용하여 온도를 정수 변수로 가져 오는 방법은 다음과 같습니다.
from subprocess import Popen, PIPE
.
.
.
cmd = 'vgencmd measure_temp'
p = Popen(cmd,stdout=PIPE, stderr=PIPE, shell=True)
stdout, stderr = p.communicate()
CPUtemp = int(stdout)
.
.
etc
위 코드는이 코드에서 가져온 것입니다.
온라인 / 오프라인 일 경우 웹 사이트를 핑 (Ping)하여 출력을 설정합니까?
이 게시물은 fping
결과가 다음과 같이 나오더라도 몇 가지 다른 방법으로 사용하는 방법을 보여줍니다.stderr
또한 데이터를 활용하고 데이터가 들어 오면서 플롯되는 크래들-투-그레이브 (cradle-to-grave) 예제도 포함합니다. Python과 gnuplot을 보여줍니다. 여기서 전체 시스템 예제를 충분히 볼 수 없습니다.
os.popen('vcgencmd measure_temp').read()
파이썬에서도 온도 (텍스트)를 사용할 수있는 것으로 보입니다 . 처럼commands.getstatusoutput('vcgencmd measure_temp')[1]
os.popen
및 .read
이와 같은 접근 방식 은 매우 유용 할 수 있습니다. 말할 것도없이 commands.getstatusoutput ... [1]
외부 명령과 함께 파이썬을 많이 사용하는 경향이 있지만 그 중 어느 것도 실행하지 않았습니다. 잘 했어. btw, 더 많은 질문에 대답하면 더 많은 포인트를 얻을 수 있으며 제한이 꽤 빨리 해제됩니다. 이 특정 SE는 많은 사람들이지만 데이터베이스에 대한 귀중한 기여를 확실히 인식합니다.
다음은 의문의 여지가 없지만 아이디어를 줄 수있는 일반적인 사용 사례입니다.
이것은 모든 종류의 입력, GPIO 센서, 인터넷 데이터에 적용 할 수 있습니다.
CPU 온도 초과 근무 시간을 그래프로 표시하는 방법은 무엇입니까?
gnuplot 설치
Gnuplot 은 터미널의 데이터를 그래프로 나타낼 수 있으며 X 서버가 필요 없으며 리소스를 거의 사용하지 않습니다.
가장 느린 라즈베리 파이 모델 1/0에서도 부드럽게 작동합니다.
sudo apt install gnuplot
gnuplot
파일을 작성 하는 스크립트 예 :
temperature
초과 근무 데이터를 저장하는 스크립트.
#!/bin/sh
echo $(date +%s ; cat /sys/class/thermal/thermal_zone0/temp) | tee >> temperature.plot
이 스크립트에 실행 권한을 부여하십시오.
chmod +x temperature
다음에 다시 부팅 할 때까지 1s 루프에서 분리하여 실행하십시오.
nohup watch ./temperature &
나중에 데이터를 그래프로 표시하십시오.
gnuplot -e "set terminal dumb $(tput cols) $(tput lines);plot 'temperature.plot' using 0:2 with lines"
이것은 섭씨 * 1000의 온도와 시작부터 몇 초가 지나면 자체 스크립트 제품군으로 확장되는 기본 예입니다.
watch
루프 를 죽이려면killall watch
행복한 해킹;)
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-2));cat /sys/class/thermal/thermal_zone0/temp;tput rc;done &
콘솔의 오른쪽 상단에 CPU temp가 표시됩니다. 모니터링 용.