रास्पबेरी पाई तापमान मॉनिटर

Raspberry Pi Temperature Monitor



रास्पबेरी पाई एक शक्तिशाली सिंगल बोर्ड कंप्यूटर (एसबीसी) है। इसका उपयोग कई परिष्कृत कार्यों को करने के लिए किया जा सकता है। लेकिन ऐसा करने से रास्पबेरी पाई उपकरणों के प्रोसेसर का तापमान बढ़ जाएगा। जो अच्छा नहीं है। रास्पबेरी पाई एसबीसी का प्रदर्शन तापमान के कारण प्रभावित होगा। इसे थर्मल थ्रॉटलिंग के रूप में भी जाना जाता है।

यदि आपके रास्पबेरी पाई के प्रोसेसर का तापमान 80 डिग्री सेल्सियस से ऊपर है, तो आपको स्क्रीन के ऊपरी दाएं कोने पर एक थर्मामीटर आइकन दिखाई देगा। आधिकारिक तौर पर, रास्पबेरी पाई फाउंडेशन अनुशंसा करता है कि आपके रास्पबेरी पाई डिवाइस का तापमान ठीक से काम करने के लिए 85 डिग्री सेल्सियस से नीचे होना चाहिए। वह अधिकतम सीमा है। लेकिन यह 82 डिग्री सेल्सियस पर थ्रॉट करना शुरू कर देगा।







इस लेख में, मैं आपको दिखाऊंगा कि अपने रास्पबेरी पाई के तापमान की निगरानी कैसे करें। मैं अपने रास्पबेरी पाई 3 मॉडल बी डिवाइस पर रास्पियन ऑपरेटिंग सिस्टम का उपयोग करूंगा। लेकिन इसे किसी भी रास्पबेरी पाई एसबीसी पर काम करना चाहिए जिसमें रास्पियन ऑपरेटिंग सिस्टम स्थापित हो।



आप निम्न आदेश के साथ अपने रास्पबेरी पाई डिवाइस के मुख्य तापमान को माप सकते हैं:



$vcgencmd माप_ताप

वर्तमान कोर तापमान 48.3 डिग्री सेल्सियस है जैसा कि आप नीचे स्क्रीनशॉट के चिह्नित भाग में देख सकते हैं।





जैसा कि आप देख सकते हैं, हर बार जब मैं कमांड चलाता हूं तो अलग-अलग तापमान मान दिखाता है।



तापमान डेटा पार्स करना:

तापमान डेटा जो हमें से मिलता है वीसीजेनसीएमडी कमांड एक स्ट्रिंग है। आप इस पर कोई कैलकुलेशन नहीं कर सकते। हम आसानी से केवल तापमान डेटा निकालने और उस पर किसी भी प्रकार की गणना करने के लिए नियमित अभिव्यक्ति का उपयोग कर सकते हैं।

यदि आप बैश शेल स्क्रिप्ट में तापमान डेटा का उपयोग करना चाहते हैं, तो आप तापमान डेटा को निकाल सकते हैं एग्रेप आदेश इस प्रकार है:

$vcgencmd माप_ताप| एग्रेप -या '[0-9] * . [0-9] *'

जैसा कि आप देख सकते हैं, केवल तापमान डेटा मुद्रित होता है। उसके पहले या बाद में कुछ भी नहीं है।

आप इसे अपनी शेल स्क्रिप्ट पर उपयोग कर सकते हैं (मान लें) Print_temp.sh ) निम्नलिखित नुसार:

$नैनोPrint_temp.sh

यहाँ, लाइन ३ पर, मैं सेट करता हूँ अस्थायी पार्स किए गए तापमान डेटा के लिए चर जो मुझे से मिलता है वीसीजेनसीएमडी तथा पकड़ आदेश।

लाइन 5 पर, मैंने इस्तेमाल किया फेंक दिया की सामग्री मुद्रित करने के लिए अस्थायी स्क्रीन पर परिवर्तनशील।

लाइन 1 का उपयोग लिनक्स को यह बताने के लिए किया जाता है कि स्क्रिप्ट को निष्पादित किया जाना चाहिए /बिन/बाश डिफ़ॉल्ट रूप से।

अब, निम्न आदेश के साथ स्क्रिप्ट को निष्पादन योग्य बनाएं:

$चामोद+ एक्स प्रिंट_टेम्प.श

अब, स्क्रिप्ट को इस प्रकार चलाएँ:

$./Print_temp.sh

जैसा कि आप देख सकते हैं, वांछित आउटपुट स्क्रीन पर मुद्रित होता है।

रास्पबेरी पाई तापमान निगरानी स्क्रिप्ट लिखना:

अब जब हम तापमान डेटा को पार्स कर सकते हैं जो हमें से मिलता है वीसीजेनसीएमडी आदेश, हम आसानी से रास्पबेरी पाई के लिए एक तापमान निगरानी स्क्रिप्ट लिख सकते हैं। तापमान निगरानी स्क्रिप्ट स्क्रीन पर हर सेकेंड वर्तमान टाइमस्टैम्प और कोर तापमान को अच्छी तरह से स्वरूपित तरीके से प्रिंट करेगी।

सबसे पहले, एक नई स्क्रिप्ट बनाएं tempmon.sh निम्न आदेश के साथ:

$स्पर्शtempmon.sh

अब, संपादित करें tempmon.sh निम्न आदेश के साथ स्क्रिप्ट:

$नैनोtempmon.sh

अब, कोड की निम्न पंक्तियों में टाइप करें और फ़ाइल को इसके साथ सहेजें + एक्स और फिर दबाएं तथा के बाद .

यहाँ, लाइन 4 पर, printf TIMESTAMP और TEMP (degC) स्ट्रिंग्स को निश्चित चौड़ाई वाले कॉलम के रूप में प्रिंट करने के लिए उपयोग किया जाता है।

लाइन 5 पर, मैंने इस्तेमाल किया printf आउटपुट को अधिक पठनीय और आकर्षक बनाने के लिए फिर से एक धराशायी रेखा मुद्रित करने के लिए।

7-13 लाइन पर, मैंने हर सेकंड तापमान डेटा प्रिंट करने के लिए एक अनंत लूप चलाया।

लाइन 9 पर, मैंने पार्स किए गए तापमान डेटा को पर संग्रहीत किया है अस्थायी चर।

लाइन 10 पर, मैंने उस टाइमस्टैम्प डेटा को संग्रहीत किया जो मुझे से मिला था दिनांक पर आदेश TIMESTAMP चर।

लाइन 11 पर, मैंने टाइमस्टैम्प प्रारूप में दिनांक और समय और निश्चित चौड़ाई कॉलम प्रारूप में तापमान डेटा मुद्रित किया।

लाइन 12 पर, मैंने एक सेकंड के लिए स्क्रिप्ट के निष्पादन को रोकने के लिए स्लीप 1 कमांड का उपयोग किया। बाद में, लूप जारी रहेगा।

अब, स्क्रिप्ट बनाओ tempmon.sh निम्न आदेश के साथ निष्पादन योग्य:

$चामोद+ एक्स टेम्पमोन.श

अंत में, स्क्रिप्ट चलाएँ tempmon.sh निम्न आदेश के साथ:

$./tempmon.sh

जैसा कि आप देख सकते हैं, तापमान मॉनिटर स्क्रिप्ट पूरी तरह से काम कर रही है। यह हर सेकेंड तापमान डेटा प्रिंट कर रहा है।

जैसा कि आप देख सकते हैं, जैसे ही मैंने सिस्टम लोड बढ़ाया, तापमान थोड़ा बढ़ गया।

यदि आप तापमान निगरानी स्क्रिप्ट को रोकना चाहते हैं, तो दबाएं + सी . तापमान की निगरानी अब और नहीं चल रही है जैसा कि आप नीचे स्क्रीनशॉट में देख सकते हैं।

अब जबकि तापमान निगरानी स्क्रिप्ट काम कर रही है, आइए इसे यहां कॉपी करें /usr/बिन निर्देशिका। इस तरह, आप इसे किसी भी अन्य Linux कमांड की तरह चला सकते हैं।

स्क्रिप्ट कॉपी करने के लिए tempmon.sh तक /usr/बिन निर्देशिका, निम्न आदेश चलाएँ:

$सुडो सीपीtempmon.sh/usr/पूर्वाह्न/टेम्पमोन

जैसा कि आप देख सकते हैं, मैं तापमान निगरानी स्क्रिप्ट चला सकता हूं जैसे मैं मानक लिनक्स कमांड चलाता हूं।

संशोधित करना टेम्पमोन फारेनहाइट में मुद्रण तापमान डेटा के लिए:

आप तापमान डेटा को सेल्सियस से फ़ारेनहाइट में आसानी से परिवर्तित कर सकते हैं।

सेल्सियस से फारेनहाइट में तापमान की गणना के लिए व्यापक रूप से ज्ञात सूत्र है,

एफ =(9/5)*सी +32
या
एफ =१.८ *सी +32

लेकिन समस्या यह है कि बैश शेल में फ्लोटिंग पॉइंट गणना करने के लिए आवश्यक कार्य नहीं हैं। तो, आपको कुछ अन्य प्रोग्रामों पर निर्भर रहना होगा जैसे कि बीसी .

बीसी डिफ़ॉल्ट रूप से रास्पियन पर स्थापित नहीं है। लेकिन आप इसे निम्न आदेश के साथ आसानी से स्थापित कर सकते हैं:

$सुडोउपयुक्तइंस्टॉल बीसी

बीसी स्थापित किया जाना चाहिए।

अब, आपको तापमान निगरानी स्क्रिप्ट को संशोधित करना होगा और तापमान को सेल्सियस से फ़ारेनहाइट में बदलने के लिए आवश्यक गणना करना होगा बीसी .

संपादित करें tempmon.sh निम्न आदेश के साथ स्क्रिप्ट:

$नैनोtempmon.sh

अब, नीचे दिए गए स्क्रीनशॉट में बताए अनुसार संशोधन करें।

यहाँ, पंक्ति ४ पर, मैंने छापा अस्थायी (एफ) की बजाय अस्थायी (डिग्री सेल्सियस) .

लाइन 9 पर, मैंने वेरिएबल को . से बदल दिया है अस्थायी प्रति अस्थायी सी .

लाइन १० पर, मैंने सेल्सियस से फ़ारेनहाइट रूपांतरण के परिणाम को एक चर में जोड़ा अस्थायी .

अंत में, मैंने का मान मुद्रित किया अस्थायी के बजाय चर अस्थायी लाइन 12 पर।

अब, स्क्रिप्ट को इस प्रकार चलाएँ:

$./टेम्पमोन

जैसा कि आप देख सकते हैं, तापमान फारेनहाइट इकाई में मुद्रित होता है।

तो आप रास्पबेरी पाई में तापमान की निगरानी कैसे करते हैं। इस लेख को पढ़ने के लिए धन्यवाद।