রাস্পবেরি পাই তাপমাত্রা মনিটর

Raspberry Pi Temperature Monitor



রাস্পবেরি পাই একটি শক্তিশালী একক বোর্ড কম্পিউটার (SBC)। এটি অনেক অত্যাধুনিক কাজ করতে ব্যবহার করা যেতে পারে। কিন্তু এটি করলে রাস্পবেরি পাই ডিভাইসের প্রসেসরের তাপমাত্রা বৃদ্ধি পাবে। যা ভালো নয়। রাস্পবেরি পাই এসবিসির পারফরম্যান্স তাপমাত্রার কারণে ক্ষতিগ্রস্ত হবে। এটি থার্মাল থ্রোটলিং নামেও পরিচিত।

যদি আপনার রাস্পবেরি পাই এর প্রসেসরের তাপমাত্রা 80 ডিগ্রি সেলসিয়াসের উপরে হয়, আপনি স্ক্রিনের উপরের ডান কোণে একটি থার্মোমিটার আইকন দেখতে পাবেন। আনুষ্ঠানিকভাবে, রাস্পবেরি পাই ফাউন্ডেশন সুপারিশ করে যে আপনার রাস্পবেরি পাই ডিভাইসের তাপমাত্রা 85 ডিগ্রি সেলসিয়াসের নিচে থাকা উচিত যাতে এটি সঠিকভাবে কাজ করে। এটাই সর্বোচ্চ সীমা। কিন্তু এটি 82 ডিগ্রি সেলসিয়াসে থ্রোটলিং শুরু করবে।







এই নিবন্ধে, আমি আপনাকে দেখাব কিভাবে আপনার রাস্পবেরি পাই এর তাপমাত্রা নিরীক্ষণ করতে হয়। আমি আমার রাস্পবেরি পাই 3 মডেল বি ডিভাইসে রাস্পবিয়ান অপারেটিং সিস্টেম ব্যবহার করব। কিন্তু এটি রাস্পবিয়ান অপারেটিং সিস্টেম ইনস্টল করা রাস্পবেরি পাই এসবিসিতে কাজ করা উচিত।



আপনি নিম্নলিখিত কমান্ড দিয়ে আপনার রাস্পবেরি পাই ডিভাইসের মূল তাপমাত্রা পরিমাপ করতে পারেন:



$vcgencmd measure_temp

বর্তমান মূল তাপমাত্রা 48.3 ডিগ্রি সেলসিয়াস যেমন আপনি নীচের স্ক্রিনশটের চিহ্নিত অংশে দেখতে পাচ্ছেন।





আপনি দেখতে পাচ্ছেন, প্রতিবার আমি কমান্ড চালানোর সময় বিভিন্ন তাপমাত্রার মান দেখায়।



তাপমাত্রা তথ্য বিশ্লেষণ:

তাপমাত্রা তথ্য যা আমরা থেকে পাই vcgencmd কমান্ড একটি স্ট্রিং। আপনি এর কোন হিসাব করতে পারবেন না। আমরা সহজেই রেগুলার এক্সপ্রেশন ব্যবহার করে কেবলমাত্র তাপমাত্রার তথ্য বের করতে পারি এবং এর উপর যেকোনো ধরনের হিসাব করতে পারি।

আপনি যদি ব্যাশ শেল স্ক্রিপ্টে তাপমাত্রার ডেটা ব্যবহার করতে চান, তাহলে আপনি তাপমাত্রার ডেটা বের করতে পারেন egrep নিম্নরূপ কমান্ড:

$vcgencmd measure_temp| egrep -অথবা [0-9] * । [0-9] * '

আপনি দেখতে পারেন, শুধুমাত্র তাপমাত্রার তথ্য মুদ্রিত হয়। এর আগে বা পরে কিছুই নেই।

আপনি এটি আপনার শেল স্ক্রিপ্টে ব্যবহার করতে পারেন (ধরা যাক print_temp.sh ) নিম্নরূপ:

$ন্যানোprint_temp.sh

এখানে, লাইন 3 এ, আমি সেট করেছি তাপমাত্রা পার্সড তাপমাত্রা ডেটা যা আমি থেকে পাই vcgencmd এবং খপ্পর কমান্ড

লাইন 5 এ, আমি ব্যবহার করেছি বের করে দিল এর বিষয়বস্তু মুদ্রণ করতে তাপমাত্রা পর্দায় পরিবর্তনশীল।

লাইন 1 লিনাক্সকে বলতে ব্যবহৃত হয় যে স্ক্রিপ্টটি দিয়ে চালানো উচিত /বিন/ব্যাশ গতানুগতিক.

এখন, নিম্নলিখিত কমান্ড দিয়ে স্ক্রিপ্টটি এক্সিকিউটেবল করুন:

$chmod+ x print_temp.sh

এখন, স্ক্রিপ্টটি নিম্নরূপ চালান:

$/print_temp.sh

আপনি দেখতে পাচ্ছেন, কাঙ্ক্ষিত আউটপুট স্ক্রিনে মুদ্রিত হয়।

একটি রাস্পবেরি পাই তাপমাত্রা পর্যবেক্ষণ স্ক্রিপ্ট লেখা:

এখন যেহেতু আমরা তাপমাত্রা তথ্য যা আমরা পাই তা বিশ্লেষণ করতে পারি vcgencmd কমান্ড, আমরা সহজেই রাস্পবেরি পাই এর জন্য একটি তাপমাত্রা পর্যবেক্ষণ স্ক্রিপ্ট লিখতে পারি। তাপমাত্রা পর্যবেক্ষণ স্ক্রিপ্টটি বর্তমান টাইমস্ট্যাম্প এবং মূল তাপমাত্রা প্রতি সেকেন্ডে পর্দায় সুন্দরভাবে বিন্যাসিত পদ্ধতিতে মুদ্রণ করবে।

প্রথমে, একটি নতুন স্ক্রিপ্ট তৈরি করুন tempmon.sh নিম্নলিখিত কমান্ড দিয়ে:

$স্পর্শtempmon.sh

এখন, সম্পাদনা করুন tempmon.sh নিম্নলিখিত কমান্ড সহ স্ক্রিপ্ট:

$ন্যানোtempmon.sh

এখন, কোডগুলির নিম্নলিখিত লাইনগুলি টাইপ করুন এবং ফাইলটি সংরক্ষণ করুন + এক্স এবং তারপর টিপুন এবং অনুসরণ করে

এখানে, লাইন 4 এ, printf নির্দিষ্ট প্রস্থ কলাম হিসাবে TIMESTAMP এবং TEMP (degC) স্ট্রিং মুদ্রণ করতে ব্যবহৃত হয়।

লাইন 5 এ, আমি ব্যবহার করেছি printf আবার আউটপুটকে আরও পাঠযোগ্য এবং আকর্ষণীয় করার জন্য একটি ড্যাশড লাইন মুদ্রণ করুন।

7-13 লাইনে, আমি প্রতি সেকেন্ডে তাপমাত্রা ডেটা মুদ্রণ করার জন্য একটি অসীম লুপ চালাই।

লাইন 9 এ, আমি পার্সড তাপমাত্রা ডেটা সংরক্ষণ করেছি তাপমাত্রা পরিবর্তনশীল

লাইন 10 এ, আমি টাইমস্ট্যাম্প ডেটা সংরক্ষণ করেছি যা আমি পেয়েছি তারিখ উপর আদেশ টাইমস্ট্যাম্প পরিবর্তনশীল

লাইন 11 এ, আমি টাইমস্ট্যাম্প ফর্ম্যাটে তারিখ এবং সময় এবং নির্দিষ্ট প্রস্থ কলাম ফর্ম্যাটে তাপমাত্রার ডেটা মুদ্রণ করেছি।

লাইন 12 এ, আমি একটি সেকেন্ডের জন্য স্ক্রিপ্টটি কার্যকর করার জন্য স্লিপ 1 কমান্ড ব্যবহার করেছি। পরে, লুপ অব্যাহত থাকবে।

এখন, স্ক্রিপ্ট তৈরি করুন tempmon.sh নিম্নলিখিত কমান্ড দিয়ে এক্সিকিউটেবল:

$chmod+ x tempmon.sh

অবশেষে, স্ক্রিপ্ট চালান tempmon.sh নিম্নলিখিত কমান্ড দিয়ে:

$/tempmon.sh

আপনি দেখতে পাচ্ছেন, তাপমাত্রা মনিটর স্ক্রিপ্ট পুরোপুরি কাজ করছে। এটি প্রতি সেকেন্ডে তাপমাত্রার তথ্য মুদ্রণ করে।

আপনি দেখতে পাচ্ছেন, আমি যেমন সিস্টেমের লোড বাড়িয়েছি, তাপমাত্রা কিছুটা বেড়েছে।

আপনি যদি তাপমাত্রা পর্যবেক্ষণ স্ক্রিপ্ট বন্ধ করতে চান, টিপুন + । তাপমাত্রা পর্যবেক্ষণ আর চলছে না যেমন আপনি নীচের স্ক্রিনশটে দেখতে পাচ্ছেন।

এখন যেহেতু তাপমাত্রা পর্যবেক্ষণ স্ক্রিপ্ট কাজ করছে, আসুন এটিতে অনুলিপি করি /usr/bin ডিরেক্টরি। এইভাবে, আপনি এটি অন্য যে কোনও লিনাক্স কমান্ডের মতো চালাতে পারেন।

স্ক্রিপ্ট কপি করতে tempmon.sh প্রতি /usr/bin ডিরেক্টরি, নিম্নলিখিত কমান্ড চালান:

$sudo cptempmon.sh/ইউএসআর/আমি/ক্ষণস্থায়ী

যেমন আপনি দেখতে পাচ্ছেন, আমি যেমন তাপমাত্রা পর্যবেক্ষণ স্ক্রিপ্ট চালাতে পারি তেমনি আমি স্ট্যান্ডার্ড লিনাক্স কমান্ডগুলি চালাই।

পরিবর্তন ক্ষণস্থায়ী ফারেনহাইটে তাপমাত্রা ডেটা প্রিন্ট করার জন্য:

আপনি সহজেই তাপমাত্রার তথ্য সেলসিয়াস থেকে ফারেনহাইটে রূপান্তর করতে পারেন।

সেলসিয়াস থেকে ফারেনহাইটে তাপমাত্রা গণনার জন্য বহুল পরিচিত সূত্র হল,

F =(9/5)*সি +32
অথবা
F =1.8 *সি +32

কিন্তু সমস্যা হল, বাশ শেলের ভাসমান পয়েন্ট গণনা করার জন্য প্রয়োজনীয় ফাংশন নেই। সুতরাং, আপনাকে অন্য কিছু প্রোগ্রামের উপর নির্ভর করতে হবে যেমন বিসি

বিসি ডিফল্টভাবে রাস্পবিয়ানে ইনস্টল করা নেই। কিন্তু আপনি সহজেই নিম্নলিখিত কমান্ড দিয়ে এটি ইনস্টল করতে পারেন:

$sudoউপযুক্তইনস্টল বিসি

বিসি ইনস্টল করা উচিত।

এখন, আপনাকে তাপমাত্রা পর্যবেক্ষণ স্ক্রিপ্টটি সংশোধন করতে হবে এবং তাপমাত্রা সেলসিয়াস থেকে ফারেনহাইটে রূপান্তর করতে প্রয়োজনীয় গণনা করতে হবে বিসি

সম্পাদনা করুন tempmon.sh নিম্নলিখিত কমান্ড সহ স্ক্রিপ্ট:

$ন্যানোtempmon.sh

এখন, নীচের স্ক্রিনশটে চিহ্নিত হিসাবে পরিবর্তনগুলি করুন।

এখানে, লাইন 4 এ, আমি মুদ্রণ করেছি TEMP (F) পরিবর্তে TEMP (degC)

লাইন 9 এ, আমি ভেরিয়েবলটি পরিবর্তন করেছি তাপমাত্রা প্রতি tempC

লাইন 10 এ, আমি সেলসিয়াসের ফলাফলকে একটি পরিবর্তনশীলতে ফারেনহাইট রূপান্তরে যোগ করেছি tempF

অবশেষে, আমি এর মান মুদ্রণ করেছি tempF পরিবর্তে পরিবর্তনশীল তাপমাত্রা 12 লাইনে।

এখন, স্ক্রিপ্টটি নিম্নরূপ চালান:

$/ক্ষণস্থায়ী

আপনি দেখতে পারেন, তাপমাত্রা ফারেনহাইট ইউনিটে মুদ্রিত হয়।

তাই আপনি রাস্পবেরি পাইতে তাপমাত্রা পর্যবেক্ষণ করেন। এই নিবন্ধটি পড়ার জন্য ধন্যবাদ।