మీ రాస్ప్బెర్రీ పై యొక్క ప్రాసెసర్ ఉష్ణోగ్రత 80 డిగ్రీల సెల్సియస్ కంటే ఎక్కువగా ఉంటే, మీరు స్క్రీన్ కుడి ఎగువ మూలలో ఒక థర్మామీటర్ చిహ్నాన్ని చూస్తారు. అధికారికంగా, రాస్ప్బెర్రీ పై ఫౌండేషన్ మీ రాస్ప్బెర్రీ పై పరికరం సరిగ్గా పనిచేయడానికి దాని ఉష్ణోగ్రత 85 డిగ్రీల సెల్సియస్ కంటే తక్కువగా ఉండాలని సిఫార్సు చేసింది. అది గరిష్ట పరిమితి. కానీ అది 82 డిగ్రీల సెల్సియస్ వద్ద కొట్టుకోవడం ప్రారంభిస్తుంది.
ఈ వ్యాసంలో, మీ రాస్ప్బెర్రీ పై ఉష్ణోగ్రతను ఎలా పర్యవేక్షించాలో నేను మీకు చూపుతాను. నేను నా రాస్ప్బెర్రీ పై 3 మోడల్ బి పరికరంలో రాస్ప్బియన్ ఆపరేటింగ్ సిస్టమ్ను ఉపయోగిస్తాను. అయితే ఇది రాస్ప్బియన్ ఆపరేటింగ్ సిస్టమ్ ఇన్స్టాల్ చేయబడిన ఏదైనా రాస్ప్బెర్రీ పై ఎస్బిసిలో పని చేయాలి.
కింది ఆదేశంతో మీరు మీ రాస్ప్బెర్రీ పై పరికరం యొక్క ప్రధాన ఉష్ణోగ్రతను కొలవవచ్చు:
$vcgencmd కొలత_టెంప్
ప్రస్తుత కోర్ ఉష్ణోగ్రత 48.3 డిగ్రీల సెల్సియస్, మీరు దిగువ స్క్రీన్ షాట్ యొక్క గుర్తించబడిన విభాగంలో చూడవచ్చు.
మీరు గమనిస్తే, నేను ఆదేశాన్ని అమలు చేసే ప్రతిసారి వేర్వేరు ఉష్ణోగ్రత విలువను చూపుతుంది.
ఉష్ణోగ్రత డేటాను అన్వయించడం:
నుండి మనం పొందే ఉష్ణోగ్రత డేటా vcgencmd ఆదేశం ఒక స్ట్రింగ్. మీరు దానిపై ఎటువంటి గణన చేయలేరు. ఉష్ణోగ్రత డేటాను మాత్రమే సేకరించేందుకు మరియు దానిపై ఏ విధమైన గణననైనా నిర్వహించడానికి మనం రెగ్యులర్ ఎక్స్ప్రెషన్ను సులభంగా ఉపయోగించవచ్చు.
మీరు బాష్ షెల్ స్క్రిప్ట్లో ఉష్ణోగ్రత డేటాను ఉపయోగించాలనుకుంటే, మీరు దీనితో ఉష్ణోగ్రత డేటాను సేకరించవచ్చు egrep కింది విధంగా ఆదేశం:
$vcgencmd కొలత_టెంప్| egrep -లేదా '[0-9] * . [0-9] *'మీరు గమనిస్తే, ఉష్ణోగ్రత డేటా మాత్రమే ముద్రించబడుతుంది. దాని ముందు లేదా తరువాత ఏమీ లేదు.
మీరు దానిని మీ షెల్ స్క్రిప్ట్లో ఉపయోగించవచ్చు (చెప్పండి print_temp.sh ) కింది విధంగా:
$నానోprint_temp.sh
ఇక్కడ, లైన్ 3 లో, నేను సెట్ చేసాను తాత్కాలిక నేను నుండి పొందిన పార్స్ ఉష్ణోగ్రత డేటాకు వేరియబుల్ vcgencmd మరియు పట్టు కమాండ్
లైన్ 5 లో, నేను ఉపయోగించాను బయటకు విసిరారు యొక్క కంటెంట్ను ముద్రించడానికి తాత్కాలిక తెరపై వేరియబుల్.
స్క్రిప్ట్ అమలు చేయాలని Linux కి చెప్పడానికి లైన్ 1 ఉపయోగించబడుతుంది /బిన్/బాష్ అప్రమేయంగా.
ఇప్పుడు, కింది ఆదేశంతో స్క్రిప్ట్ ఎగ్జిక్యూటబుల్ చేయండి:
$chmod+ x print_temp.sh
ఇప్పుడు, స్క్రిప్ట్ను ఈ విధంగా అమలు చేయండి:
$./print_temp.shమీరు గమనిస్తే, కావలసిన అవుట్పుట్ స్క్రీన్పై ముద్రించబడుతుంది.
రాస్ప్బెర్రీ పై ఉష్ణోగ్రత మానిటరింగ్ స్క్రిప్ట్ రాయడం:
ఇప్పుడు మనం అందుకున్న ఉష్ణోగ్రత డేటాను అన్వయించవచ్చు vcgencmd ఆదేశం, మేము రాస్ప్బెర్రీ పై కోసం ఉష్ణోగ్రత పర్యవేక్షణ స్క్రిప్ట్ను సులభంగా వ్రాయవచ్చు. ఉష్ణోగ్రత పర్యవేక్షణ స్క్రిప్ట్ ప్రస్తుత టైమ్స్టాంప్ మరియు కోర్ టెంపరేచర్ను ప్రతి సెకనులో చక్కగా ఫార్మాట్ చేసిన విధంగా స్క్రీన్పై ప్రింట్ చేస్తుంది.
ముందుగా, కొత్త స్క్రిప్ట్ను సృష్టించండి tempmon.sh కింది ఆదేశంతో:
$స్పర్శtempmon.shఇప్పుడు, సవరించండి tempmon.sh కింది ఆదేశంతో స్క్రిప్ట్:
$నానోtempmon.sh
ఇప్పుడు, కింది కోడ్ల పంక్తులను టైప్ చేయండి మరియు ఫైల్ని దీనితో సేవ్ చేయండి + x ఆపై నొక్కండి మరియు తరువాత .
ఇక్కడ, లైన్ 4 లో, printf TIMESTAMP మరియు TEMP (degC) తీగలను స్థిర వెడల్పు కాలమ్గా ముద్రించడానికి ఉపయోగించబడుతుంది.
లైన్ 5 లో, నేను ఉపయోగించాను printf అవుట్పుట్ మరింత చదవగలిగేలా మరియు ఆకర్షణీయంగా ఉండేలా మళ్లీ ఒక గీత గీతను ముద్రించడానికి.
7-13 లైన్లో, ప్రతి సెకనులో ఉష్ణోగ్రత డేటాను ముద్రించడానికి నేను అనంతమైన లూప్ను అమలు చేసాను.
లైన్ 9 లో, నేను పార్స్ చేసిన ఉష్ణోగ్రత డేటాను నిల్వ చేసాను తాత్కాలిక వేరియబుల్.
10 వ లైన్లో, నేను పొందిన టైమ్స్టాంప్ డేటాను నేను స్టోర్ చేసాను తేదీ మీద ఆదేశం టైమ్స్టాంప్ వేరియబుల్.
లైన్ 11 లో, నేను టైమ్స్టాంప్ ఫార్మాట్లో తేదీ మరియు సమయాన్ని మరియు ఫిక్స్డ్ వెడల్పు కాలమ్ ఫార్మాట్లో ఉష్ణోగ్రత డేటాను ముద్రించాను.
12 వ లైన్లో, నేను స్క్రిప్ట్ అమలును సెకనుపాటు ఉంచడానికి స్లీప్ 1 కమాండ్ని ఉపయోగించాను. తరువాత, లూప్ కొనసాగుతుంది.
ఇప్పుడు, స్క్రిప్ట్ తయారు చేయండి tempmon.sh కింది ఆదేశంతో అమలు చేయవచ్చు:
$chmod+ x tempmon.sh
చివరగా, స్క్రిప్ట్ను అమలు చేయండి tempmon.sh కింది ఆదేశంతో:
$./tempmon.shమీరు గమనిస్తే, ఉష్ణోగ్రత మానిటర్ స్క్రిప్ట్ సంపూర్ణంగా పనిచేస్తోంది. ఇది ప్రతి సెకనులో ఉష్ణోగ్రత డేటాను ప్రింట్ చేస్తుంది.
మీరు చూడగలిగినట్లుగా, నేను సిస్టమ్ లోడ్ను పెంచినప్పుడు, ఉష్ణోగ్రత కొద్దిగా పెరిగింది.
మీరు ఉష్ణోగ్రత పర్యవేక్షణ స్క్రిప్ట్ను ఆపివేయాలనుకుంటే, నొక్కండి + c . దిగువ స్క్రీన్షాట్లో మీరు చూడవచ్చు కనుక ఉష్ణోగ్రత పర్యవేక్షణ ఇకపై అమలు కావడం లేదు.
ఇప్పుడు ఉష్ణోగ్రత పర్యవేక్షణ స్క్రిప్ట్ పనిచేస్తోంది, దానిని కాపీ చేద్దాం /usr/బిన్ డైరెక్టరీ. ఆ విధంగా, మీరు దీన్ని ఇతర లైనక్స్ ఆదేశాల వలె అమలు చేయవచ్చు.
స్క్రిప్ట్ కాపీ చేయడానికి tempmon.sh కు /usr/బిన్ డైరెక్టరీ, కింది ఆదేశాన్ని అమలు చేయండి:
$సుడో cptempmon.sh/usr/am/టెంప్మోన్
మీరు చూడగలిగినట్లుగా, నేను ప్రామాణిక లైనక్స్ ఆదేశాలను అమలు చేస్తున్నట్లుగా నేను ఉష్ణోగ్రత పర్యవేక్షణ స్క్రిప్ట్ను అమలు చేయగలను.
సవరించడం టెంప్మోన్ ఫారెన్హీట్లో ఉష్ణోగ్రత డేటాను ముద్రించడానికి:
మీరు సెల్సియస్ నుండి ఫారెన్హీట్కు ఉష్ణోగ్రత డేటాను సులభంగా మార్చుకోవచ్చు.
సెల్సియస్ నుండి ఫారెన్హీట్లో ఉష్ణోగ్రతను లెక్కించడానికి విస్తృతంగా తెలిసిన ఫార్ములా,
F =(9/5)*సి +32లేదా
F =1.8 *సి +32
కానీ సమస్య ఏమిటంటే, బాష్ షెల్కు ఫ్లోటింగ్ పాయింట్ గణనలను నిర్వహించడానికి అవసరమైన విధులు లేవు. కాబట్టి, మీరు కొన్ని ఇతర ప్రోగ్రామ్లపై ఆధారపడాలి bc .
bc డిఫాల్ట్గా Raspbian లో ఇన్స్టాల్ చేయబడలేదు. కానీ మీరు దీన్ని కింది ఆదేశంతో సులభంగా ఇన్స్టాల్ చేయవచ్చు:
$సుడోసముచితమైనదిఇన్స్టాల్ bc
bc ఇన్స్టాల్ చేయాలి.
ఇప్పుడు, మీరు ఉష్ణోగ్రత పర్యవేక్షణ స్క్రిప్ట్ను సవరించాలి మరియు సెల్సియస్ నుండి ఉష్ణోగ్రతను ఫారెన్హీట్కు మార్చడానికి అవసరమైన గణనలను చేయాలి bc .
సవరించండి tempmon.sh కింది ఆదేశంతో స్క్రిప్ట్:
$నానోtempmon.sh
ఇప్పుడు, దిగువ స్క్రీన్ షాట్లో మార్క్ చేసిన విధంగా మార్పులు చేయండి.
ఇక్కడ, లైన్ 4 లో, నేను ముద్రించాను TEMP (F) బదులుగా TEMP (డిగ్రీ) .
లైన్ 9 లో, నేను వేరియబుల్ నుండి మార్చాను తాత్కాలిక కు tempC .
10 వ పంక్తిలో, సెల్సియస్ ఫలితాన్ని ఫారెన్హీట్కు వేరియబుల్గా మార్చాను tempF .
చివరగా, నేను విలువను ముద్రించాను tempF బదులుగా వేరియబుల్ తాత్కాలిక లైన్ 12 లో.
ఇప్పుడు, స్క్రిప్ట్ను ఈ విధంగా అమలు చేయండి:
$./టెంప్మోన్మీరు గమనిస్తే, ఉష్ణోగ్రత ఫారెన్హీట్ యూనిట్లో ముద్రించబడుతుంది.
కాబట్టి మీరు రాస్ప్బెర్రీ పైలో ఉష్ణోగ్రతను ఎలా పర్యవేక్షిస్తారు. ఈ కథనాన్ని చదివినందుకు ధన్యవాదాలు.