Raspberry Pi temperatūras monitors

Raspberry Pi Temperature Monitor



Raspberry Pi ir jaudīgs vienas padomes dators (SBC). To var izmantot, lai veiktu daudzus sarežģītus uzdevumus. Bet šādi rīkojoties, Raspberry Pi ierīču procesora temperatūra paaugstināsies. Kas nav labi. Raspberry Pi SBC veiktspēja cietīs temperatūras dēļ. To sauc arī par termisko droseļvārstu.

Ja jūsu Raspberry Pi procesora temperatūra ir virs 80 grādiem pēc Celsija, ekrāna augšējā labajā stūrī redzēsit termometra ikonu. Oficiāli Raspberry Pi fonds iesaka, lai Raspberry Pi ierīces temperatūra būtu zemāka par 85 grādiem pēc Celsija, lai tā darbotos pareizi. Tā ir maksimālā robeža. Bet tas sāktu droselēt pie 82 grādiem pēc Celsija.







Šajā rakstā es jums parādīšu, kā uzraudzīt Raspberry Pi temperatūru. Es savā Raspberry Pi 3 B modeļa ierīcē izmantošu operētājsistēmu Raspbian. Bet tam vajadzētu darboties jebkurā Raspberry Pi SBC ar instalētu Raspbian operētājsistēmu.



Jūs varat izmērīt Raspberry Pi ierīces pamattemperatūru, izmantojot šādu komandu:



$vcgencmd mēra_temps

Pašreizējā kodola temperatūra ir 48,3 grādi pēc Celsija, kā redzams tālāk redzamajā ekrānuzņēmuma atzīmētajā sadaļā.





Kā redzat, katru reizi, kad izpildu komandu, tiek parādīta atšķirīga temperatūras vērtība.



Temperatūras datu parsēšana:

Dati par temperatūru, ko iegūstam no vcgencmd komanda ir virkne. Jūs nevarat veikt nekādus aprēķinus. Mēs varam viegli izmantot regulāro izteiksmi, lai iegūtu tikai temperatūras datus un veiktu jebkāda veida aprēķinus.

Ja vēlaties izmantot temperatūras datus Bash apvalka skriptā, varat iegūt temperatūras datus ar egrep komandu šādi:

$vcgencmd mēra_temps| egrep -vai '[0-9] * . [0-9] *'

Kā redzat, tiek drukāti tikai temperatūras dati. Nekas nav pirms vai pēc tā.

Jūs varat to izmantot savā čaulas skriptā (teiksim print_temp.sh ) sekojoši:

$nanoprint_temp.sh

Šeit, 3. rindā, es iestatīju temp mainīgajiem parsētajiem temperatūras datiem, ko saņemu no vcgencmd un satvēriens komandu.

5. rindā es izmantoju izmest ārā lai izdrukātu temp mainīgs ekrānā.

1. rindu izmanto, lai Linux informētu, ka skripts jāizpilda ar /bin/bash pēc noklusējuma.

Tagad padariet skriptu izpildāmu ar šādu komandu:

$chmod+ x print_temp.sh

Tagad palaidiet skriptu šādi:

$./print_temp.sh

Kā redzat, ekrānā tiek izdrukāta vēlamā izvade.

Raspberry Pi temperatūras uzraudzības skripta rakstīšana:

Tagad, kad varam parsēt temperatūras datus, ko iegūstam no vcgencmd komandu, mēs varam viegli uzrakstīt Raspberry Pi temperatūras uzraudzības skriptu. Temperatūras uzraudzības skripts skaisti formatētā veidā katru sekundi uz ekrāna izdrukās pašreizējo laika zīmogu un kodola temperatūru.

Vispirms izveidojiet jaunu skriptu tempmon.sh ar šādu komandu:

$pieskartiestempmon.sh

Tagad rediģējiet tempmon.sh skriptu ar šādu komandu:

$nanotempmon.sh

Tagad ierakstiet šādas kodu rindas un saglabājiet failu ar + x un pēc tam nospiediet un kam sekoja .

Šeit, 4. rindā, printf tiek izmantots, lai drukātu TIMESTAMP un TEMP (degC) virknes kā fiksēta platuma kolonnu.

5. rindā es izmantoju printf vēlreiz, lai izdrukātu punktētu līniju, lai padarītu rezultātu vieglāk lasāmu un pievilcīgāku.

7-13 rindā es skrēju bezgalīgu cilpu, lai katru sekundi drukātu temperatūras datus.

9. rindā es saglabāju parsētos temperatūras datus temp mainīgais.

10. rindā es saglabāju laika zīmoga datus, ko saņēmu no datums komandu uz laika zīmogs mainīgais.

11. rindā es izdrukāju datumu un laiku laika zīmoga formātā, bet temperatūras datus - fiksēta platuma kolonnu formātā.

12. rindā es izmantoju komandu miega 1, lai sekundi turētu skripta izpildi. Pēc tam cilpa turpināsies.

Tagad izveidojiet skriptu tempmon.sh izpildāms ar šādu komandu:

$chmod+ x tempmon.sh

Visbeidzot, palaidiet skriptu tempmon.sh ar šādu komandu:

$./tempmon.sh

Kā redzat, temperatūras monitora skripts darbojas perfekti. Tas drukā temperatūras datus katru sekundi.

Kā redzat, palielinot sistēmas slodzi, temperatūra nedaudz palielinājās.

Ja vēlaties pārtraukt temperatūras uzraudzības skriptu, nospiediet + c . Temperatūras uzraudzība vairs nedarbojas, kā redzams zemāk esošajā ekrānuzņēmumā.

Tagad, kad temperatūras uzraudzības skripts darbojas, nokopēsim to uz /usr/bin direktoriju. Tādā veidā jūs varat to palaist tāpat kā jebkuras citas Linux komandas.

Lai kopētu skriptu tempmon.sh uz /usr/bin direktorijā, palaidiet šādu komandu:

$sudo cptempmon.sh/usr/esmu/tempmon

Kā redzat, es varu palaist temperatūras uzraudzības skriptu tāpat kā standarta Linux komandas.

Modificēšana tempmon temperatūras drukāšanai pēc Fārenheita:

Jūs varat viegli pārvērst temperatūras datus no Celsija uz Fārenheitu.

Plaši pazīstamā formula Fārenheita temperatūras aprēķināšanai no Celsija ir:

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

Bet problēma ir tā, ka bash apvalkam nav vajadzīgo funkciju, lai veiktu peldošā komata aprēķinus. Tātad, jums ir jāpaļaujas uz dažām citām programmām, piemēram, bc .

bc pēc noklusējuma nav instalēts Raspbian. Bet to var viegli instalēt, izmantojot šādu komandu:

$sudotrāpīgsuzstādīt bc

bc būtu jāuzstāda.

Tagad jums ir jāmaina temperatūras uzraudzības skripts un jāveic nepieciešamie aprēķini, lai pārvērstu temperatūru pēc Fārenheita no Celsija skalas ar bc .

Rediģējiet tempmon.sh skriptu ar šādu komandu:

$nanotempmon.sh

Tagad veiciet izmaiņas, kā norādīts zemāk esošajā ekrānuzņēmumā.

Šeit, 4. rindā, es drukāju TEMP (F) tā vietā TEMP (degC) .

9. rindā es mainīju mainīgo no temp uz tempC .

10. rindā Celsija rezultātu pēc Fārenheita pārrēķina pievienoju mainīgajam tempF .

Visbeidzot, es izdrukāju vērtību tempF mainīgais, nevis temp 12. rindā.

Tagad palaidiet skriptu šādi:

$./tempmon

Kā redzat, temperatūra tiek drukāta Fārenheita vienībās.

Tātad jūs uzraugāt temperatūru Raspberry Pi. Paldies, ka izlasījāt šo rakstu.