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.shAmint 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.shMost 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.shMint 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 +32Vagy
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:
$./tempmonMint 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.