צג טמפרטורה של פטל פיי

Raspberry Pi Temperature Monitor



Raspberry Pi הוא מחשב לוח יחיד חזק (SBC). ניתן להשתמש בו לביצוע משימות מתוחכמות רבות. אך פעולה זו תעלה את הטמפרטורה של המעבד של מכשירי Raspberry Pi. מה שלא טוב. הביצועים של Raspberry Pi SBC יסבלו עקב הטמפרטורה. זה ידוע גם בשם מצערת תרמית.

אם הטמפרטורה של המעבד של ה- Raspberry Pi שלך עולה על 80 מעלות צלזיוס, תראה סמל מדחום בפינה השמאלית העליונה של המסך. באופן רשמי, קרן Raspberry Pi ממליצה שהטמפרטורה של מכשיר ה- Raspberry Pi שלך תהיה נמוכה מ -85 מעלות צלזיוס כדי שהוא יפעל כראוי. זה הגבול המקסימלי. אבל זה יתחיל להדביק בחום של 82 מעלות צלזיוס.







במאמר זה, אראה לך כיצד לעקוב אחר הטמפרטורה של ה- Raspberry Pi שלך. אני אשתמש במערכת ההפעלה Raspbian במכשיר ה- Raspberry Pi 3 דגם B שלי. אבל זה אמור לעבוד על כל Raspberry Pi SBC עם מערכת הפעלה Raspbian מותקנת.



אתה יכול למדוד את טמפרטורת הליבה של מכשיר ה- Raspberry Pi שלך באמצעות הפקודה הבאה:



$vcgencmd measure_temp

טמפרטורת הליבה הנוכחית היא 48.3 מעלות צלזיוס כפי שניתן לראות בחלק המסומן של צילום המסך למטה.





כפי שאתה יכול לראות, בכל פעם שאני מפעיל את הפקודה מוצג ערך טמפרטורה שונה.



ניתוח נתוני הטמפרטורה:

נתוני הטמפרטורה שאנו מקבלים מה vcgencmd הפקודה היא מחרוזת. אתה לא יכול לבצע שום חישוב על זה. אנו יכולים להשתמש בביטוי רגולרי בקלות כדי לחלץ רק את נתוני הטמפרטורה ולבצע עליהם כל סוג חישוב.

אם ברצונך להשתמש בנתוני הטמפרטורה בתסריט Bash shell, תוכל לחלץ את נתוני הטמפרטורה באמצעות egrep הפקודה כדלקמן:

$vcgencmd measure_temp| egrep -אוֹ '[0-9] * . [0-9] *'

כפי שאתה יכול לראות, רק נתוני הטמפרטורה מודפסים. אין דבר לפניו או לאחריו.

אתה יכול להשתמש בו על סקריפט המעטפת שלך (נניח print_temp.sh ) כדלהלן:

$ננוprint_temp.sh

כאן, בקו 3, הגדרתי את טמפ ' משתנה לנתוני הטמפרטורה המנותחים שאני מקבל מה- vcgencmd ו אחיזה פקודה.

בקו 5 השתמשתי זרק כדי להדפיס את התוכן של טמפ ' משתנה על המסך.

שורה 1 משמשת כדי לומר לינוקס שיש לבצע את התסריט באמצעותו /bin/bash כברירת מחדל.

כעת, הפוך את קובץ ה- script להפעלה באמצעות הפקודה הבאה:

$chmod+ x print_temp.sh

כעת, הפעל את התסריט כדלקמן:

$./print_temp.sh

כפי שאתה יכול לראות, הפלט הרצוי מודפס על המסך.

כתיבת סקריפט ניטור טמפרטורה של פטל פיי:

כעת, כשאנו יכולים לנתח את נתוני הטמפרטורה שאנו מקבלים מה- vcgencmd פקודה, אנו יכולים לכתוב בקלות סקריפט ניטור טמפרטורה עבור Raspberry Pi. סקריפט ניטור הטמפרטורות ידפיס את חותמת הזמן הנוכחית וטמפרטורת הליבה בכל שנייה על המסך בצורה מעוצבת יפה.

ראשית, צור סקריפט חדש tempmon.sh עם הפקודה הבאה:

$לגעתtempmon.sh

כעת, ערוך את tempmon.sh סקריפט עם הפקודה הבאה:

$ננוtempmon.sh

כעת, הקלד את שורות הקודים הבאות ושמור את הקובץ באמצעותו + איקס ולאחר מכן לחץ על ו בא אחריו .

כאן, בקו 4, printf משמש להדפסת מחרוזות TIMESTAMP ו- TEMP (degC) כעמודה ברוחב קבוע.

בקו 5 השתמשתי printf שוב להדפיס קו מקווקו רק כדי להפוך את הפלט לקריא יותר ומושך יותר.

בשורה 7-13, ניהלתי לולאה אינסופית להדפסת נתוני הטמפרטורה בכל שנייה.

בשורה 9, שמרתי את נתוני הטמפרטורה המנותחים ב- טמפ ' מִשְׁתַנֶה.

בשורה 10, שמרתי את נתוני חותמת הזמן שקיבלתי מה- תַאֲרִיך הפקודה על חותמת זמן מִשְׁתַנֶה.

בשורה 11 הדפסתי את התאריך והשעה בפורמט חותמת זמן ואת נתוני הטמפרטורה בפורמט עמוד ברוחב קבוע.

בשורה 12 השתמשתי בפקודה sleep 1 כדי להחזיק את הביצוע של התסריט לשנייה. לאחר מכן, הלולאה תמשיך.

עכשיו, עשה את התסריט tempmon.sh הפעלה באמצעות הפקודה הבאה:

$chmod+ x tempmon.sh

לבסוף, הפעל את התסריט tempmon.sh עם הפקודה הבאה:

$./tempmon.sh

כפי שאתה יכול לראות, סקריפט מוניטור הטמפרטורות עובד בצורה מושלמת. הוא מדפיס את נתוני הטמפרטורה בכל שנייה.

כפי שאתה יכול לראות, ככל שהגברתי את עומס המערכת, הטמפרטורה עלתה מעט.

אם ברצונך לעצור את סקריפט ניטור הטמפרטורה, לחץ על + ג . ניטור הטמפרטורה אינו פועל עוד כפי שניתן לראות בצילום המסך למטה.

כעת, כאשר סקריפט ניטור הטמפרטורה פועל, בואו להעתיק אותו אל /usr/bin מַדרִיך. כך תוכל להריץ אותו כמו כל פקודה אחרת של Linux.

כדי להעתיק את התסריט tempmon.sh אל ה /usr/bin ספרייה, הפעל את הפקודה הבאה:

$סודו cptempmon.sh/usr/אני/טמפמון

כפי שאתה יכול לראות, אני יכול להריץ את סקריפט ניטור הטמפרטורה בדיוק כפי שאני מפעיל פקודות לינוקס סטנדרטיות.

שינוי טמפמון להדפסת נתוני טמפרטורה בפרנהייט:

אתה יכול להמיר בקלות את נתוני הטמפרטורה מצלסיוס לפרנהייט.

הנוסחה הידועה לחישוב הטמפרטורות בפרנהייט מהצלסיוס היא,

F =(9/5)*C +32
אוֹ
F =1.8 *C +32

אך הבעיה היא של- shell shell אין פונקציות נחוצות לביצוע חישובי נקודה צפה. לכן, עליך להסתמך על תוכניות אחרות כגון לִפנֵי הַסְפִירָה .

לִפנֵי הַסְפִירָה אינו מותקן ב- Raspbian כברירת מחדל. אבל אתה יכול להתקין אותו בקלות באמצעות הפקודה הבאה:

$סודומַתְאִיםלהתקין לִפנֵי הַסְפִירָה

לִפנֵי הַסְפִירָה צריך להיות מותקן.

כעת, עליך לשנות את סקריפט ניטור הטמפרטורה ולבצע חישובים הכרחיים כדי להמיר את הטמפרטורה לפרנהייט מצלסיוס עם לִפנֵי הַסְפִירָה .

ערוך את tempmon.sh סקריפט עם הפקודה הבאה:

$ננוtempmon.sh

כעת, בצע את השינויים המסומנים בצילום המסך למטה.

כאן, בשורה 4, הדפסתי TEMP (F) במקום TEMP (degC) .

בשורה 9 שיניתי את המשתנה מ טמפ ' ל tempC .

בשורה 10 הוספתי את התוצאה של המרת צלזיוס לפרנהייט למשתנה tempF .

לבסוף הדפסתי את הערך של tempF משתנה במקום טמפ ' בקו 12.

כעת, הפעל את התסריט כדלקמן:

$./טמפמון

כפי שאתה יכול לראות, הטמפרטורה מודפסת ביחידת פרנהייט.

אז ככה אתה עוקב אחר הטמפרטורה ב- Raspberry Pi. תודה שקראת מאמר זה.