راسبیری پائی ٹمپریچر مانیٹر۔

Raspberry Pi Temperature Monitor



Raspberry Pi ایک طاقتور سنگل بورڈ کمپیوٹر (SBC) ہے۔ یہ بہت سے پیچیدہ کاموں کے لیے استعمال کیا جا سکتا ہے۔ لیکن ایسا کرنے سے راسبیری پائی ڈیوائسز کے پروسیسر کا درجہ حرارت بڑھ جائے گا۔ جو کہ اچھا نہیں ہے۔ راسبیری پائی ایس بی سی کی کارکردگی درجہ حرارت کی وجہ سے متاثر ہوگی۔ اسے تھرمل تھروٹلنگ بھی کہا جاتا ہے۔

اگر آپ کے راسبیری پائی کے پروسیسر کا درجہ حرارت 80 ڈگری سینٹی گریڈ سے اوپر ہے تو آپ کو اسکرین کے اوپری دائیں کونے پر تھرمامیٹر کا آئیکن نظر آئے گا۔ سرکاری طور پر ، راسبیری پائی فاؤنڈیشن تجویز کرتی ہے کہ آپ کے راسبیری پائی ڈیوائس کا درجہ حرارت 85 ڈگری سینٹی گریڈ سے کم ہونا چاہیے تاکہ یہ صحیح طریقے سے کام کرے۔ یہ زیادہ سے زیادہ حد ہے۔ لیکن یہ 82 ڈگری سینٹی گریڈ پر گرنا شروع کر دے گا۔







اس آرٹیکل میں ، میں آپ کو دکھاتا ہوں کہ اپنے راسبیری پائی کے درجہ حرارت کی نگرانی کیسے کی جائے۔ میں اپنے Raspberry Pi 3 Model B آلہ پر Raspbian آپریٹنگ سسٹم استعمال کروں گا۔ لیکن اسے کسی بھی Raspberry Pi SBC پر کام کرنا چاہیے جس میں Raspbian آپریٹنگ سسٹم نصب ہے۔



آپ درج ذیل کمانڈ سے اپنے راسبیری پائی ڈیوائس کے بنیادی درجہ حرارت کی پیمائش کر سکتے ہیں۔



$vcgencmd پیمانہ_ٹیمپ۔

موجودہ بنیادی درجہ حرارت 48.3 ڈگری سینٹی گریڈ ہے جیسا کہ آپ نیچے اسکرین شاٹ کے نشان زدہ حصے میں دیکھ سکتے ہیں۔





جیسا کہ آپ دیکھ سکتے ہیں ، ہر بار جب میں کمانڈ چلاتا ہوں تو درجہ حرارت کی مختلف قیمت ظاہر ہوتی ہے۔



درجہ حرارت کے اعداد و شمار کو تجزیہ کرنا:

درجہ حرارت کا ڈیٹا جو ہم سے حاصل کرتے ہیں۔ vcgencmd کمانڈ ایک تار ہے آپ اس پر کوئی حساب کتاب نہیں کر سکتے۔ ہم صرف درجہ حرارت کے اعداد و شمار کو نکالنے اور اس پر کسی بھی قسم کا حساب کتاب کرنے کے لیے باآسانی باقاعدہ اظہار استعمال کر سکتے ہیں۔

اگر آپ باش شیل اسکرپٹ میں درجہ حرارت کا ڈیٹا استعمال کرنا چاہتے ہیں ، تو آپ درجہ حرارت کا ڈیٹا نکال سکتے ہیں۔ egrep کمانڈ مندرجہ ذیل ہے:

$vcgencmd پیمانہ_ٹیمپ۔| egrep یا '[0-9] * . [0-9] *'

جیسا کہ آپ دیکھ سکتے ہیں ، صرف درجہ حرارت کا ڈیٹا پرنٹ کیا جاتا ہے۔ اس سے پہلے یا بعد میں کچھ نہیں ہے۔

آپ اسے اپنے شیل اسکرپٹ پر استعمال کر سکتے ہیں (آئیے کہتے ہیں۔ print_temp.sh ) حسب ذیل:

$نینوprint_temp.sh

یہاں ، لائن 3 پر ، میں نے سیٹ کیا۔ درجہ حرارت تجزیہ شدہ درجہ حرارت کے اعداد و شمار میں متغیر جو میں نے حاصل کیا۔ vcgencmd اور گرفت کمانڈ.

لائن 5 پر ، میں نے استعمال کیا۔ باہر پھینک دیا کا مواد پرنٹ کرنے کے لیے۔ درجہ حرارت سکرین پر متغیر.

لائن 1 لینکس کو بتانے کے لیے استعمال کیا جاتا ہے کہ اسکرپٹ کے ساتھ عملدرآمد ہونا چاہیے۔ /bin/bash پہلے سے طے شدہ طور پر

اب ، اسکرپٹ کو درج ذیل کمانڈ سے قابل عمل بنائیں:

$chmod+ x print_temp.sh

اب ، اسکرپٹ کو اس طرح چلائیں:

$./print_temp.sh

جیسا کہ آپ دیکھ سکتے ہیں ، مطلوبہ آؤٹ پٹ سکرین پر چھپی ہوئی ہے۔

راسبیری پائی ٹمپریچر مانیٹرنگ سکرپٹ لکھنا:

اب جب کہ ہم درجہ حرارت کے اعداد و شمار کو تجزیہ کر سکتے ہیں جو ہم سے حاصل کرتے ہیں۔ vcgencmd کمانڈ ، ہم راسبیری پائی کے لیے درجہ حرارت کی نگرانی کا اسکرپٹ آسانی سے لکھ سکتے ہیں۔ ٹمپریچر مانیٹرنگ اسکرپٹ موجودہ ٹائم سٹیمپ اور کور ٹمپریچر کو ہر سیکنڈ پر اچھی طرح فارمیٹ شدہ طریقے سے پرنٹ کرے گا۔

پہلے ، ایک نیا سکرپٹ بنائیں۔ tempmon.sh مندرجہ ذیل کمانڈ کے ساتھ:

$چھوناtempmon.sh

اب ، میں ترمیم کریں۔ tempmon.sh مندرجہ ذیل کمانڈ کے ساتھ اسکرپٹ:

$نینوtempmon.sh

اب ، کوڈ کی درج ذیل لائنیں ٹائپ کریں اور فائل کو اس کے ساتھ محفوظ کریں۔ + ایکس اور پھر دبائیں اور اس کے بعد .

یہاں ، لائن 4 پر ، پرنٹ ایف TIMESTAMP اور TEMP (degC) ڈور کو فکسڈ چوڑائی کالم کے طور پر پرنٹ کرنے کے لیے استعمال کیا جاتا ہے۔

لائن 5 پر ، میں نے استعمال کیا۔ پرنٹ ایف ایک بار پھر ڈیشڈ لائن پرنٹ کرنے کے لیے صرف آؤٹ پٹ کو مزید پڑھنے اور دلکش بنانے کے لیے۔

لائن 7-13 پر ، میں نے ہر سیکنڈ میں درجہ حرارت کا ڈیٹا چھاپنے کے لیے ایک لامحدود لوپ چلایا۔

لائن 9 پر ، میں نے تجزیہ شدہ درجہ حرارت کا ڈیٹا درجہ حرارت متغیر

لائن 10 پر ، میں نے ٹائم اسٹیمپ ڈیٹا کو محفوظ کیا جو میں نے حاصل کیا۔ تاریخ پر حکم ٹائم سٹیمپ متغیر

لائن 11 پر ، میں نے تاریخ اور وقت کو ٹائم اسٹیمپ فارمیٹ میں اور درجہ حرارت کا ڈیٹا فکسڈ چوڑائی کالم فارمیٹ میں پرنٹ کیا۔

لائن 12 پر ، میں نے سکرپٹ پر عملدرآمد کو ایک سیکنڈ کے لیے سلیپ 1 کمانڈ استعمال کیا۔ اس کے بعد ، لوپ جاری رہے گا۔

اب ، اسکرپٹ بنائیں۔ tempmon.sh مندرجہ ذیل کمانڈ کے ساتھ قابل عمل:

$chmod+ x tempmon.sh

آخر میں ، اسکرپٹ چلائیں۔ tempmon.sh مندرجہ ذیل کمانڈ کے ساتھ:

$./tempmon.sh

جیسا کہ آپ دیکھ سکتے ہیں ، درجہ حرارت مانیٹر اسکرپٹ بالکل کام کر رہا ہے۔ یہ ہر سیکنڈ میں درجہ حرارت کا ڈیٹا چھاپ رہا ہے۔

جیسا کہ آپ دیکھ سکتے ہیں ، جیسا کہ میں نے سسٹم کا بوجھ بڑھایا ، درجہ حرارت قدرے بڑھا۔

اگر آپ ٹمپریچر مانیٹرنگ اسکرپٹ کو روکنا چاہتے ہیں تو دبائیں۔ + ج . درجہ حرارت کی نگرانی مزید نہیں چل رہی ہے جیسا کہ آپ نیچے اسکرین شاٹ میں دیکھ سکتے ہیں۔

اب جب کہ ٹمپریچر مانیٹرنگ اسکرپٹ کام کر رہا ہے ، آئیے اس کی کاپی کریں۔ /usr/bin ڈائریکٹری اس طرح ، آپ اسے کسی دوسرے لینکس کمانڈ کی طرح چلا سکتے ہیں۔

اسکرپٹ کاپی کرنے کے لیے۔ tempmon.sh کرنے کے لئے /usr/bin ڈائریکٹری ، درج ذیل کمانڈ کو چلائیں:

$سودو cptempmon.sh/usr/ہوں/عارضی

جیسا کہ آپ دیکھ سکتے ہیں ، میں درجہ حرارت کی نگرانی کا اسکرپٹ اسی طرح چلا سکتا ہوں جس طرح میں معیاری لینکس کمانڈ چلاتا ہوں۔

ترمیم کرنا عارضی فارن ہائیٹ میں درجہ حرارت کا ڈیٹا پرنٹ کرنے کے لیے:

آپ درجہ حرارت کے اعداد و شمار کو سیلسیس سے فارن ہائیٹ میں آسانی سے تبدیل کر سکتے ہیں۔

سیلسیس سے فارن ہائیٹ میں درجہ حرارت کا حساب لگانے کا وسیع پیمانے پر جانا جاتا فارمولا ہے ،

F =(/)*سی +۔32۔
یا
F =1.8 *سی +۔32۔

لیکن مسئلہ یہ ہے کہ ، بیش شیل کے پاس فلوٹنگ پوائنٹ کیلکولیشن کرنے کے لیے ضروری افعال نہیں ہیں۔ لہذا ، آپ کو کچھ دوسرے پروگراموں پر انحصار کرنا ہوگا جیسے۔ بی سی .

بی سی راسبیئن پر بطور ڈیفالٹ انسٹال نہیں ہے۔ لیکن آپ اسے درج ذیل کمانڈ سے آسانی سے انسٹال کر سکتے ہیں۔

$سودومناسبانسٹال کریں بی سی

بی سی انسٹال ہونا چاہیے.

اب ، آپ کو ٹمپریچر مانیٹرنگ سکرپٹ میں ترمیم کرنی ہوگی اور درجہ حرارت کو سیلسیس سے فارن ہائیٹ میں تبدیل کرنے کے لیے ضروری حساب کتاب کرنا ہوگا بی سی .

میں ترمیم کریں۔ tempmon.sh مندرجہ ذیل کمانڈ کے ساتھ اسکرپٹ:

$نینوtempmon.sh

اب ، ذیل میں اسکرین شاٹ میں نشان لگا دیا گیا ترمیم کریں۔

یہاں ، لائن 4 پر ، میں نے پرنٹ کیا۔ TEMP (F) کے بجائے TEMP (degC) .

لائن 9 پر ، میں نے متغیر کو تبدیل کیا۔ درجہ حرارت کو tempC .

لائن 10 پر ، میں نے سیلسیس کا نتیجہ فارن ہائیٹ کنورژن میں ایک متغیر میں شامل کیا۔ tempF .

آخر میں ، میں نے قیمت پرنٹ کی۔ tempF کی بجائے متغیر درجہ حرارت لائن 12 پر

اب ، اسکرپٹ کو اس طرح چلائیں:

$./عارضی

جیسا کہ آپ دیکھ سکتے ہیں ، درجہ حرارت فارن ہائیٹ یونٹ میں چھاپا جاتا ہے۔

اس طرح آپ راسبیری پائی میں درجہ حرارت کی نگرانی کرتے ہیں۔ اس مضمون کو پڑھنے کے لیے شکریہ۔