Bringebær Pi

Raspberry Pi temperaturmonitor

Raspberry Pi temperaturmonitor
Raspberry Pi er en kraftig Single Board Computer (SBC). Den kan brukes til å gjøre mange sofistikerte oppgaver. Men å gjøre det vil øke temperaturen på prosessoren til Raspberry Pi-enheter. Noe som ikke er bra. Ytelsen til Raspberry Pi SBC vil lide på grunn av temperatur. Dette er også kjent som termisk struping.

Hvis temperaturen på prosessoren på Raspberry Pi er over 80 grader Celsius, vil du se et termometerikon øverst til høyre på skjermen. Offisielt anbefaler Raspberry Pi Foundation at temperaturen på Raspberry Pi-enheten din skal være under 85 grader Celsius for at den skal fungere skikkelig. Det er maksimumsgrensen. Men det ville begynne å strupes ved 82 grader Celsius.

I denne artikkelen vil jeg vise deg hvordan du overvåker temperaturen på Raspberry Pi. Jeg vil bruke Raspbian-operativsystemet på Raspberry Pi 3 Model B-enheten. Men det skal fungere på hvilken som helst Raspberry Pi SBC med Raspbian-operativsystem installert.

Måling av temperaturen på Raspberry Pi SBC:

Du kan måle kjernetemperaturen til Raspberry Pi-enheten din med følgende kommando:

$ vcgencmd measure_temp

Den nåværende kjernetemperaturen er 48.3 grader Celsius som du kan se i den markerte delen av skjermbildet nedenfor.

Som du kan se, viser kommandoen annen temperaturverdi hver gang jeg kjører.

Analyse av temperaturdataene:

Temperaturdataene som vi får fra vcgencmd kommando er en streng. Du kan ikke utføre noen beregning på den. Vi kan enkelt bruke vanlig uttrykk for å trekke ut bare temperaturdataene og utføre alle typer beregninger på den.

Hvis du vil bruke temperaturdataene i et Bash shell-skript, kan du trekke ut temperaturdataene med egrep kommandoen som følger:

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

Som du kan se, er bare temperaturdataene skrevet ut. Det er ingenting før eller etter det.

Du kan bruke den på skallskriptet ditt (la oss si det print_temp.sh) som følger:

$ nano print_temp.sh

Her, på linje 3, satte jeg inn temp variabel til de analyserte temperaturdataene som jeg får fra vcgencmd og grep kommando.

På linje 5 brukte jeg ekko for å skrive ut innholdet på temp variabel på skjermen.

Linje 1 brukes til å fortelle Linux at skriptet skal kjøres med / bin / bash som standard.

Gjør nå skriptet kjørbart med følgende kommando:

$ chmod + x print_temp.sh

Kjør nå skriptet som følger:

$ ./ print_temp.sh

Som du kan se, skrives ønsket utskrift på skjermen.

Skrive et Raspberry Pi temperaturovervåkingsskript:

Nå som vi kan analysere temperaturdataene vi får fra vcgencmd kommando, kan vi enkelt skrive et temperaturovervåkingsskript for Raspberry Pi. Temperaturovervåkingsskriptet vil skrive ut gjeldende tidsstempel og kjernetemperatur hvert sekund på skjermen på en pent formatert måte.

Opprett først et nytt skript tempmon.sh med følgende kommando:

$ touch tempmon.sh

Nå, rediger tempmon.sh skript med følgende kommando:

$ nano tempmon.sh

Skriv inn følgende kodelinjer og lagre filen med + x og trykk deretter på y etterfulgt av .

Her, på linje 4, printf brukes til å skrive ut TIMESTAMP og TEMP (degC) strengene som kolonne med fast bredde.

På linje 5 brukte jeg printf igjen for å skrive ut en stiplet linje bare for å gjøre utdataene mer lesbare og tiltalende.

På linje 7-13 kjørte jeg en uendelig løkke for å skrive ut temperaturdataene hvert sekund.

På linje 9 lagret jeg de analyserte temperaturdataene på temp variabel.

På linje 10 lagret jeg tidsstempeldataene jeg fikk fra Dato kommando på tidsstempel variabel.

På linje 11 skrev jeg ut dato og klokkeslett i tidsstempelformat og temperaturdata i kolonneformat med fast bredde.

På linje 12 brukte jeg sleep 1-kommandoen til å holde utførelsen av skriptet i et sekund. Etterpå fortsetter sløyfen.

Lag nå skriptet tempmon.sh kjørbar med følgende kommando:

$ chmod + x tempmon.sh

Til slutt, kjør skriptet tempmon.sh med følgende kommando:

$ ./ tempmon.sh

Som du kan se, fungerer temperaturmonitorskriptet perfekt. Det skriver ut temperaturdata hvert sekund.

Som du ser, da jeg økte systembelastningen, økte temperaturen litt.

Hvis du vil stoppe temperaturovervåkingsskriptet, trykker du på + c. Temperaturovervåkingen kjører ikke lenger som du kan se på skjermbildet nedenfor.

Nå som temperaturovervåkingsskriptet fungerer, la oss kopiere det til / usr / søppel katalog. På den måten kan du kjøre det som alle andre Linux-kommandoer.

Å kopiere skriptet tempmon.sh til / usr / søppel katalog, kjør følgende kommando:

$ sudo cp tempmon.sh / usr / bin / tempmon

Som du kan se, kan jeg kjøre temperaturovervåkingsskriptet akkurat som jeg kjører standard Linux-kommandoer.

Endrer tempmon for utskrift av temperaturdata i Fahrenheit:

Du kan enkelt konvertere temperaturdataene fra Celsius til Fahrenheit.

Den allment kjente formelen for å beregne temperaturer i Fahrenheit fra Celsius er,

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

Men problemet er at bash shell ikke har nødvendige funksjoner for å utføre flytende punktberegninger. Så du må stole på noen andre programmer som bc.

bc er ikke installert på Raspbian som standard. Men du kan enkelt installere det med følgende kommando:

$ sudo apt install bc

bc skal installeres.

Nå må du endre temperaturovervåkingsskriptet og gjøre nødvendige beregninger for å konvertere temperaturen til Fahrenheit fra Celsius med bc.

Rediger tempmon.sh skript med følgende kommando:

$ nano tempmon.sh

Gjør nå endringene som markert i skjermbildet nedenfor.

Her, på linje 4, skrev jeg ut TEMP (F) i stedet for TEMP (degC).

På linje 9 endret jeg variabelen fra temp til tempC.

På linje 10 la jeg til resultatet av Celsius til Fahrenheit-konverteringen til en variabel tempF.

Til slutt skrev jeg ut verdien av tempF variabel i stedet for temp på linje 12.

Kjør nå skriptet som følger:

$ ./ tempmon

Som du kan se, er temperaturen trykt i Fahrenheit-enhet.

Så det er slik du overvåker temperaturen i Raspberry Pi. Takk for at du leser denne artikkelen.

Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...
Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...
Topp 10 spill å spille på Ubuntu
Windows-plattformen har vært en av de dominerende plattformene for spill på grunn av den enorme andelen spill som utvikles i dag for å støtte Windows ...