Ако температурата на процесора на вашия 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. Благодаря, че прочетохте тази статия.