จึงได้ลองทำการวัดอุณหภูมิภายในของ rpi พบว่ามีมากกว่า 80 องศา
เมื่ออุณภูมิของ rpi มากกว่า 80 องศา ตัว cpu จะลดความเร็วลง เพื่อที่จะลดอุณภูมิ ทำให้ประสิทธิภาพการทำงานลดลงไปด้วย
โดยใช้วิธีวัดอุณภูมิดังนี้
/opt/vc/bin/vcgencmd measure_temp
และถ้าต้องการอ่านอุณหภูมิอย่างต่อเนื่อง ทำดังนี้
nano monitor-temp.py
แล้วเขียน code ลงไปดังนี้
import os
import time |
def measure_temp(): |
temp = os.popen("vcgencmd measure_temp").readline() |
return (temp.replace("temp=","")) |
while True: |
print(measure_temp()) |
กด ctrl+x แล้วกด y
จากนั้น
python monitor-temp.py
จากการทดสอบ ping และรัน python ทิ้งไว้ พบว่า
rpi จะมีอุณหภูมิอยู่ที่ประมาณ 85-86 องศา
ระยะเวลาในการตอบ ping ประมาณ 3-4 ms บางทีก็หลุดไป 18ms, 59ms และจะมีบางจังหวะที่ Time out ก็มี
สรุปว่า rpi4 จะมีอุณหภูมิสูงสุดประมาณ 85-86 องศา และประสิทธิภาพในการทำงานจะลดลง ควรจะต้องมี heat sink หรือ พัดลม ช่วยลดอุณหภูมิ
เพิ่มเติม
พอดีว่าผมได้ใส่พัดลมเพิ่ม และ ต้องการไม่ให้พัดลมทำงานตลอด 24 ชม. จึงได้ใช้ GPIO ควบคุมพัดลมอีกทีโดยใช้ Hardware ดังรูปนี้
โดยที่ P8 ใช้ต่อเข้ากับพัดลมขั้ว + และ -
ใช้ GPIO26 (ขา 37) เป็นตัวควบคุมการ เปิด/ปิด พัดลม
ก่อนที่จะเขียน software ควบคุมพัดลม ต้องติดตั้ง python เสียก่อน ตามนี้
และเขียน software ควบคุมพัดลม ดังนี้
nano monitor-temp.py
#! /usr/bin/python
import os
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(37,GPIO.OUT)
GPIO.setwarnings(False)
def measure_temp():
temp = os.popen("vcgencmd measure_temp").readline()
return (temp.replace("temp=",""))
while True:
x = measure_temp().split("'")
print x[0]
if float(x[0]) > 50:
GPIO.output(37,True)
else:
GPIO.output(37,False)
time.sleep(1)
control + o , enter, control +x
sudo chmod +x monitor-temp.py
เพื่อให้โปรแกรมสามารถ execute ได้
หลักการทำงานของโปรแกรมนี้
ถ้าอุณหภูมิมากกว่า 50 องศา พัดลมก็จะทำงาน
ถ้าอุณหภูมิน้อยกว่า 50 องศา พัดลมจะหยุดทำงาน
และได้ทำการให้เปิดโปรแกรมตัวนี้อัตโนมัติ หลังจากการเปิดเครื่อง
โดยเข้าไปแก้ไขที่ /etc/rc.local
sudo nano /etc/rc.local
ที่บรรทัดรองสุดท้าย ก่อน exit 0 ให้เพิ่ม
cd /hom/pi/
./monitor-temp.py &
ต้องใส่ "&" ด้วย เพราะว่าต้องการให้ system สามารถไปทำโปรแกรมอื่นๆได้ด้วย ไม่ต้องมาติดตายอยู่ที่โปรแกรมตัวนี้ตัวเดียว
แถมด้วยการสั่งให้ reboot ทุกๆวันตอนเวลาตี 2
crontab -e
1, enter
ที่บรรทัดล่างสุด ให้ใส่
0 2 * * * sudo reboot
control + o, enter, control + x
ที่มา
https://medium.com/@kevalpatel2106/monitor-the-core-temperature-of-your-raspberry-pi-3ddfdf82989f