basit bir örnekle raspberry pi üzerinde rrdtool kullanımı yazıda rrd kullanımına değinmiştim. yazıdaki örnekte kayseri şehrinin sıcaklık değeri kullanılmıştı.
bu yazıda ise raspberry pi nin iç sıcaklık değerlerini kullanalım. kit üzerinden sıcaklık değerini iki yöntemle öğrenebiliriz.
1. yöntem vcgencmd komutunu kullanarak
pi@raspberrypi ~ $ /opt/vc/bin/vcgencmd measure_temp temp=56.2'C |
çıktısı yukarıdan görüldüğü gibi doğrudan rrd veritabanına göndermeye uygun değil bunun için aşağıdaki şekilde çıktımızı kırpalım.
pi@raspberrypi ~ $ /opt/vc/bin/vcgencmd measure_temp | cut -d "=" -f2 | cut -d "'" -f1 56.2 pi@raspberrypi ~ $ /opt/vc/bin/vcgencmd measure_temp | cut -c6-9 56.2 |
2. yöntem ise cpu log çıktısına bakmak.
pi@raspberrypi ~ $ cat /sys/class/thermal/thermal_zone0/temp 56224 |
bu yapıda tam işimize yaramayabilir. çıktıyı okunabilir bir duruma getirmemiz gerekiyor.
root@raspberrypi:~# /opt/vc/bin/vcgencmd measure_temp | sed "s/temp=\([0-9]\+\.[0-9]\+\)'C/\1/" 56.2 root@raspberrypi:~# awk '{printf("%.1f\n",$1/1e3)}' /sys/class/thermal/thermal_zone0/temp 56.2 |
artık raspberry nin sıcaklık değerinin nasıl öğrenileceğini bildiğimize göre örneğimizde yer alan
sicaklik ="curl -s http://weather.noaa.gov/pub/data/observations/metar/stations/LTAU.TXT | \
grep -Po ' M?\d{2} ' | \
sed -r -e 's/([-0-9]*)\/[-0-9]*/\1/'"; |
satırı yerine uygun kodu yazarak raspberrynin sıcaklık değerini rrd grafikleri üzerinden takip edebiliriz.
linux makinelerde cpu log dizin yapısından ufak farklılıklar olabilir ancak 2. yöntemle linux kullanan tüm cihazlarda cpu sıcaklık değeri öğrenebiliriz.
raspberry pi sıcaklığının değerinin öğrenilmesi ve rrd ile izlenmesi