Kui teie Raspberry Pi protsessori temperatuur on üle 80 kraadi Celsiuse järgi, näete ekraani paremas ülanurgas termomeetri ikooni. Ametlikult soovitab Raspberry Pi sihtasutus, et teie Raspberry Pi seade peaks selle korralikuks toimimiseks olema alla 85 kraadi. See on maksimaalne piir. Kuid see hakkaks aeglustuma 82 kraadi juures.
Selles artiklis näitan teile, kuidas oma Raspberry Pi temperatuuri jälgida. Kasutan oma Raspberry Pi 3 mudeli B seadmes Raspbian operatsioonisüsteemi. Kuid see peaks töötama mis tahes Raspberry Pi SBC-ga, millele on installitud Raspbian operatsioonisüsteem.
Vaarika Pi SBC temperatuuri mõõtmine:
Raspberry Pi seadme sisetemperatuuri saate mõõta järgmise käsuga:
$ vcgencmd mõõdiku_tempPraegune sisetemperatuur on 48 ° C.3 kraadi Celsiuse järgi, nagu näete alloleva ekraanipildi märgitud jaotises.
Nagu näete, näitab käsu käivitamine iga kord erinevat temperatuuri väärtust.
Temperatuuriandmete sõelumine:
Temperatuuriandmed, mille saame vcgencmd käsk on string. Sellega ei saa arvutada. Regulaaravaldist saame hõlpsasti kasutada ainult temperatuuriandmete väljavõtmiseks ja nende jaoks mis tahes tüüpi arvutuste tegemiseks.
Kui soovite temperatuuri andmeid kasutada Bashi shelliskriptis, saate temperatuuri andmed välja tõmmata egrep käsk järgmiselt:
$ vcgencmd measure_temp | egrep -o '[0-9] * \.[0-9] * 'Nagu näete, trükitakse ainult temperatuuri andmed. Enne ega pärast pole midagi.
Saate seda kasutada oma shelliskriptis (oletame print_temp.sh) järgnevalt:
$ nano print_temp.sh
Siin, real 3, seadsin temp muutuv parsitud temperatuuri andmetele, mille saan vcgencmd ja grep käsk.
5. real kasutasin kaja printida sisu temp muutuv ekraanil.
Rida 1 kasutatakse Linuxile ütlemiseks, et skript tuleks käivitada / bin / bash algselt.
Nüüd tehke skript käivitatavaks järgmise käsuga:
$ chmod + x print_temp.sh
Nüüd käivitage skript järgmiselt:
$ ./ print_temp.shNagu näete, trükitakse ekraanile soovitud väljund.
Raspberry Pi temperatuuri jälgimise skripti kirjutamine:
Nüüd, kui saame analüüsida temperatuuriandmeid, mille saame vcgencmd käsu, saame Raspberry Pi jaoks hõlpsalt temperatuuri jälgimise skripti kirjutada. Temperatuuri jälgimise skript trükib ekraanile praeguse ajatempli ja südamiku temperatuuri kenasti vormindatult.
Kõigepealt looge uus skript tempmon.sh järgmise käsuga:
$ touch tempmon.shNüüd muutke tempmon.sh skript järgmise käsuga:
$ nano tempmon.sh
Nüüd tippige järgmised koodiread ja salvestage fail koos
Siin, real 4, printf kasutatakse fikseeritud laiusega veergudena stringide TIMESTAMP ja TEMP (degC) printimiseks.
5. real kasutasin printf jällegi katkendliku joone printimiseks, et muuta väljund paremini loetavaks ja atraktiivsemaks.
Liinil 7-13 jooksin lõpmatu tsükli, et printida temperatuuriandmed iga sekundi järel.
9. real salvestasin parsitud temperatuuriandmed temp muutuv.
Ridale 10 salvestasin ajatempli andmed, mille sain kuupäev käsk ajatempel muutuv.
Ridale 11 printisin kuupäeva ja kellaaja ajatempli vormingus ning temperatuuri andmed fikseeritud laiusega veeruvormingus.
12. real kasutasin skripti täitmise sekundiks hoidmiseks käsku sleep 1. Pärast jätkub silmus.
Nüüd tehke skript tempmon.sh käivitatav järgmise käsuga:
$ chmod + x tempmon.sh
Lõpuks käivitage skript tempmon.sh järgmise käsuga:
$ ./ tempmon.shNagu näete, töötab temperatuurimonitori skript suurepäraselt. See prindib temperatuuriandmeid iga sekundi järel.
Nagu näete, siis süsteemi koormuse suurendamisel tõusis temperatuur veidi.
Kui soovite temperatuuri jälgimise skripti peatada, vajutage
Nüüd, kui temperatuuri jälgimise skript töötab, kopeerime selle / usr / bin kataloogi. Nii saate seda käivitada nagu kõiki teisi Linuxi käske.
Skripti kopeerimiseks tempmon.sh Euroopa / usr / bin kataloogi, käivitage järgmine käsk:
$ sudo cp tempmon.sh / usr / bin / tempmon
Nagu näete, saan temperatuuri jälgimise skripti käivitada nii, nagu käitan tavalisi Linuxi käske.
Muutmine tempmon Temperatuuriandmete printimiseks Fahrenheiti keeles:
Temperatuuriandmeid saate Celsiuse järgi lihtsalt Fahrenheiti teisendada.
Fahrenheiti temperatuuride arvutamiseks Celsiuse järgi on laialt tuntud valem,
F = (9/5) * C + 32Või
F = 1.8 * C + 32
Kuid probleem on selles, et bashi kestal pole ujukomaarvutuste tegemiseks vajalikke funktsioone. Niisiis, peate tuginema mõnele muule programmile, näiteks bc.
bc pole Raspbianile vaikimisi installitud. Kuid saate selle hõlpsalt installida järgmise käsuga:
$ sudo apt install bc
bc tuleks paigaldada.
Nüüd peate temperatuuri jälgimise skripti muutma ja tegema vajalikud arvutused temperatuuri teisendamiseks Celsiuse järgi Fahrenheitiks bc.
Redigeerige tempmon.sh skript järgmise käsuga:
$ nano tempmon.sh
Nüüd tehke muudatused, nagu on märgitud alloleval ekraanipildil.
Siin, 4. real, printisin TEMP (F) selle asemel TEMP (kraad).
9. real muutsin muutujat väärtusest temp kuni tempC.
Real 10 lisasin muutujale Celsiuse ja Fahrenheiti konversiooni tulemuse tempF.
Lõpuks printisin väärtuse tempF muutuja asemel temp liinil 12.
Nüüd käivitage skript järgmiselt:
$ ./ tempmonNagu näete, trükitakse temperatuur Fahrenheiti ühikutes.
Nii jälgite Raspberry Pi temperatuuri. Täname selle artikli lugemise eest.