Raspberry Pi

Nadzor temperature Raspberry Pi

Nadzor temperature Raspberry Pi
Raspberry Pi je zmogljiv enojni računalnik (SBC). Uporablja se lahko za številna zahtevna opravila. Toda s tem se bo povečala temperatura procesorja naprav Raspberry Pi. Kar ni dobro. Zmogljivost Raspberry Pi SBC bo trpela 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 nižja od 85 stopinj Celzija, da bo lahko pravilno delovala. 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 svoji napravi Raspberry Pi 3 Model B bom uporabljal operacijski sistem Raspbian. Vendar bi moral delovati na vseh Raspberry Pi SBC z nameščenim operacijskim sistemom Raspbian.

Merjenje temperature Raspberry Pi SBC:

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, pokaže drugačno vrednost temperature.

Razčlenjevanje temperaturnih podatkov:

Podatki o temperaturi, ki jih dobimo iz vcgencmd ukaz je niz. Na njem ne morete izvesti nobenega izračuna. Z regularnim izrazom lahko enostavno pridobimo samo podatke o temperaturi in na njih izvedemo kakršen koli izračun.

Če želite podatke o temperaturi uporabiti v skriptu lupine Bash, lahko podatke o temperaturi izvlečete s egrep ukaz, kot sledi:

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

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

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

$ nano print_temp.sh

Tukaj, na vrstici 3, nastavim temp spremenljivka za razčlenjene podatke o temperaturi, ki jih dobim iz vcgencmd in grep ukaz.

V vrstici 5 sem uporabil odmev za tiskanje vsebine temp spremenljivka na zaslonu.

Vrstica 1 se uporablja, da Linuxu pove, da je treba skript izvajati z / bin / bash privzeto.

Zdaj naredite skript izvršljiv z naslednjim ukazom:

$ chmod + x print_temp.sh

Zdaj zaženite skript, kot sledi:

$ ./ print_temp.sh

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

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 nadzor temperature za Raspberry Pi. Skript za nadzor temperature bo vsako sekundo na zaslon natisnil trenutni časovni žig in temperaturo jedra v lepo oblikovanem načinu.

Najprej ustvarite nov skript tempmon.sh z naslednjim ukazom:

$ touch tempmon.sh

Zdaj uredite tempmon.sh skript z naslednjim ukazom:

$ nano tempmon.sh

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

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

V vrstici 5 sem uporabil printf še enkrat, da natisnemo črtkano vrstico, samo da bo izhod bolj berljiv in privlačen.

V vrstici 7-13 sem speljal neskončno zanko za tiskanje temperaturnih podatkov vsako sekundo.

V vrstici 9 sem podatke razčlenjene temperature shranil na temp spremenljivka.

V vrstici 10 sem shranil podatke o časovnem žigu, 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 12. vrstici sem z ukazom sleep 1 za sekundo zadržal izvajanje skripta. Nato se bo zanka nadaljevala.

Zdaj pa naredi scenarij tempmon.sh izvršljiv z naslednjim ukazom:

$ chmod + x tempmon.sh

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

$ ./ tempmon.sh

Kot lahko vidite, skript za nadzor temperature deluje popolnoma. Vsako sekundo tiska podatke o temperaturi.

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

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

Zdaj, ko skript za nadzor 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 cp tempmon.sh / usr / bin / tempmon

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

Spreminjanje tempmon za tiskanje temperaturnih podatkov v Fahrenheitu:

Podatke o temperaturi lahko enostavno pretvorite iz Celzija v Fahrenheit.

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

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

Toda težava je v tem, da lupina bash nima potrebnih funkcij za izvajanje izračunov s plavajočo vejico. Torej se morate zanesti na nekatere druge programe, kot je pr.

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

$ sudo apt install bc

pr namestiti.

Zdaj morate spremeniti skript za spremljanje temperature in narediti potrebne izračune za pretvorbo temperature v Celzijeve Celzije s pr.

Uredite tempmon.sh skript z naslednjim ukazom:

$ nano tempmon.sh

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

Tu sem v vrstici 4 tiskal TEMP (F) namesto TEMP (stopinjaC).

V vrstici 9 sem spremenljivko spremenil iz temp do tempC.

V 10. vrstici sem v spremenljivko dodal rezultat Celzija v pretvorbo Fahrenheita tempF.

Na koncu sem natisnil vrednost tempF spremenljivka namesto temp v vrstici 12.

Zdaj zaženite skript, kot sledi:

$ ./ tempmon

Kot vidite, je temperatura natisnjena v enotah Fahrenheita.

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

Kako uporabljati AutoKey za avtomatizacijo iger Linux
AutoKey je namizni pripomoček za avtomatizacijo za Linux in X11, programiran v Python 3, GTK in Qt. Z njegovo funkcijo skriptiranja in MACRO lahko avt...
Kako prikazati števec FPS v igrah Linux
Linux gaming je dobil velik zagon, ko je Valve leta 2012 napovedal podporo Linuxu za odjemalca Steam in njihove igre. Od takrat se je veliko AAA in in...
Kako prenesti in igrati Sid Meier's Civilization VI v Linuxu
Uvod v igro Civilization 6 je sodoben pogled na klasični koncept, uveden v seriji iger Age of Empires. Ideja je bila dokaj preprosta; začeli bi v zelo...