Raspberry Pi

Raspberry Pi hőmérséklet-figyelő

Raspberry Pi hőmérséklet-figyelő
A Raspberry Pi egy nagy teljesítményű egypaneles számítógép (SBC). Sok kifinomult feladat elvégzésére használható. De ez megnöveli a Raspberry Pi készülékek processzorának hőmérsékletét. Ami nem jó. A hőmérséklet miatt a Raspberry Pi SBC teljesítménye meg fog romlani. Ez más néven termikus fojtás.

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éklet

A 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.SH

Mint 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.SH

Most 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 + x majd nyomja meg y utána .

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.SH

Mint 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 + c. A hőmérséklet-ellenőrzé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 / 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 + 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 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:

$ ./ tempmon

Amint 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.

Csata a Wesnoth bemutatóért
A Battle for Wesnoth az egyik legnépszerűbb nyílt forráskódú stratégiai játék, amelyet jelenleg játszhatsz. Ez a játék nem csak nagyon hosszú ideje fe...
0 A.D. Bemutató
A sok stratégiai játék közül 0 A.D. átfogó címként és nagyon mély, taktikus játékként képes kiemelkednie annak ellenére, hogy nyílt forráskódú. A játé...
Unity3D bemutató
Bevezetés a Unity 3D-be Az Unity 3D egy erőteljes játékfejlesztő motor. Ez több platformon keresztül lehetővé teszi játékok, mobil, webes, asztali és ...