Avietė Pi

Aviečių Pi temperatūros monitorius

Aviečių Pi temperatūros monitorius
„Raspberry Pi“ yra galingas vienos plokštės kompiuteris (SBC). Juo galima atlikti daug sudėtingų užduočių. Tačiau tai padarius padidės „Raspberry Pi“ įrenginių procesoriaus temperatūra. Kas nėra gerai. „Raspberry Pi SBC“ veikimas nukentės dėl temperatūros. Tai dar vadinama terminiu droseliu.

Jei jūsų „Raspberry Pi“ procesoriaus temperatūra yra aukštesnė nei 80 laipsnių Celsijaus, viršutiniame dešiniajame ekrano kampe pamatysite termometro piktogramą. Oficialiai „Raspberry Pi“ fondas rekomenduoja, kad „Raspberry Pi“ įrenginio temperatūra būtų žemesnė nei 85 laipsniai Celsijaus, kad jis veiktų tinkamai. Tai yra maksimali riba. Bet tai pradėtų droseluoti esant 82 laipsniams šilumos.

Šiame straipsnyje aš jums parodysiu, kaip stebėti jūsų „Raspberry Pi“ temperatūrą. Savo „Raspberry Pi 3 Model B“ įrenginyje naudosiu „Raspbian“ operacinę sistemą. Bet tai turėtų veikti bet kurioje „Raspberry Pi SBC“ su įdiegta „Raspbian“ operacine sistema.

Raspberry Pi SBC temperatūros matavimas:

Raspberry Pi įrenginio pagrindinę temperatūrą galite išmatuoti naudodami šią komandą:

$ vcgencmd priemonė_temp

Dabartinė šerdies temperatūra yra 48 ° C.3 laipsniai Celsijaus, kaip matote pažymėtoje žemiau esančioje ekrano kopijos dalyje.

Kaip matote, kiekvieną kartą paleidus komandą rodoma skirtinga temperatūros vertė.

Temperatūros duomenų analizavimas:

Temperatūros duomenys, kuriuos gauname iš vcgencmd komanda yra eilutė. Negalite atlikti jokių skaičiavimų. Mes galime lengvai naudoti reguliariąją išraišką, kad gautume tik temperatūros duomenis ir atliktume bet kokio tipo skaičiavimus.

Jei norite naudoti temperatūros duomenis „Bash“ apvalkalo scenarijuje, tada temperatūros duomenis galite išskleisti naudodami egrep komandą taip:

$ vcgencmd Meas_temp | egrep -o '[0-9] * \.[0–9] * “

Kaip matote, spausdinami tik temperatūros duomenys. Nieko nėra nei prieš, nei po jo.

Galite jį naudoti savo apvalkalo scenarijuje (tarkime spausdinti_temp.sh) taip:

$ nano print_temp.sh

Čia, 3 eilutėje, aš nustatiau temp kintamas pagal išanalizuotos temperatūros duomenis, kuriuos gaunu iš vcgencmd ir grep komandą.

5 eilutėje naudojau aidas atsispausdinti temp kintamasis ekrane.

1 eilutė naudojama „Linux“ pasakyti, kad scenarijus turėtų būti vykdomas / bin / bash pagal nutylėjimą.

Dabar padarykite scenarijų vykdomąjį naudodami šią komandą:

$ chmod + x print_temp.sh

Dabar paleiskite scenarijų taip:

$ ./ print_temp.sh

Kaip matote, norima išvestis atspausdinama ekrane.

Raspberry Pi temperatūros stebėjimo scenarijaus rašymas:

Dabar, kai galime analizuoti temperatūros duomenis, kuriuos gauname iš vcgencmd komandą, mes lengvai galime parašyti „Raspberry Pi“ temperatūros stebėjimo scenarijų. Temperatūros stebėjimo scenarijus gražiai suformatuos ekrane kas sekundę atspausdins dabartinę laiko žymę ir pagrindinę temperatūrą.

Pirmiausia sukurkite naują scenarijų tempmonas.sh su tokia komanda:

$ liesti tempmon.sh

Dabar redaguokite tempmonas.sh scenarijus su šia komanda:

$ nano tempmonas.sh

Dabar įveskite šias kodų eilutes ir išsaugokite failą naudodami + x tada paspauskite y paskui .

Čia, 4 eilutėje, printf naudojamas spausdinti TIMESTAMP ir TEMP (degC) eilutes kaip fiksuoto pločio stulpelį.

5 eilutėje naudojau printf dar kartą, norėdami atspausdinti brūkšninę liniją, kad išvestis taptų aiškesnė ir patrauklesnė.

7-13 eilutėje paleidžiau begalinę kilpą, norėdama kas sekundę spausdinti temperatūros duomenis.

9 eilutėje aš išanalizavau išanalizuotos temperatūros duomenis temp kintamasis.

10 eilutėje aš išsaugojau laiko žymos duomenis, kuriuos gavau iš data komandą laiko žyma kintamasis.

11 eilutėje atspausdinau datą ir laiką laiko žymės formatu, o temperatūros duomenis - fiksuoto pločio stulpelių formatu.

12 eilutėje naudojau komandą „sleep 1“, kad sekundę palaikyčiau scenarijaus vykdymą. Vėliau kilpa tęsis.

Dabar sukurkite scenarijų tempmonas.sh vykdoma naudojant šią komandą:

$ chmod + x tempmon.sh

Galiausiai paleiskite scenarijų tempmonas.sh su tokia komanda:

$ ./ tempmonas.sh

Kaip matote, temperatūros monitoriaus scenarijus veikia puikiai. Temperatūros duomenys spausdinami kas sekundę.

Kaip matote, padidinus sistemos apkrovą, temperatūra šiek tiek padidėjo.

Jei norite sustabdyti temperatūros stebėjimo scenarijų, paspauskite + c. Temperatūros stebėjimas nebeveikia, kaip matote toliau pateiktoje ekrano kopijoje.

Dabar, kai temperatūros stebėjimo scenarijus veikia, nukopijuokime jį į / usr / bin kataloge. Tokiu būdu galite jį paleisti kaip ir visas kitas „Linux“ komandas.

Norėdami nukopijuoti scenarijų tempmonas.sh į / usr / bin kataloge, vykdykite šią komandą:

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

Kaip matote, temperatūros stebėjimo scenarijų galiu paleisti taip pat, kaip ir standartines „Linux“ komandas.

Modifikuojantis tempmonas temperatūros duomenų spausdinimas pagal Farenheitą:

Temperatūros duomenis galite lengvai konvertuoti iš Celsijaus į Farenheitą.

Plačiai žinoma formulė temperatūros Farenheitu skaičiavimui pagal Celsijų yra,

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

Tačiau problema ta, kad „bash“ apvalkalas neturi būtinų funkcijų, kad būtų galima atlikti slankiojo kablelio skaičiavimus. Taigi, jūs turite pasikliauti kitomis programomis, tokiomis kaip bc.

bc pagal nutylėjimą nėra įdiegtas „Raspbian“. Bet jūs galite lengvai jį įdiegti naudodami šią komandą:

$ sudo apt install bc

bc turėtų būti įdiegta.

Dabar jūs turite modifikuoti temperatūros stebėjimo scenarijų ir atlikti reikiamus skaičiavimus, kad paverstumėte temperatūrą Fahrenheitu iš Celsijaus bc.

Redaguokite tempmonas.sh scenarijus su šia komanda:

$ nano tempmonas.sh

Dabar atlikite pakeitimus, kaip pažymėta toliau pateiktoje ekrano kopijoje.

Čia, 4 eilutėje, atspausdinau TEMP (F) vietoj TEMP (degC).

9 eilutėje pakeičiau kintamąjį iš temp į tempC.

10 eilutėje pridėjau Celsijaus ir Farenheito konversijos rezultatą prie kintamojo tempF.

Galiausiai atspausdinau tempF kintamasis vietoj temp 12 eilutėje.

Dabar paleiskite scenarijų taip:

$ ./ tempmonas

Kaip matote, temperatūra spausdinama pagal Farenheito vienetus.

Taigi taip stebite „Raspberry Pi“ temperatūrą. Dėkojame, kad perskaitėte šį straipsnį.

„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...
„OpenTTD“ pamoka
„OpenTTD“ yra vienas iš populiariausių verslo modeliavimo žaidimų. Šiame žaidime turite sukurti nuostabų transporto verslą. Tačiau pradėsite nuo mažda...
„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...