Raspberry Pi

Монитор за температура на Raspberry Pi

Монитор за температура на Raspberry Pi
Raspberry Pi е мощен компютър с една платка (SBC). Може да се използва за извършване на много сложни задачи. Но това ще увеличи температурата на процесора на устройствата Raspberry Pi. Което не е добре. Работата на Raspberry Pi SBC ще пострада поради температурата. Това е известно още като термично регулиране.

Ако температурата на процесора на вашия Raspberry Pi е над 80 градуса по Целзий, ще видите икона на термометър в горния десен ъгъл на екрана. Официално Фондация Raspberry Pi препоръчва температурата на вашето устройство Raspberry Pi да бъде под 85 градуса по Целзий, за да работи правилно. Това е максималният лимит. Но тя ще започне да регулира при 82 градуса по Целзий.

В тази статия ще ви покажа как да наблюдавате температурата на вашия Raspberry Pi. Ще използвам Raspbian операционна система на устройството си Raspberry Pi 3 Model B. Но трябва да работи на всеки Raspberry Pi SBC с инсталирана операционна система Raspbian.

Измерване на температурата на Raspberry Pi SBC:

Можете да измерите температурата на сърцевината на вашето Raspberry Pi устройство със следната команда:

$ vcgencmd измерване_темп

Текущата температура на сърцевината е 48.3 градуса по Целзий, както можете да видите в маркирания раздел на екранната снимка по-долу.

Както можете да видите, всеки път, когато стартирам командата, показва различна стойност на температурата.

Анализиране на данните за температурата:

Данните за температурата, които получаваме от vcgencmd команда е низ. Не можете да извършите никакво изчисление върху него. Можем лесно да използваме Регуларен израз, за ​​да извлечем само данните за температурата и да извършим всякакъв вид изчисления върху тях.

Ако искате да използвате данните за температурата в скрипт на Bash shell, тогава можете да извлечете данните за температурата с егреп команда, както следва:

$ vcgencmd измерване_темп | egrep -o '[0-9] * \.[0-9] * '

Както можете да видите, се отпечатват само данните за температурата. Няма нищо преди или след него.

Можете да го използвате на вашия скрипт на черупката (да кажем print_temp.ш) както следва:

$ nano print_temp.ш

Тук, на ред 3, зададох темп променлива към анализираните данни за температурата, които получавам от vcgencmd и grep команда.

На линия 5 използвах ехо за да отпечатате съдържанието на темп променлива на екрана.

Ред 1 се използва, за да каже на Linux, че скриптът трябва да се изпълни с / bin / bash по подразбиране.

Сега направете скрипта изпълним със следната команда:

$ chmod + x print_temp.ш

Сега стартирайте скрипта, както следва:

$ ./ print_temp.ш

Както можете да видите, желаният изход се отпечатва на екрана.

Писане на скрипт за наблюдение на температурата на Raspberry Pi:

Сега, когато можем да анализираме данните за температурата, които получаваме от vcgencmd команда, можем лесно да напишем скрипт за наблюдение на температурата за Raspberry Pi. Скриптът за мониторинг на температурата ще отпечатва текущия клеймо и температурата на сърцевината всяка секунда на екрана по добре форматиран начин.

Първо, създайте нов скрипт темпмон.ш със следната команда:

$ touch tempmon.ш

Сега редактирайте темпмон.ш скрипт със следната команда:

$ nano tempmon.ш

Сега въведете следните редове кодове и запишете файла с + х и след това натиснете у следван от .

Тук, на ред 4, printf се използва за отпечатване на низовете TIMESTAMP и TEMP (degC) като колона с фиксирана ширина.

На линия 5 използвах printf отново да отпечатате пунктирана линия, само за да направите изхода по-четлив и привлекателен.

На линия 7-13 проведох безкраен цикъл, за да отпечатам температурните данни всяка секунда.

На ред 9 съхраних данните за синтактичен анализ на темп променлива.

На ред 10 съхраних данните за времевия клей, които получих от дата команда на клеймо за време променлива.

На ред 11 отпечатах датата и часа във формат на клеймо за време и данните за температурата във формат колона с фиксирана ширина.

На ред 12 използвах командата sleep 1, за да задържа изпълнението на скрипта за секунда. След това цикълът ще продължи.

Сега направете сценария темпмон.ш изпълним със следната команда:

$ chmod + x tempmon.ш

Накрая стартирайте скрипта темпмон.ш със следната команда:

$ ./ темпмон.ш

Както можете да видите, скриптът за температурен монитор работи перфектно. Отпечатва температурните данни всяка секунда.

Както можете да видите, тъй като увеличих натоварването на системата, температурата леко се повиши.

Ако искате да спрете скрипта за наблюдение на температурата, натиснете + ° С. Мониторингът на температурата вече не работи, както можете да видите на екранната снимка по-долу.

Сега, когато скриптът за наблюдение на температурата работи, нека го копираме в / usr / bin директория. По този начин можете да го стартирате като всички други команди на Linux.

За да копирате скрипта темпмон.ш към / usr / bin директория, изпълнете следната команда:

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

Както можете да видите, мога да стартирам скрипт за наблюдение на температурата, точно както изпълнявам стандартни команди на Linux.

Модифициране темпмон за отпечатване на температурни данни във Фаренхайт:

Можете лесно да конвертирате данните за температурата от Целзий във Фаренхайт.

Широко известната формула за изчисляване на температурите във Фаренхайт от Целзий е,

F = (9/5) * C + 32
Или
F = 1.8 * С + 32

Но проблемът е, че черупката на bash няма необходимите функции за извършване на изчисления с плаваща запетая. Така че, трябва да разчитате на някои други програми като пр.н.е.

пр.н.е не е инсталиран на Raspbian по подразбиране. Но можете лесно да го инсталирате със следната команда:

$ sudo apt install bc

пр.н.е трябва да се инсталира.

Сега трябва да промените скрипта за наблюдение на температурата и да направите необходимите изчисления, за да преобразувате температурата във Фаренхайт от Целзий с пр.н.е.

Редактирайте темпмон.ш скрипт със следната команда:

$ nano tempmon.ш

Сега направете модификациите, както е отбелязано на екранната снимка по-долу.

Тук, на ред 4, отпечатах TEMP (F) вместо TEMP (° C).

На ред 9 промених променливата от темп да се tempC.

На ред 10 добавих резултата от преобразуването на Целзий във Фаренхайт в променлива tempF.

Накрая отпечатах стойността на tempF променлива вместо темп на ред 12.

Сега стартирайте скрипта, както следва:

$ ./ темпмон

Както можете да видите, температурата се отпечатва във Фаренхайт.

Така че вие ​​следите температурата в Raspberry Pi. Благодаря, че прочетохте тази статия.

SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...
Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...
0 А.д. Урок
От многото стратегически игри, 0 A.д. успява да се открои като изчерпателно заглавие и много дълбока, тактическа игра, въпреки че е с отворен код. Раз...