Монитор температуре Распберри Пи

Raspberry Pi Temperature Monitor



Распберри Пи је моћан сингле боард рачунар (СБЦ). Може се користити за обављање многих софистицираних задатака. Али то ће повећати температуру процесора Распберри Пи уређаја. Што није добро. Перформансе Распберри Пи СБЦ ће трпети због температуре. Ово је такође познато као термичко пригушивање.

Ако је температура процесора вашег Распберри Пи изнад 80 степени Целзијуса, видећете икону термометра у горњем десном углу екрана. Званично, Фондација Распберри Пи препоручује да температура вашег уређаја Распберри Пи треба да буде испод 85 степени Целзијуса да би правилно функционисала. То је максимална граница. Али почео би да се пригушује на 82 степена Целзијуса.







У овом чланку ћу вам показати како да пратите температуру вашег Распберри Пи. Користићу Распбиан оперативни систем на свом Распберри Пи 3 Модел Б уређају. Али требало би да ради на било ком Распберри Пи СБЦ са инсталираним Распбиан оперативним системом.



Основну температуру вашег Распберри Пи уређаја можете мерити следећом командом:



$вцгенцмд мјера_темп

Тренутна температура језгре је 48,3 степена Целзијуса, што можете видети у означеном делу снимка екрана испод.





Као што видите, сваки пут када покренем наредба приказује различите вредности температуре.



Рашчлањивање података о температури:

Подаци о температури које добијамо из вцгенцмд команда је низ. На њему не можете извршити никакав прорачун. Регуларни израз можемо лако користити за издвајање само података о температури и извршавање било које врсте прорачуна на њима.

Ако желите да користите податке о температури у скрипти Басх љуске, онда можете извући податке о температури помоћу егреп наредите на следећи начин:

$вцгенцмд мјера_темп| егреп -или '[0-9] * . [0-9] *'

Као што видите, штампају се само подаци о температури. Нема ни пре ни после тога.

Можете га користити на скрипти љуске (рецимо принт_темп.сх ) као што следи:

$нанопринт_темп.сх

Овде, на линији 3, поставио сам темп променљиво у податке о рашчлањеној температури које добијам из вцгенцмд и дршка команда.

На линији 5 користио сам Избацио за штампање садржаја темп променљива на екрану.

Линија 1 се користи да каже Линук -у да би скрипта требало да се изврши помоћу /бин/басх подразумевано.

Сада учините скрипту извршном следећом командом:

$цхмод+ к принт_темп.сх

Сада покрените скрипту на следећи начин:

$./принт_темп.сх

Као што видите, жељени излаз се штампа на екрану.

Писање скрипте за надзор температуре Распберри Пи:

Сада када можемо рашчланити податке о температури које добијамо из вцгенцмд командом, лако можемо написати скрипту за праћење температуре за Распберри Пи. Скрипта за праћење температуре штампаће тренутну временску ознаку и температуру језгре сваке секунде на екрану на лепо обликован начин.

Прво креирајте нову скрипту темпмон.сх са следећом командом:

$додиртемпмон.сх

Сада уредите темпмон.сх скрипта са следећом командом:

$нанотемпмон.сх

Сада унесите следеће редове кодова и сачувајте датотеку помоћу + Икс а затим притисните и затим .

Овде, на линији 4, принтф користи се за штампање низова ТИМЕСТАМП и ТЕМП (дегЦ) као колоне фиксне ширине.

На линији 5 користио сам принтф поново за штампање испрекидане линије само да би испис био читљивији и привлачнији.

На линији 7-13 покренуо сам бесконачну петљу за штампање података о температури сваке секунде.

На линији 9 сам сачувао податке о рашчлањеној температури на темп променљива.

На линији 10 сам сачувао податке о временској ознаци које сам добио од датум команда на временска ознака променљива.

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

На линији 12 користио сам наредбу слееп 1 да задржим извршење скрипте на секунду. Након тога, петља ће се наставити.

Сада, направите сценарио темпмон.сх извршна са следећом командом:

$цхмод+ к темпмон.сх

На крају, покрените скрипту темпмон.сх са следећом командом:

$./темпмон.сх

Као што видите, скрипта за праћење температуре ради савршено. Штампа податке о температури сваке секунде.

Као што видите, како сам повећавао оптерећење система, температура се благо повећала.

Ако желите да зауставите скрипту за праћење температуре, притисните + ц . Надзор температуре више не ради као што можете видети на слици испод.

Сада када скрипта за праћење температуре ради, копирајмо је у /уср/бин именик. На тај начин можете га покренути као и све друге команде Линука.

Да бисте копирали скрипту темпмон.сх до /уср/бин директоријум, покрените следећу команду:

$судо цптемпмон.сх/уср/сам/темпмон

Као што видите, могу да покренем скрипту за праћење температуре баш као и стандардне команде Линука.

Модификовање темпмон за штампање података о температури у Фаренхајту:

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

Надалеко позната формула за израчунавање температура у Фаренхајту из Целзијуса је,

Ф =(9/5)*Ц +32
Ор
Ф =1.8 *Ц +32

Али проблем је у томе што басх љуска нема потребне функције за извођење израчунавања у покретном зарезу. Дакле, морате се ослонити на неке друге програме као што су пре нове ере .

пре нове ере није подразумевано инсталиран на Распбиан. Али можете га лако инсталирати помоћу следеће команде:

$судопогоданинсталирај пре нове ере

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

Сада морате да измените скрипту за праћење температуре и направите потребне прорачуне да бисте температуру претворили у Фаренхајт из Целзијуса помоћу пре нове ере .

Измените темпмон.сх скрипта са следећом командом:

$нанотемпмон.сх

Сада направите измене како је означено на слици испод.

Овде, на линији 4, штампао сам ТЕМП (Ф) уместо ТЕМП (дегЦ) .

На линији 9 променио сам променљиву из темп до темпЦ .

На линији 10, променљивој сам додао резултат конверзије Целзијуса у Фаренхајта темпФ .

На крају сам одштампао вредност темпФ променљива уместо темп на линији 12.

Сада покрените скрипту на следећи начин:

$./темпмон

Као што видите, температура се штампа у Фаренхајтовој јединици.

Дакле, тако пратите температуру у Распберри Пи. Хвала што сте прочитали овај чланак.