תוכן עניינים:

לחצן כיבוי ל- Raspberry Pi: 3 שלבים
לחצן כיבוי ל- Raspberry Pi: 3 שלבים

וִידֵאוֹ: לחצן כיבוי ל- Raspberry Pi: 3 שלבים

וִידֵאוֹ: לחצן כיבוי ל- Raspberry Pi: 3 שלבים
וִידֵאוֹ: Бесшумное zigbee реле в подрозетник без нулевой линии, особенности монтажа, установка конденсатора 2024, נוֹבֶמבֶּר
Anonim
לחצן כיבוי ל- Raspberry Pi
לחצן כיבוי ל- Raspberry Pi

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

להדרכה זו תזדקק לדברים הבאים:

  • 1 פטל פטל כבר מוגדר ומוכן לשימוש
  • קרש לחם אחד או משהו שיאפשר לך ליצור את המעגל האלקטרוני
  • כפתור אחד
  • 2 חוטי מגשר

אם מעולם לא השתמשת ב- Raspberry Pi, תוכל לעיין במדריך שלי כיצד ומה לעשות כדי להגדיר אותו:

www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/

שלב 1: מעגל אלקטרוני

מעגל חשמלי
מעגל חשמלי
מעגל חשמלי
מעגל חשמלי
מעגל חשמלי
מעגל חשמלי

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

בואו להסביר במהירות איך זה הולך לעבוד:

  • החוט האדום לוקח את 3.3V לקצה אחד של כפתור הלחיצה.
  • הכבל BLACK מחבר את הקצה השני של כפתור הלחיצה ל- Pi GPIO שישמש כקלט.
  • כברירת מחדל הכפתור פתוח, כך שאין מתח שעובר בו. אז הכבל BLACK הוא ב 0V כאשר הכפתור אינו נלחץ. המשמעות היא שהמצב הלוגי של קלט ה- Pi GPIO הוא 0.
  • כאשר יילחץ על הכפתור, המתח יעבור דרכו והכבל BLACK יקושר ל- 3.3V. ה- Raspberry Pi יראה אז מתח של 3.3V בכניסה שלו, המתאים למצב לוגי של 1.

שלב 2: קוד פייתון

קוד פייתון
קוד פייתון

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

מסך ההדפסה למעלה הוא מסביבת PyCharm שלי, והקוד הוא הבא (עם הבדל קטן בקו 26 המקושר לפרויקט אחר אך אינו נדרש כאן):

# זהו קוד להפסקת ה- Raspberry Pi בעת לחיצה ממושכת על כפתור מוגדר כדי לכבות את Raspberry PiGPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) # תוכנית מספרי סיכה של Broadcom GPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # כפתור מוגדר כקלט בזמן אמת: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # הפחתת מתג בעוד GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - התחל אם אורך > hold_time: os.system ("sudo poweroff")

הדבר הראשון, אם חיברת את כפתור הלחיצה ל- GPIO אחר, הוא עדכון שורה 11 במסך ההדפסה לעיל עם קלט GPIO הרלוונטי:

button_poweroff = GPIO_X # עדכן עם ה- GPIO הנכון המשמש במעגל שלך

כמו כן, המשתנה hold_time מאפשר לך לשנות את זמן ההמתנה המפעיל את הפי כיבוי.

שלב 3: כיצד להפעיל את הסקריפט באופן אוטומטי לאחר הליך האתחול

כיצד להפעיל את הסקריפט באופן אוטומטי לאחר הליך האתחול
כיצד להפעיל את הסקריפט באופן אוטומטי לאחר הליך האתחול
כיצד להפעיל את הסקריפט באופן אוטומטי לאחר הליך האתחול
כיצד להפעיל את הסקריפט באופן אוטומטי לאחר הליך האתחול

עכשיו שיש לנו את הקוד מוכן, אנחנו רק צריכים לבצע אותו. אבל זה יהיה נוח אם נוכל להריץ את הסקריפט הזה בכל פעם שה- Pi מופעל באופן אוטומטי, כך שהכפתור יעבוד בלעדינו להריץ את הסקריפט בכל פעם. ישנן דרכים רבות לעשות זאת. הוספתי כאן שורה אחת לקובץ rc.local שנמצא בתיקייה / etc / של ה- Pi שלך. הוא מבוצע כחלק מרצף האתחול.

עליך לפתוח שורת פקודה ולהקליד את הפקודות הבאות (מסך הדפסה ראשון למעלה):

תקליטור /

cd וכו 'sudo nano rc.local

הפקודה הראשונה תעביר אותך מספריית /home /pi לשורת הבסיס, שהיא /.

הפקודה השנייה תעביר אותך לספריית / etc /.

לבסוף, השלישי יפתח את הקובץ rc.local כמשתמש -על, עם זכויות עריכה מלאות, אותן עליך לשנות את הקובץ.

לאחר שהיית בקובץ, אתה רק צריך להוסיף שורה בסוף זה, אבל לפני משפט יציאה 0 (מסך הדפסה 2 למעלה):

# הוסף שורה זו לקובץ rc.local להפעלת התסריט

sudo python /home/pi/Documents/shutdown_with_hold.py &

יש כמה דברים שאתה צריך לשים לב אליהם, כאן:

  1. שם הקובץ שלך: בשורה למעלה, אני מניח שהקובץ הוא shutdown_with_hold.py. אבל זה יכול להיות מה שאתה רוצה, רק עדכן את השם שלך.
  2. היכן שמרת את הקובץ שלך: בשורה למעלה, אני מניח שהוא נשמר בספריית/home/pi/Documents. אבל שוב, זה יכול להיות בכל מקום. אתה רק צריך לוודא כאן את הנתיב המוחלט לקובץ שלך.
  3. התו "&" בסוף זה: זה חשוב, וזה מאפשר לפקודה זו לפעול ברקע

וזה הכל! אז עכשיו, התסריט יבוצע בכל פעם שה- Pi שלך יהיה מופעל, ותצטרך ללחוץ יותר מ -3 שניות על הכפתור כדי לכבות אותו.

מוּמלָץ: