Monitor teploty Raspberry Pi

Raspberry Pi Temperature Monitor



Raspberry Pi je výkonný jednodeskový počítač (SBC). Lze jej použít k provádění mnoha náročných úkolů. Pokud tak učiníte, zvýší se teplota procesoru zařízení Raspberry Pi. Což není dobré. Výkon Raspberry Pi SBC utrpí kvůli teplotě. Toto je také známé jako tepelné škrcení.

Pokud je teplota procesoru vašeho Raspberry Pi vyšší než 80 stupňů Celsia, v pravém horním rohu obrazovky se zobrazí ikona teploměru. Oficiálně Raspberry Pi Foundation doporučuje, aby teplota vašeho zařízení Raspberry Pi byla pod 85 stupňů Celsia, aby správně fungovalo. To je maximální limit. Začalo by to ale škrcení při 82 stupních Celsia.







V tomto článku vám ukážu, jak sledovat teplotu vašeho Raspberry Pi. Na svém zařízení Raspberry Pi 3 Model B budu používat operační systém Raspbian. Ale mělo by to fungovat na jakémkoli Raspberry Pi SBC s nainstalovaným operačním systémem Raspbian.



Teplotu jádra vašeho zařízení Raspberry Pi můžete měřit následujícím příkazem:



$vcgencmd opatření_teplota

Aktuální teplota jádra je 48,3 stupňů Celsia, jak můžete vidět v označené části níže uvedeného snímku obrazovky.





Jak vidíte, při každém spuštění příkaz ukazuje jinou hodnotu teploty.



Analýza teplotních dat:

Teplotní údaje, které získáme z vcgencmd příkaz je řetězec. Nelze s tím provádět žádné výpočty. Regulární výraz můžeme snadno použít k extrahování pouze teplotních dat a provádět na nich jakýkoli typ výpočtu.

Pokud chcete použít teplotní data ve skriptu Bash Shell, můžete data teploty extrahovat pomocí egrep příkaz následovně:

$vcgencmd opatření_teplota| egrep -nebo '[0-9] * . [0-9] *'

Jak vidíte, tisknou se pouze údaje o teplotě. Není nic před tím ani po něm.

Můžete jej použít ve svém skriptu Shell (řekněme print_temp.sh ) jak následuje:

$nanoprint_temp.sh

Zde na řádku 3 jsem nastavil tepl proměnné na analyzované teplotní údaje, které získám z vcgencmd a rukojeť příkaz.

Na řádku 5 jsem použil vyhodil vytisknout obsah souboru tepl proměnná na obrazovce.

Řádek 1 slouží k informování Linuxu, že by měl být skript spuštěn /bin/bash ve výchozím stavu.

Nyní spusťte spustitelný skript pomocí následujícího příkazu:

$chmod+ x print_temp.sh

Nyní spusťte skript následujícím způsobem:

$./print_temp.sh

Jak vidíte, požadovaný výstup je vytištěn na obrazovce.

Psaní skriptu pro monitorování teploty Raspberry Pi:

Nyní, když můžeme analyzovat údaje o teplotě, které získáme z vcgencmd příkaz, můžeme snadno napsat skript monitorování teploty pro Raspberry Pi. Skript monitorování teploty každou sekundu na obrazovce pěkně formátovaným způsobem vytiskne aktuální časové razítko a teplotu jádra.

Nejprve vytvořte nový skript tempmon.sh s následujícím příkazem:

$dotektempmon.sh

Nyní upravte tempmon.sh skript s následujícím příkazem:

$nanotempmon.sh

Nyní zadejte následující řádky kódů a soubor uložte pomocí + X a poté stiskněte a následován .

Tady, na řádku 4, printf se používá k tisku řetězců TIMESTAMP a TEMP (degC) jako sloupec s pevnou šířkou.

Na řádku 5 jsem použil printf znovu vytisknout přerušovanou čáru, aby byl výstup čitelnější a přitažlivější.

Na řádku 7-13 jsem spustil nekonečnou smyčku pro tisk teplotních dat každou sekundu.

Na řádek 9 jsem uložil analyzované údaje o teplotě na tepl proměnná.

Na řádek 10 jsem uložil data časového razítka, která jsem získal z datum příkaz na časové razítko proměnná.

Na řádek 11 jsem vytiskl datum a čas ve formátu časových razítek a údaje o teplotě ve formátu sloupců s pevnou šířkou.

Na řádku 12 jsem použil příkaz sleep 1 k podržení spuštění skriptu na sekundu. Poté bude smyčka pokračovat.

Nyní vytvořte skript tempmon.sh spustitelný s následujícím příkazem:

$chmod+ x tempmon.sh

Nakonec spusťte skript tempmon.sh s následujícím příkazem:

$./tempmon.sh

Jak vidíte, skript sledování teploty funguje perfektně. Tiskne údaje o teplotě každou sekundu.

Jak vidíte, jak jsem zvyšoval zatížení systému, teplota se mírně zvýšila.

Pokud chcete skript sledování teploty zastavit, stiskněte + C . Monitorování teploty již nefunguje, jak můžete vidět na obrázku níže.

Nyní, když skript monitorování teploty funguje, zkopírujme jej do /usr/bin adresář. Tímto způsobem jej můžete spustit jako všechny ostatní příkazy Linuxu.

Chcete -li zkopírovat skript tempmon.sh do /usr/bin adresář, spusťte následující příkaz:

$sudo cptempmon.sh/usr/dopoledne/tempmon

Jak vidíte, skript pro sledování teploty mohu spustit stejně jako standardní příkazy Linuxu.

Úpravy tempmon pro tisk teplotních údajů ve stupních Fahrenheita:

Údaje o teplotě můžete snadno převést z stupňů Celsia na stupně Fahrenheita.

Široce známý vzorec pro výpočet teplot ve stupních Fahrenheita z Celsia je,

F =(9/5)*C +32
Nebo
F =1,8 *C +32

Ale problém je, že bash shell nemá potřebné funkce pro provádění výpočtů s plovoucí desetinnou čárkou. Musíte se tedy spolehnout na některé další programy, jako je před naším letopočtem .

před naším letopočtem není ve výchozím nastavení nainstalován na Raspbian. Můžete jej však snadno nainstalovat pomocí následujícího příkazu:

$sudovýstižnýNainstalujte před naším letopočtem

před naším letopočtem by měl být nainstalován.

Nyní musíte upravit skript monitorování teploty a provést potřebné výpočty pro převod teploty na Fahrenheita z Celsia pomocí před naším letopočtem .

Upravit tempmon.sh skript s následujícím příkazem:

$nanotempmon.sh

Nyní proveďte změny, jak je uvedeno na obrázku níže.

Zde jsem na řádku 4 vytiskl TEPLOTA (F) namísto TEPLOTA (degC) .

Na řádku 9 jsem změnil proměnnou z tepl na tempC .

Na řádek 10 jsem do proměnné přidal výsledek převodu Celsia na Fahrenheita tempF .

Nakonec jsem vytiskl hodnotu tempF proměnná místo tepl na řádku 12.

Nyní spusťte skript následujícím způsobem:

$./tempmon

Jak vidíte, teplota je vytištěna v jednotkách Fahrenheita.

Takto monitorujete teplotu v Raspberry Pi. Děkujeme za přečtení tohoto článku.