תוכן עניינים:
- אספקה
- שלב 1: בניית המעגל
- שלב 2: רשום טמפרטורת מעבד עם ThingSpeak
- שלב 3: קבלת טמפרטורת המעבד מפי פטל באמצעות פייתון
- שלב 4: שליטה במאוורר בהתאם לטמפרטורה
- שלב 5: קוד פייתון סופי
- שלב 6: ניטור נתונים באמצעות ענן Thingspeak
- שלב 7: הפעל את סקריפט Python בעת ההפעלה
וִידֵאוֹ: שליטה חכמה במאוורר Raspberry Pi באמצעות Python & Thingspeak: 7 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
סקירה קצרה
כברירת מחדל, המאוורר מחובר ישירות ל- GPIO - זה מרמז על פעולתו הקבועה. למרות הפעולה השקטה יחסית של המאוורר, פעולתו הרציפה אינה שימוש יעיל במערכת קירור פעילה. יחד עם זאת, פעולתו המתמדת של מאוורר יכולה פשוט להטריד. כמו כן, אם Raspberry Pi כבוי, המאוורר עדיין יפעל אם החשמל מחובר.
מאמר זה יראה כיצד באמצעות מניפולציות פשוטות ולא מסובכות, הופכים מערכת קירור קיימת לחכמה, שתופעל רק כאשר המעבד זקוק לה באמת. המאוורר יופעל רק כשיש שימוש רב, ובכך יפחית את צריכת החשמל והרעש של המאוורר. גם הארכת חיי המאוורר על ידי שמירה על כבוי כאשר אין צורך.
מה תלמד
כיצד ליישם סקריפט Python לשליטה במאוורר על סמך הטמפרטורה הנוכחית של מעבד פטל באמצעות בקרת הפעלה וכיבוי עם היסטסטרזה של טמפרטורה. כיצד להעביר נתונים מה- RaspberryPi שלך אל Things Speak Cloud.
אספקה
הרכיבים שתידרשו לפרויקט זה הם כדלקמן
- מחשב Raspberry Pi 4 דגם B 4GB
- נגד טרנזיסטור NPN S8050330 אוהם
- מארז מתכת משוריין מאלומיניום עם מאווררים כפולים לפטל פי
- כבלי מגשר
- לוח לחם
שלב 1: בניית המעגל
המעגל די פשוט. החשמל למאוורר מנותק באמצעות טרנזיסטור NPN. בתצורה זו, הטרנזיסטור פועל כמתג בצד נמוך. נגזר נדרש רק כדי להגביל את הזרם באמצעות GPIO. ל- GPIO של ה- Raspberry Pi יש תפוקת זרם מרבית של 16mA. השתמשתי ב -330 אוהם שנותן לנו זרם בסיס של בערך (5-0.7)/330 = 13mA. בחרתי בטרנזיסטור NPN S8050, כך שאין בעיה להעביר עומס 400mA משני המאווררים.
שלב 2: רשום טמפרטורת מעבד עם ThingSpeak
ThingSpeak היא פלטפורמה לפרויקטים המבוססים על תפיסת האינטרנט של הדברים. פלטפורמה זו מאפשרת לך לבנות יישומים המבוססים על נתונים שנאספו מחיישנים. המאפיינים העיקריים של ThingSpeak כוללים: איסוף נתונים בזמן אמת, עיבוד נתונים והדמיה. ThingSpeak API לא רק מאפשר לך לשלוח, לאחסן ולגשת לנתונים, אלא גם מספק שיטות סטטיסטיות שונות לעיבודם.
ThingSpeak יכולה לשלב מכשירים ושירותים פופולריים כגון:
- ארדואינו
- פטל pii
- oBridge / RealTime.io
- זרם חשמלי
- יישומי מובייל ואינטרנט
- רשתות חברתיות
- ניתוח נתונים ב- MATLAB
לפני שנתחיל, אתה צריך חשבון ב- ThingSpeak.
- עבור לקישור הבא והירשם ל- ThingSpeak.
- לאחר הפעלת החשבון, היכנס.
- עבור אל ערוצים -> הערוצים שלי
- לחץ על כפתור הערוץ החדש.
- הזן את השם, התיאור והשדות של הנתונים שברצונך להעלות
- לחץ על כפתור שמור ערוץ כדי לשמור את כל ההגדרות שלך.
אנו זקוקים למפתח API, אותו נוסיף מאוחר יותר לקוד פייתון על מנת להעלות את טמפרטורת המעבד שלנו לענן Thingspeak.
לחץ על הכרטיסייה מפתחות API כדי לקבל את מפתח ה- Write API
ברגע שיש לך את מפתח ה- API של Write, אנחנו כמעט מוכנים להעלות את הנתונים שלנו.
שלב 3: קבלת טמפרטורת המעבד מפי פטל באמצעות פייתון
התסריט מבוסס על אחזור טמפרטורת המעבד, המתרחשת כל שנייה. ניתן להשיג אותו מהטרמינל על ידי הפעלת הפקודה vcgencmd עם הפרמטר Measure_temp.
vcgencmd measure_temp
ספריית Subprocess.check_output () שימשה לביצוע הפקודה ולאחר מכן שימוש בביטוי רגיל לחילוץ הערך האמיתי מהמחרוזת המוחזרת.
מפלט check_output ייבוא תהליך
מיבוא מחדש findalldef get_temp (): temp = check_output (["vcgencmd", "measure_temp"]). decode () temp = float (findall ('\ d+\. / d+', temp) [0]) החזרה (temp) הדפס (get_temp ())
לאחר איסוף ערך הטמפרטורה, יש לשלוח נתונים לענן ThingSpeak. השתמש במפתח ה- API של Write שלך כדי לשנות את המשתנה myApi בקוד ה- Python שלהלן.
מבקשת ייבוא urllib
מאת ייבוא מחדש מוצא כל הזמן ייבוא שינה מ- subprocess יבוא check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "measure_temp"]). decode () temp = float (findall (' / d+\. / d+', temp) [0]) החזרה (temp) נסה: בעוד נכון: temp = get_temp () conn = request.urlopen (baseURL + '& field1 = % s' % (temp)) print (str (temp)) conn.close () sleep (1) למעט KeyboardInterrupt: הדפסה ("יציאה לחץ על Ctrl+C")
שלב 4: שליטה במאוורר בהתאם לטמפרטורה
סקריפט Python המוצג להלן מיישם היגיון המפעיל את המאוורר כשהטמפרטורה עולה מעל הטמפ 'וכיבוי רק כשהטמפרטורה יורדת מתחת לסף. בדרך זו, המאוורר לא יופעל ונכבה במהירות.
ייבא RPi. GPIO כ- GPIO
ייבוא sys מאת ייבוא מחדש Findall מעת לעת ייבוא שינה מתהליך ייבוא check_output def get_temp (): temp = check_output (["vcgencmd", "measure_temp"]). decode () temp = float (findall ('\ d+\. / d+ ', temp) [0]) חזור (temp) נסה: GPIO.setwarnings (False) tempOn = 50 סף = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, initial = 0) while True: temp = get_temp () if temp> tempOn ולא pinState או temp <tempOn - סף ו- pinState: pinState = not pinState GPIO.output (controlPin, pinState) הדפס (str (temp) + "" + str (pinState)) sleep (1) למעט KeyboardInterrupt: הדפס ("יציאה Ctrl+C" לחוץ) למעט: print ("Other Exception") הדפס ("--- Start Data Exception:") traceback.print_exc (limit = 2, file = sys.stdout) print ("--- נתוני חריגה של סיום:") לבסוף: print ("CleanUp") GPIO.cleanup () print ("סוף התוכנית")
שלב 5: קוד פייתון סופי
ניתן למצוא את קוד הפיתון הראשי בחשבון GitHub שלי בקישור הבא. זכור לשים את מפתח ה- API שלך לכתוב.
- היכנס ללוח ה- RI של הפטל שלך
- הפעל את הפקודה הבאה במסוף
python3 cpu.py
שלב 6: ניטור נתונים באמצעות ענן Thingspeak
כעבור זמן מה, פתח את הערוץ שלך ב- ThingSpeak וכדאי שתראה את הטמפרטורה שתעלה לענן Thingspeak בזמן אמת.
שלב 7: הפעל את סקריפט Python בעת ההפעלה
לשם כך, בסוף הקובץ /etc/rc.local:
sudo nano /etc/rc.local
עליך למקם את הפקודה start script לפני יציאת השורה 0:
sudo python /home/pi/cpu.py &
הנוכחות של הסמל & בסוף הפקודה היא חובה, מכיוון שזוהי דגל להתחיל את התהליך ברקע. לאחר האתחול, התסריט יופעל אוטומטית והמאוורר יופעל כאשר מתקיימים התנאים שצוינו.
מוּמלָץ:
שליטה ב- Led באמצעות אפליקציית Blynk באמצעות Nodemcu דרך האינטרנט: 5 שלבים
שליטה באמצעות LED באמצעות אפליקציית Blynk באמצעות Nodemcu דרך האינטרנט: שלום לכולם היום נראה לכם כיצד תוכלו לשלוט על LED באמצעות סמארטפון דרך האינטרנט
מנורת LED שולחנית חכמה - תאורה חכמה עם ארדואינו - סביבת העבודה של Neopixels: 10 שלבים (עם תמונות)
מנורת LED שולחנית חכמה | תאורה חכמה עם ארדואינו | סביבת העבודה של Neopixels: כיום אנו מבלים זמן רב בבית, לומדים ועובדים וירטואלית, אז למה לא להפוך את מרחב העבודה שלנו גדול יותר באמצעות מערכת תאורה מותאמת וחכמה מבוססת Arduino ו- Ws2812b LEDs. כאן אני מראה לך כיצד בונים את ה- Smart שלך אור LED לשולחן כי
שליטה באורות הבית באמצעות Google Assistant באמצעות Arduino: 7 שלבים
שליטה על אורות הבית באמצעות Google Assistant באמצעות Arduino: (עדכון ב- 22 באוגוסט 2020: ההוראה היא בת שנתיים ומסתמכת על כמה אפליקציות של צד שלישי. כל שינוי מהצד שלהם עלול לגרום לכך שהפרויקט הזה לא יעבוד. יתכן ויתכן שלא. תעבוד עכשיו אבל תוכל לעקוב אחריו כהפניה ולשנות בהתאם
שליטה במאוורר קירור ב- Raspberry Pi 3: 9 שלבים
שליטה במאוורר קירור ב- Raspberry Pi 3: הוסף מאוורר ל- pi 3 פטל, עם שליטה להדלקה וכיבוי כנדרש. דרך קלה להוסיף מאוורר היא פשוט לחבר את המאוורר מוביל ל- 3.3V או 5V. סיכה ולטחון. בעזרת גישה זו, המאוורר יפעל כל הזמן. אני חושב שזה הרבה יותר
שליטה במאוורר באמצעות Wifi. קל לחיים: 15 שלבים
שליטה במאוורר באמצעות Wifi. קל לחיים: היום רק עם טלפון, והתקן המחובר לאינטרנט. אתה יכול לשלוט בכל מכשיר בכל מקום בעולם. היום אני אשלוט על מאוורר עם סמארטפון המחובר לאינטרנט