Ha a Raspberry Pi processzorának hőmérséklete 80 Celsius fok felett van, akkor a képernyő jobb felső sarkában egy hőmérő ikon jelenik meg. A Raspberry Pi Alapítvány hivatalosan 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 határ. De fojtani kezdene 82 Celsius fokon.
Ebben a cikkben megmutatom, hogyan figyelheti a Raspberry Pi hőmérsékletét. A Raspberry Pi 3 Model B eszközön Raspbian operációs rendszert fogok használni. De működnie kell minden Raspberry Pi SBC-n, telepítve van Raspbian operációs rendszer.
A Raspberry Pi SBC hőmérsékletének mérése:
A következő paranccsal mérheti a Raspberry Pi készülék belső hőmérsékletét:
$ vcgencmd intézkedés_hőmérsékletA jelenlegi maghőmérséklet 48 ° C.3 Celsius fok, amint az az alábbi képernyőkép kijelölt részében látható.
Mint látható, a parancs minden egyes futtatásakor 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. Nem végezhet rajta semmilyen számítást. Könnyen használhatjuk a reguláris kifejezést csak a hőmérsékleti adatok kinyerésére és bármilyen típusú számítás elvégzésére.
Ha a hőmérsékleti adatokat egy Bash shell parancsfájlban kívánja használni, akkor a hőmérsékleti adatokat kivonhatja egrep parancsot az alábbiak szerint:
$ vcgencmd intézkedés_hőmérséklet | egrep -o '[0-9] * \.[0-9] * 'Mint látható, csak a hőmérsékleti adatok vannak kinyomtatva. Sem előtte, sem utána nincs semmi.
Használhatja a shell szkriptjén (mondjuk print_temp.SH) alábbiak szerint:
$ nano print_temp.SH
Itt, a 3. vonalon állítottam be a temp változó az elemzett hőmérsékleti adatokhoz, amelyeket a vcgencmd és grep parancs.
Az 5. vonalon használtam visszhang hogy kinyomtassuk a temp változó a képernyőn.
Az 1. sort arra használjuk, hogy elmondjuk a Linuxnak, hogy a parancsfájlt ezzel kell végrehajtani / bin / bash alapértelmezés szerint.
Most tegye a futtatható parancsfájlt a következő paranccsal:
$ chmod + x print_temp.SH
Most futtassa a szkriptet az alábbiak szerint:
$ ./ print_temp.SHMint látható, a kívánt kimenet kinyomtatásra kerül a képernyőn.
Raspberry Pi hőmérsékletfigyelő szkript írása:
Most, hogy elemezhetjük azokat a hőmérsékleti adatokat, amelyeket a vcgencmd parancs segítségével könnyen megírhatunk egy hőmérsékletfigyelő szkriptet a Raspberry Pi számára. A hőmérsékletfigyelő szkript minden pillanatban szép formátumban kinyomtatja az aktuális időbélyeget és maghőmérsékletet.
Először hozzon létre egy új szkriptet tempmon.SH a következő paranccsal:
$ touch tempmon.SHMost szerkessze a tempmon.SH szkript a következő paranccsal:
$ nano tempmon.SH
Írja be a következő kódsorokat, és mentse a fájlt a
Itt, a 4. vonalon, printf A TIMESTAMP és a TEMP (degC) karakterláncok rögzített szélességű oszlopként történő nyomtatására szolgál.
Az 5. vonalon használtam printf ismét szaggatott vonal nyomtatásához, hogy a kimenet olvashatóbb és vonzóbb legyen.
A 7-13 vonalon végtelen ciklust futottam, hogy másodpercenként kinyomtassam a hőmérsékleti adatokat.
A 9-es vonalon az elemzett hőmérsékleti adatokat tároltam a temp változó.
A 10-es vonalon tároltam az időbélyeg adatait, amelyeket a dátum parancs a időbélyeg változó.
A 11. vonalon a dátumot és az időt időbélyeg formátumban, a hőmérsékleti adatokat pedig rögzített szélességű oszlop formátumban nyomtattam.
A 12. sorban az sleep 1 parancsot használtam a szkript végrehajtásának egy másodpercig történő megtartására. Utána a hurok folytatódik.
Most készítsd el a forgatókönyvet tempmon.SH a következő paranccsal futtatható:
$ 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-ellenőrző parancsfájl tökéletesen működik. A hőmérsékleti adatokat másodpercenként nyomtatja.
Amint láthatja, ahogy növeltem a rendszer terhelését, a hőmérséklet enyhén emelkedett.
Ha le szeretné állítani a hőmérsékletfigyelő parancsfájlt, nyomja meg a gombot
Most, hogy a hőmérsékletfigyelő szkript működik, másoljuk át / usr / bin Könyvtár. Így futtathatja, mint bármely más Linux parancsot.
A szkript másolása tempmon.SH hoz / usr / bin könyvtárba, futtassa a következő parancsot:
$ sudo cp tempmon.sh / usr / bin / tempmon
Amint láthatja, futtathatom a hőmérsékletfigyelő szkriptet, ahogy a szokásos Linux parancsokat is futtatom.
Módosítása tempmon a hőmérsékleti adatok nyomtatásához Fahrenheit-ben:
Könnyedén konvertálhatja a hőmérsékleti adatokat Celsius-ról Fahrenheitre.
A széles körben ismert képlet a hőmérséklet Fahrenheitban történő kiszámításához Celsius-ból:,
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 Raspbian-ra. De könnyen telepítheti a következő paranccsal:
$ sudo apt install bc
időszámításunk előtt telepíteni kell.
Most módosítania kell a hőmérsékletfigyelő parancsfájlt, és meg kell végeznie a szükséges számításokat a hőmérséklet Fahrenheit-re történő átszámításához Celsius-ból időszámításunk előtt.
Szerkessze a tempmon.SH szkript a következő paranccsal:
$ nano tempmon.SH
Most végezze el a módosításokat az alábbi képernyőképen látható módon.
Itt, a 4. soron nyomtattam TEMP (F) ahelyett TEMP (degC).
A 9. vonalon megváltoztattam a változót a temp nak nek tempC.
A 10. vonalon hozzáadtam a Celsius-Fahrenheit konverzió eredményét egy változóhoz tempF.
Végül kinyomtattam a tempF változó helyett temp a 12. vonalon.
Most futtassa a szkriptet az alábbiak szerint:
$ ./ tempmonAmint láthatja, a hőmérséklet Fahrenheit egységben van megadva.
Tehát így figyelemmel kíséri a Raspberry Pi hőmérsékletét. Köszönjük, hogy elolvasta ezt a cikket.