Monitor temperature Raspberry Pi

Raspberry Pi Temperature Monitor



Raspberry Pi je zmogljiv enosmerni računalnik (SBC). Uporablja se lahko za opravljanje številnih zahtevnih nalog. Toda to bo povečalo temperaturo procesorja naprav Raspberry Pi. Kar ni dobro. Zmogljivost Raspberry Pi SBC bo oslabljena zaradi temperature. To je znano tudi kot termično dušenje.

Če je temperatura procesorja vašega Raspberry Pi nad 80 stopinj Celzija, boste v zgornjem desnem kotu zaslona videli ikono termometra. Uradno fundacija Raspberry Pi priporoča, da mora biti temperatura naprave Raspberry Pi pod 85 stopinjami Celzija, da bo delovala pravilno. To je največja meja. A začelo bi se dušiti pri 82 stopinjah Celzija.







V tem članku vam bom pokazal, kako spremljati temperaturo vašega Raspberry Pi. Na napravi Raspberry Pi 3 Model B bom uporabljal operacijski sistem Raspbian. Moral pa bi delovati na katerem koli Raspberry Pi SBC z nameščenim operacijskim sistemom Raspbian.



Temperaturo jedra naprave Raspberry Pi lahko izmerite z naslednjim ukazom:



$vcgencmd ukrep_temp

Trenutna temperatura jedra je 48,3 stopinje Celzija, kot lahko vidite v označenem delu spodnjega posnetka zaslona.





Kot lahko vidite, vsakič, ko zaženem ukaz, se prikaže drugačna temperatura.



Analiza podatkov o temperaturi:

Podatki o temperaturi, ki jih dobimo iz vcgencmd ukaz je niz. Na njem ne morete izvesti nobenega izračuna. Z regularnim izrazom lahko preprosto izvlečemo samo podatke o temperaturi in izvedemo kakršne koli vrste izračunov.

Če želite podatke o temperaturi uporabiti v skriptu lupine Bash, lahko podatke o temperaturi izvlečete z egrep ukaz na naslednji način:

$vcgencmd ukrep_temp| egrep -ali '[0-9] * . [0-9] *'

Kot lahko vidite, se natisnejo samo podatki o temperaturi. Pred ali po njem ni nič.

Uporabite ga lahko v skriptu lupine (recimo print_temp.sh ) kot sledi:

$nanoprint_temp.sh

Tukaj sem v vrstici 3 nastavil temp spremenljivko v podatke o razčlenjeni temperaturi, ki jih dobim iz vcgencmd in oprijem ukaz.

Na vrstici 5 sem uporabil vrgel ven za tiskanje vsebine temp spremenljivko na zaslonu.

Vrstica 1 se uporablja za povedovanje Linuxa, s katerim naj se skript izvede /bin/bash privzeto.

Zdaj naredite skript izvedljiv z naslednjim ukazom:

$chmod+ x print_temp.sh

Zdaj zaženite skript na naslednji način:

$./print_temp.sh

Kot lahko vidite, je na zaslonu natisnjen želeni izhod.

Pisanje skripta za spremljanje temperature Raspberry Pi:

Zdaj, ko lahko razčlenimo podatke o temperaturi, ki jih dobimo iz vcgencmd ukaz, lahko enostavno napišemo skript za spremljanje temperature za Raspberry Pi. Scenarij za spremljanje temperature bo na sekundo na lepo oblikovan način natisnil trenutni časovni žig in temperaturo jedra.

Najprej ustvarite nov skript tempmon.sh z naslednjim ukazom:

$dotiktempmon.sh

Zdaj uredite datoteko tempmon.sh skript z naslednjim ukazom:

$nanotempmon.sh

Zdaj vnesite naslednje vrstice kod in datoteko shranite z + x in nato pritisnite in sledi .

Tukaj, na vrstici 4, printf se uporablja za tiskanje nizov TIMESTAMP in TEMP (degC) kot stolpec s fiksno širino.

Na vrstici 5 sem uporabil printf znova za tiskanje črtkane črte, da bo izhod bolj berljiv in privlačen.

V vrstici 7-13 sem tekel neskončno zanko, da sem vsako sekundo natisnil podatke o temperaturi.

V vrstici 9 sem podatke o razčlenjeni temperaturi shranil v temp spremenljivka.

V vrstici 10 sem shranil podatke časovnega žiga, ki sem jih dobil od datum ukaz na časovni žig spremenljivka.

V vrstici 11 sem datum in čas natisnil v obliki časovnega žiga, podatke o temperaturi pa v obliki stolpca s fiksno širino.

V vrstici 12 sem za sekundo zadrževal izvajanje skripta. Nato se bo zanka nadaljevala.

Zdaj naredite scenarij tempmon.sh izvedljivo z naslednjim ukazom:

$chmod+ x tempmon.sh

Na koncu zaženite skript tempmon.sh z naslednjim ukazom:

$./tempmon.sh

Kot lahko vidite, skript za merjenje temperature deluje odlično. Vsako sekundo natisne podatke o temperaturi.

Kot lahko vidite, ko sem povečal obremenitev sistema, se je temperatura nekoliko povečala.

Če želite ustaviti skript za spremljanje temperature, pritisnite + c . Nadzor temperature ne deluje več, kot lahko vidite na spodnjem posnetku zaslona.

Zdaj, ko skript za spremljanje temperature deluje, ga kopirajmo v /usr/bin imenik. Tako ga lahko zaženete kot vse druge ukaze Linuxa.

Če želite kopirati skript tempmon.sh do /usr/bin imenik, zaženite naslednji ukaz:

$sudo cptempmon.sh/usr/zjutraj/tempmon

Kot lahko vidite, lahko zaženem skript za spremljanje temperature, tako kot izvajam standardne ukaze za Linux.

Spreminjanje tempmon za tiskanje temperaturnih podatkov v Fahrenheitu:

Temperaturne podatke lahko preprosto pretvorite iz Celzija v Fahrenheit.

Splošno znana formula za izračun temperatur v Fahrenheitu po Celziju je,

F =(9/5)*C +32
Or
F =1.8 *C +32

Težava pa je v tem, da lupina bash nima potrebnih funkcij za izračune s plavajočo vejico. Zato se morate zanašati na nekatere druge programe, kot je npr pr .

pr ni privzeto nameščen na Raspbian. Lahko pa ga preprosto namestite z naslednjim ukazom:

$sudoaptnamestite pr

pr je treba namestiti.

Zdaj morate spremeniti skript za spremljanje temperature in narediti potrebne izračune za pretvorbo temperature v Fahrenheit iz Celzija z pr .

Uredite datoteko tempmon.sh skript z naslednjim ukazom:

$nanotempmon.sh

Zdaj naredite spremembe, kot je označeno na spodnjem posnetku zaslona.

Tukaj, na 4. vrstici, sem tiskal TEMP (F) namesto TEMP (degC) .

V vrstici 9 sem spremenljivko spremenil iz temp do tempC .

V vrstici 10 sem spremenljivki dodal rezultat pretvorbe Celzija v Fahrenheit tempF .

Nazadnje sem natisnil vrednost tempF spremenljivka namesto temp na liniji 12.

Zdaj zaženite skript na naslednji način:

$./tempmon

Kot lahko vidite, je temperatura natisnjena v Fahrenheitovi enoti.

Tako spremljate temperaturo v Raspberry Pi. Hvala, ker ste prebrali ta članek.