Raspberry Pi hőmérséklet -monitor

Raspberry Pi Temperature Monitor



A Raspberry Pi egy erős fedélzeti számítógép (SBC). Számos kifinomult feladat elvégzésére használható. De ezzel növeli a Raspberry Pi eszközök processzorának hőmérsékletét. Ami nem jó. A Raspberry Pi SBC teljesítménye szenvedni fog a hőmérséklettől. Ezt termikus fojtásnak is nevezik.

Ha a Raspberry Pi processzorának hőmérséklete 80 Celsius fok felett van, akkor a képernyő jobb felső sarkában megjelenik egy hőmérő ikon. Hivatalosan a Raspberry Pi Alapítvány azt javasolja, hogy a Raspberry Pi készülék hőmérséklete 85 Celsius fok alatt legyen, hogy megfelelően működjön. Ez a maximális korlát. De 82 Celsius fokon fojtani kezdene.







Ebben a cikkben megmutatom, hogyan figyelheti a Raspberry Pi hőmérsékletét. Raspbian operációs rendszert fogok használni a Raspberry Pi 3 B modell eszközömön. De működnie kell minden olyan Raspberry Pi SBC -n, amelyen Raspbian operációs rendszer van telepítve.



A Raspberry Pi készülék belső hőmérsékletét a következő paranccsal mérheti:



$vcgencmd mérték_hőmérséklet

A jelenlegi maghőmérséklet 48,3 Celsius fok, amint az az alábbi képernyőkép megjelölt részében látható.





Amint láthatja, minden egyes futtatáskor a parancs különböző hőmérsékleti értékeket mutat.



A hőmérsékleti adatok elemzése:

A hőmérsékleti adatok, amelyeket a vcgencmd parancs egy karakterlánc. Semmilyen számítást nem tud elvégezni rajta. Könnyen használhatjuk a reguláris kifejezést, hogy csak a hőmérsékleti adatokat nyerjük ki, és bármilyen számítást elvégezhessünk rajta.

Ha a Bash shell parancsfájlban szeretné használni a hőmérsékleti adatokat, akkor a egrep parancsot a következőképpen:

$vcgencmd mérték_hőmérséklet| egrep -vagy '[0-9] * . [0-9] *'

Mint látható, csak a hőmérsékleti adatok kerülnek kinyomtatásra. Semmi sem előtte, sem utána.

Használhatja a shell parancsfájlján (mondjuk print_temp.sh ) alábbiak szerint:

$nanoprint_temp.sh

Itt, a 3. sorban beállítottam a hőmérséklet változó az elemzett hőmérséklet adatokhoz, amelyeket a vcgencmd és markolat parancs.

Az 5. sorban én használtam kidobta tartalmának kinyomtatásához hőmérséklet változó a képernyőn.

Az 1. sor arra szolgál, hogy megmondja a Linuxnak, hogy a szkriptet ezzel kell végrehajtani /bin/bash alapértelmezés szerint.

Most tegye a parancsfájlt futtathatóvá a következő paranccsal:

$chmod+ x print_temp.sh

Most futtassa a szkriptet az alábbiak szerint:

$./print_temp.sh

Amint láthatja, a kívánt kimenet megjelenik a képernyőn.

Raspberry Pi hőmérsékletfigyelő szkript írása:

Most, hogy elemezhetjük a hőmérsékleti adatokat, amelyeket a vcgencmd parancsot, könnyen írhatunk hőmérsékletfigyelő szkriptet a Raspberry Pi számára. A hőmérsékletfigyelő szkript szépen formázott módon minden másodpercben kinyomtatja az aktuális időbélyeget és a maghőmérsékletet.

Először hozzon létre egy új szkriptet tempmon.sh a következő paranccsal:

$érintéstempmon.sh

Most szerkessze a tempmon.sh parancsfájlt a következő paranccsal:

$nanotempmon.sh

Most írja be a következő kódsorokat, és mentse a fájlt + x majd nyomja meg a gombot és követi .

Itt, a 4. sorban printf a TIMESTAMP és TEMP (degC) karakterláncok nyomtatására szolgál rögzített szélességű oszlopként.

Az 5. sorban én használtam printf ismét szaggatott vonal nyomtatása csak azért, hogy a kimenet olvashatóbb és vonzóbb legyen.

A 7-13-as sorban végtelen cikluson futottam, hogy másodpercenként kinyomtassam a hőmérsékleti adatokat.

A 9. sorban az elemzett hőmérséklet adatokat a hőmérséklet változó.

A 10. sorban tároltam az időbélyegző adatait, amelyeket a dátum parancsot a időbélyeg változó.

A 11. sorban a dátumot és az időt időbélyeg formátumban, a hőmérsékleti adatokat pedig fix szélességű oszlopformátumban nyomtattam ki.

A 12. sorban az alvás 1 paranccsal tartottam a szkript végrehajtását egy másodpercre. Ezt követően a kör folytatódik.

Most készítse el a forgatókönyvet tempmon.sh futtatható a következő paranccsal:

$chmod+ x tempmon.sh

Végül futtassa a szkriptet tempmon.sh a következő paranccsal:

$./tempmon.sh

Mint látható, a hőmérséklet -figyelő szkript tökéletesen működik. Másodpercenként kinyomtatja a hőmérsékleti adatokat.

Amint láthatja, ahogy növeltem a rendszer terhelését, a hőmérséklet kissé emelkedett.

Ha le akarja állítani a hőmérsékletfigyelő szkriptet, nyomja meg a gombot + c . A hőmérséklet -figyelés már nem működik, amint az az alábbi képernyőképen látható.

Most, hogy a hőmérsékletfigyelő szkript működik, másoljuk át ide /usr/bin Könyvtár. Ily módon futtathatja, mint bármely más Linux parancsot.

A szkript másolásához tempmon.sh hoz /usr/bin könyvtárban, futtassa a következő parancsot:

$sudo cptempmon.sh/usr/am/tempmon

Amint látja, a hőmérsékletfigyelő szkriptet ugyanúgy futtathatom, mint a szabványos Linux parancsokat.

Módosító tempmon Fahrenheit hőmérséklet -adatok nyomtatásához:

Könnyen konvertálhatja a hőmérsékleti adatokat Celsius -ból Fahrenheit -fokra.

A széles körben ismert képlet a Fahrenheit -fok Celsius -féle hőmérsékletének kiszámítására a következő:

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

De a probléma az, hogy a bash shell nem rendelkezik a lebegőpontos számítások elvégzéséhez szükséges funkciókkal. Tehát más programokra kell támaszkodnia, mint pl időszámításunk előtt .

időszámításunk előtt alapértelmezés szerint nincs telepítve a Raspbianra. De könnyen telepítheti a következő paranccsal:

$sudotalálótelepítés időszámításunk előtt

időszámításunk előtt telepíteni kell.

Most módosítania kell a hőmérsékletfigyelő szkriptet, és el kell végeznie a szükséges számításokat ahhoz, hogy a hőmérsékletet Celsius -fól Fahrenheit -fé alakítsa. időszámításunk előtt .

Szerkessze a tempmon.sh parancsfájlt a következő paranccsal:

$nanotempmon.sh

Most végezze el a módosításokat az alábbi képernyőképen megjelölve.

Itt, a 4. sorban nyomtam TEMP (F) ahelyett TEMP (degC) .

A 9. sorban módosítottam a változót hőmérséklet nak nek tempC .

A 10. sorban a Celsius -fok Fahrenheit -konverzió eredményét hozzáadtam egy változóhoz tempF .

Végül kinyomtattam az értékét tempF helyett változó hőmérséklet a 12 -es vonalon.

Most futtassa a szkriptet az alábbiak szerint:

$./tempmon

Mint látható, a hőmérséklet Fahrenheit mértékegységben van nyomtatva.

Tehát így figyelheti a Raspberry Pi hőmérsékletét. Köszönjük, hogy elolvasta ezt a cikket.