Raspberry Pi temperatuuri monitor

Raspberry Pi Temperature Monitor

Raspberry Pi on võimas ühe pardaarvuti (SBC). Seda saab kasutada paljude keerukate ülesannete täitmiseks. Kuid seda tehes tõuseb Raspberry Pi seadmete protsessori temperatuur. Mis pole hea. Raspberry Pi SBC jõudlus kannatab temperatuuri tõttu. Seda nimetatakse ka termiliseks drosseliks.

Kui teie Raspberry Pi protsessori temperatuur on üle 80 kraadi Celsiuse järgi, näete ekraani paremas ülanurgas termomeetriikooni. Ametlikult soovitab Raspberry Pi Foundation, et teie Raspberry Pi seadme temperatuur peaks olema korralikult töötamiseks alla 85 kraadi Celsiuse järgi. See on maksimaalne piir. Kuid see käivitaks gaasi 82 ​​kraadi juures.



Selles artiklis näitan teile, kuidas oma Raspberry Pi temperatuuri jälgida. Kasutan oma Raspberry Pi 3 mudeli B seadmes Raspbiani operatsioonisüsteemi. Kuid see peaks töötama mis tahes Raspberry Pi SBC -ga, kuhu on installitud Raspbiani operatsioonisüsteem.



Raspberry Pi seadme sisetemperatuuri saate mõõta järgmise käsuga:



$vcgencmd mõõtmistemperatuur

Praegune sisetemperatuur on 48,3 kraadi Celsiuse järgi, nagu näete alloleval ekraanipildil.

Nagu näete, näitab käsk igal käivitamisel erinevat temperatuuri väärtust.



Temperatuuri andmete sõelumine:

Temperatuuriandmed, mille saame vcgencmd käsk on string. Te ei saa sellega arvutusi teha. Regulaaravaldist saame hõlpsalt kasutada ainult temperatuuriandmete ekstraheerimiseks ja nende jaoks mis tahes tüüpi arvutuste tegemiseks.

Kui soovite kasutada temperatuuriandmeid Bash shelli skriptis, saate temperatuuri andmed ekstraheerida egrep käsk järgmiselt:

$vcgencmd mõõtmistemperatuur| egrep -või '[0-9] * . [0-9] *'

Nagu näete, prinditakse ainult temperatuuri andmed. Enne ega pärast pole midagi.

Saate seda kasutada oma shelliskriptis (oletame print_temp.sh ) järgnevalt:

$nanoprint_temp.sh

Siin, real 3, seadsin temp muutuja vastavalt parsitud temperatuuriandmetele, mille saan vcgencmd ja haaret käsk.

5. real kasutasin viskas välja sisu printimiseks temp muutuja ekraanil.

Rida 1 kasutatakse Linuxile ütlemiseks, et skripti tuleks käivitada /bin/bash vaikimisi.

Nüüd tehke skript käivitatavaks järgmise käsuga:

$chmod+ x print_temp.sh

Nüüd käivitage skript järgmiselt:

$./print_temp.sh

Nagu näete, prinditakse ekraanile soovitud väljund.

Raspberry Pi temperatuuri jälgimise skripti kirjutamine:

Nüüd, kui saame parsida temperatuuriandmeid, mille saame vcgencmd käsku, saame hõlpsalt kirjutada Raspberry Pi jaoks temperatuuri jälgimise skripti. Temperatuuri jälgimise skript prindib ekraanile iga sekundi praeguse ajatempli ja sisetemperatuuri kenasti vormindatud viisil.

Esiteks looge uus skript tempmon.sh järgmise käsuga:

$puudutadatempmon.sh

Nüüd muutke tempmon.sh skripti järgmise käsuga:

$nanotempmon.sh

Nüüd tippige järgmised koodiridad ja salvestage fail + x ja seejärel vajutage ja millele järgnes .

Siin, liinil 4, printf kasutatakse stringide TIMESTAMP ja TEMP (degC) printimiseks fikseeritud laiusega veeruna.

5. real kasutasin printf uuesti, et printida katkendlik joon, et muuta väljund loetavamaks ja atraktiivsemaks.

Reas 7-13 jooksin lõpmatu ringi, et printida temperatuuri andmeid iga sekund.

Reale 9 salvestasin parsitud temperatuuri andmed temp muutuja.

Reale 10 salvestasin ajatempliandmed, mille sain kuupäev käsku ajatempel muutuja.

Reale 11 printisin kuupäeva ja kellaaja ajatempli vormingus ning temperatuuri andmed kindla laiusega veerguvormingus.

Reas 12 kasutasin käsku uni 1, et hoida sekundiks skripti täitmine. Pärast seda tsükkel jätkub.

Nüüd tehke skript tempmon.sh käivitatav järgmise käsuga:

$chmod+ x tempmon.sh

Lõpuks käivitage skript tempmon.sh järgmise käsuga:

$./tempmon.sh

Nagu näete, töötab temperatuurimonitori skript ideaalselt. See prindib temperatuuri andmeid iga sekund.

Nagu näete, tõstsin süsteemi koormust suurendades veidi temperatuuri.

Kui soovite temperatuuri jälgimise skripti peatada, vajutage + c . Temperatuuri jälgimine ei tööta enam, nagu näete alloleval ekraanipildil.

Nüüd, kui temperatuuri jälgimise skript töötab, kopeerime selle aadressile /usr/bin kataloogi. Nii saate seda käivitada nagu kõiki teisi Linuxi käske.

Skripti kopeerimiseks tempmon.sh juurde /usr/bin kataloogi, käivitage järgmine käsk:

$sudo cptempmon.sh/usr/olen/tempmon

Nagu näete, võin temperatuuri jälgimisskripti käivitada täpselt nagu Linuxi standardseid käske.

Muutmine tempmon temperatuuri andmete printimiseks Fahrenheiti järgi:

Saate hõlpsasti teisendada temperatuuri andmed Celsiuse järgi Fahrenheiti.

Laialt tuntud valem Fahrenheiti temperatuuride arvutamiseks Celsiuse järgi on:

F =(9/5)*C +32
Või
F =1.8 *C +32

Kuid probleem on selles, et bash shellil pole ujukoma arvutuste tegemiseks vajalikke funktsioone. Niisiis, peate lootma mõnele muule programmile, näiteks bc .

bc pole vaikimisi Raspbiani installitud. Kuid saate selle hõlpsalt installida järgmise käsuga:

$sudoasjakohanepaigaldada bc

bc tuleks paigaldada.

Nüüd peate temperatuuri jälgimise skripti muutma ja tegema vajalikud arvutused, et teisendada temperatuur Celsiuse järgi Fahrenheiti bc .

Muutke tempmon.sh skripti järgmise käsuga:

$nanotempmon.sh

Nüüd tehke muudatused, nagu on märgitud alloleval ekraanipildil.

Siin, 4. real, trükkisin TEMP (F) selle asemel TEMP (degC) .

9. real muutsin muutuja väärtusest temp et tempC .

Reale 10 lisasin Celsiuse tulemuse Fahrenheiti teisendamiseks muutujaks tempF .

Lõpuks trükkisin väärtuse tempF asemel muutuja temp liinil 12.

Nüüd käivitage skript järgmiselt:

$./tempmon

Nagu näete, on temperatuur prinditud Fahrenheiti ühikutes.

Nii jälgite Raspberry Pi temperatuuri. Täname, et lugesite seda artiklit.