Monitor temperatury Raspberry Pi

Monitor temperatury Raspberry Pi
Raspberry Pi to potężny komputer z jednym płytą (SBC). Można go użyć do wykonywania wielu wyrafinowanych zadań. Ale zwiększy to temperaturę procesora urządzeń Raspberry Pi. Co nie jest dobre. Wydajność Raspberry Pi SBC będzie ucierpiła z powodu temperatury. Jest to również znane jako ograniczenie termiczne.

Jeśli temperatura procesora Raspberry Pi jest powyżej 80 stopni Celsjusza, zobaczysz ikonę termometru w prawym górnym rogu ekranu. Oficjalnie Fundacja Raspberry Pi zaleca, aby temperatura urządzenia Raspberry Pi była poniżej 85 stopni Celsjusza, aby działała poprawnie. To maksymalny limit. Ale zacząłoby się dławić na poziomie 82 stopni Celsjusza.

W tym artykule pokażę, jak monitorować temperaturę swojego Raspberry Pi. Będę używać systemu operacyjnego Raspbian na moim urządzeniu Raspberry Pi 3 Model B. Ale powinien działać na każdym Raspberry Pi SBC z zainstalowanym systemem operacyjnym Raspbian.

Mierzenie temperatury malin PI SBC:

Możesz zmierzyć temperaturę rdzenia urządzenia Raspberry Pi za pomocą następującego polecenia:

$ vcgencmd miar_temp

Obecna temperatura rdzenia wynosi 48.3 stopnie Celsjusza, jak widać w zaznaczonej części zrzutu ekranu poniżej.

Jak widać, za każdym razem, gdy uruchamiam polecenie, pokazuje inną wartość temperatury.

Parsowanie danych temperatury:

Dane dotyczące temperatury, które otrzymujemy z VCGENCMD Polecenie to ciąg. Nie możesz wykonać żadnych obliczeń. Możemy łatwo użyć wyrażenia regularnego do wyodrębnienia tylko danych temperatury i wykonania dowolnego rodzaju obliczeń.

Jeśli chcesz użyć danych temperatury w skrypcie powłoki bash, możesz wyodrębnić dane temperatury za pomocą Egrep polecenie w następujący sposób:

$ vcgencmd miar_temp | egrep -o '[0-9]*\.[0-9]*'

Jak widać, wydrukowane są tylko dane temperaturowe. Nie ma nic przed lub po tym.

Możesz użyć go na skrypcie powłoki (powiedzmy print_temp.cii) Jak następuje:

$ nano print_temp.cii

Tutaj, On Line 3, ustawiłem Temp zmienne do przeanalizowanych danych temperatury, które otrzymuję z VCGENCMD I Grep Komenda.

On line 5, użyłem Echo Aby wydrukować zawartość Temp zmienna na ekranie.

Wiersz 1 służy do informowania Linuksa, że ​​skrypt powinien być wykonywany za pomocą /bin/bash domyślnie.

Teraz spraw, aby skrypt był wykonywany za pomocą następującego polecenia:

$ chmod +x print_temp.cii

Teraz uruchom skrypt w następujący sposób:

$ ./print_temp.cii

Jak widać, żądane wyjście jest wydrukowane na ekranie.

Pisanie skryptu monitorowania temperatury Raspberry PI:

Teraz, gdy możemy przeanalizować dane temperaturowe, które otrzymujemy z VCGENCMD polecenie, możemy łatwo napisać skrypt monitorowania temperatury dla Raspberry Pi. Skrypt monitorowania temperatury wydrukuje bieżący znacznik czasu i temperatura rdzenia co sekundę na ekranie w ładnie sformatowany sposób.

Najpierw utwórz nowy skrypt tempon.cii Z następującym poleceniem:

$ Touch Tempmon.cii

Teraz edytuj tempon.cii skrypt z następującym poleceniem:

$ nano tempmon.cii

Teraz wpisz następujące wiersze kodów i zapisz plik za pomocą + X a następnie naciśnij y śledzony przez .

Tutaj, online 4, printf służy do wydrukowania strefamentu i ciągów temp (degc) jako kolumny o stałej szerokości.

On line 5, użyłem printf Ponownie, aby wydrukować linię przerywaną, aby wyjście była bardziej czytelna i atrakcyjna.

W linii 7-13 prowadziłem nieskończoną pętlę, aby wydrukować dane dotyczące temperatury co sekundę.

On line 9, przechowyłem przeanalizowane dane temperatury na Temp zmienny.

On line 10, zapisałem dane o znaczniku czasu, które otrzymałem z data polecenie na znak czasu zmienny.

W linii 11 wydrukowałem datę i godzinę w formacie znacznika czasu i danych temperatury w formacie kolumny o stałej szerokości.

On wiersz 12 użyłem polecenia Sleep 1, aby przez sekundę wykonać wykonanie skryptu. Następnie pętla będzie kontynuowana.

Teraz zrób skrypt tempon.cii wykonywa się z następującym poleceniem:

$ chmod +x tempmon.cii

Na koniec uruchom skrypt tempon.cii Z następującym poleceniem:

$ ./tempmon.cii

Jak widać, skrypt monitorowania temperatury działa idealnie. Drukuje dane dotyczące temperatury co sekundę.

Jak widać, gdy zwiększałem obciążenie systemu, temperatura nieznacznie wzrosła.

Jeśli chcesz zatrzymać skrypt monitorowania temperatury, naciśnij + C. Monitorowanie temperatury nie działa już, jak widać na zrzucie ekranu poniżej.

Teraz, gdy działa skrypt monitorowania temperatury, skopiujmy to do /usr/bin informator. W ten sposób możesz uruchomić go jak każde inne polecenia Linux.

Aby skopiować skrypt tempon.cii do /usr/bin Directory, uruchom następujące polecenie:

$ sudo cp tempmon.sh/usr/bin/tempmon

Jak widać, mogę uruchomić skrypt monitorowania temperatury, tak jak uruchamiam standardowe polecenia Linux.

Modyfikacja tempon do drukowania danych temperaturowych w Fahrenheicie:

Możesz łatwo przekonwertować dane temperaturowe z Celsjusza na Fahrenheita.

Powszechnie znana formuła obliczania temperatur w Fahrenheicie z Celsjusza jest,

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

Ale problem polega na tym, że powłoka bash nie ma niezbędnych funkcji do wykonywania obliczeń zmiennoprzecinkowych. Musisz więc polegać na niektórych innych programach, takich jak pne.

pne domyślnie nie jest instalowany na Raspbian. Ale możesz łatwo zainstalować go za pomocą następującego polecenia:

$ sudo apt instal BC

pne należy zainstalować.

Teraz musisz zmodyfikować skrypt monitorowania temperatury i dokonać niezbędnych obliczeń, aby przekształcić temperaturę na Fahrenheita z Celsjusza pne.

Edytuj tempon.cii skrypt z następującym poleceniem:

$ nano tempmon.cii

Teraz dokonaj modyfikacji oznaczonych na zrzucie ekranu poniżej.

Tutaj, w linii 4, wydrukowałem Temp (f) zamiast Temp (Degc).

On line 9 zmieniłem zmienną z Temp Do TEMPC.

W linii 10 dodałem wynik konwersji Celsjusza do Fahrenheita na zmienną TEMPF.

Wreszcie wydrukowałem wartość TEMPF zmienna zamiast Temp On line 12.

Teraz uruchom skrypt w następujący sposób:

$ ./tempmon

Jak widać, temperatura jest drukowana w jednostce Fahrenheita.

W ten sposób monitorujesz temperaturę w Raspberry Pi. Dziękujemy za przeczytanie tego artykułu.