מדוע GPIO Zero עדיף על RPi.GPIO לפרויקטים של Raspberry Pi

מדוע GPIO Zero עדיף על RPi.GPIO לפרויקטים של Raspberry Pi

ה- Raspberry Pi הוא המחשב המושלם ללמידה. מערכת ההפעלה Raspbian מבוססת לינוקס כוללת Python מובנית, מה שהופך אותה למערכת ראשונה מצוינת עבור קודנים מתחילים. סיכות הכניסה/פלט למטרות כלליות שלה (GPIO) מקלות על יצרנים מתחילים להתנסות בפרויקטים אלקטרוניים של DIY.





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





מהו GPIO Zero?

ספריית GPIO Zero היא ספריית Python לעבודה עם סיכות GPIO. זה נכתב על ידי מנהל הקהילה Raspberry Pi בן נוטל . מטרתו להיות אינטואיטיבית ו'ידידותית ', היא מייעלת את קוד פייתון לרוב מקרי השימוש הרגילים ב- Raspberry Pi.





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

מה הבעיה ב- RPi.GPIO?

שום דבר. שום דבר. RPi.GPIO שוחרר בתחילת 2012 על ידי המפתח בן קרוסטון. זוהי ספרייה חזקה המאפשרת למשתמשים לשלוט בסיכות GPIO מתוך קוד. הוא כולל ב- כמעט כל פרויקט מתחיל כיסינו.



איך לשלוח הודעות לאנשים ביוטיוב

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

מה כל כך טוב ב- GPIO Zero?

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





שקול את הדוגמה הבאה, הגדרת והדלקת נורית LED:

הקוד לעיל אמור להיות די מוכר לכל מי שיש לו השתמשו בפי שלהם כדי לשלוט בלדים .





ספריית ה- RPi.GPIO מיובאת, והצהרת סיכה עבור הנורית. סוג פריסת הסיכה מוגדר (BCM ו- BOARD הם הסבר במדריך GPIO שלנו ), והסיכה מוגדרת כפלט. לאחר מכן, הסיכה מופעלת.

גישה זו הגיונית, אך דרך הפעולה של GPIO Zero פשוטה בהרבה:

ל- GPIO Zero יש מודול עבור נוריות LED המיובאות בהתחלה. המשמעות היא שאתה יכול להצהיר על מספר הסיכה ולהתקשר led.on () שיטה.

סרטים בחינם באינטרנט ללא הורדה או הרשמה או תשלום

מדוע גישת GPIO Zero טובה יותר?

ישנן כמה סיבות לכך ששיטת עבודה זו היא שיפור ב- RPi.GPIO.

ראשית, הוא עומד בדרישת 'קל לקריאה, קצר ככל האפשר'. למרות שניתן להבין את הצהרות ההתקנה של RPi.GPIO מספיק קלות, הן אינן נחוצות. נורית LED תמיד תהיה פלט, ולכן GPIO Zero מגדיר את הסיכות מאחורי הקלעים. התוצאה היא רק שלוש שורות קוד להתקנה ולאחר מכן הדלקת נורת LED.

ייתכן שתבחין כי אין דוגמה להגדרת מצב לוח בדוגמת GPIO Zero. הספרייה משתמשת רק במספור Broadcom (BCM) לסיכות. מעצב הספרייה בן נוטל מסביר מדוע בשנת 2015 ראיון RasPi.tv :

'מספור לוח יכול להיראות פשוט יותר, אבל הייתי אומר שזה גורם למשתמשים חדשים לחשוב שכל הסיכות הן למטרה כללית --- והן לא. חבר נורית לפין 11, למה שלא תחבר עוד לפינים 1, 2, 3 ו -4? באר 1 הוא 3V3. 2 ו -4 הם 5V. חוסר מודעות למה מטרת הסיכות יכולה להיות מסוכנת״.

במילים אחרות, הגיוני בהחלט להשתמש במספרי ה- BCM. בהתחשב בכך ש- GPIO Zero יהיה סטנדרטי בתיעוד Raspberry Pi בהמשך, כדאי ללמוד!

האם GPIO Zero באמת טוב יותר?

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

מצד שני, חשוב לדעת מה קורה בדיוק ללמידה. קח את הדוגמה של הגדרת כפתור מתוך תיעוד GPIO Zero :

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

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

משתמשי ספריית RPi.GPIO ישימו לב כי נגדי המשיכה/המשיכה הפנימיים של ה- Pi אינם מוגדרים בקוד. זה מעלה שאלה מעניינת. האם חיוני למתחילים לדעת על נגדי משיכה/למטה? שוב, לבן נוטל יש תשובה לשאלה זו:

'אתה יכול לטעון שטוב לדעת על משיכות עליות ומורדות, ואתה צודק --- אבל למה אני צריך ללמד את זה ביום הראשון? [...] אם אתה רוצה ללמד את האלקטרוניקה ב יותר עומק יש הרבה מקום לזה --- אבל זה לא צריך להיות חובה אם אתה רק מתחיל. '

בסך הכל, הגישה הפשוטה של ​​GPIO Zero היא כנראה דבר טוב למתחילים ותיקים כאחד. חוץ מזה, RPi.GPIO לא הולך לשום מקום. זה תמיד יהיה שם כדי לחזור אליו במידת הצורך.

האם פייתון היא האפשרות היחידה?

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

לחלופין, אם אתה כבר מתכנת ב- JavaScript, ניתן להתקין בקלות Node.js ב- Pi. גישה ל- GPIO זמינה דרך ספריית rpm-gpio npm . רובי על מסילות ניתן להתקין גם ב- Raspberry Pi, אם כי ייתכן שה- Pi אינה הדרך הטובה ביותר ללמוד מסילות!

כל האלטרנטיבות הללו, יחד עם ספריות מרובות שפות כמו המעולות זוֹל יכול להפוך את בחירת הספרייה לבלבלת. כאן מצטיין GPIO Zero: למתחילים התוהים כיצד והיכן להתחיל.

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

תחילת העבודה עם GPIO אפס את עצמך

GPIO Zero היא הספרייה החדשה ביותר שעושה סנסציה עבור ה- Pi ומסיבה טובה. עבור רוב המשתמשים הוא הופך את הקידוד לסיכות GPIO לפשוט יותר לקריאה ומהיר יותר לכתיבה.

הוא עושה את זה בחינם

בהתחשב בשימוש ב- Raspberry Pi בחינוך, כל מה שהופך את הלמידה לטבעית יותר הוא דבר טוב. למרות ש- RPi.GPIO היה מושלם עד כה, GPIO Zero לוקח רעיון טוב והופך אותו לטוב עוד יותר.

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

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל 5 טיפים להטעין את מכונות הלינוקס של VirtualBox

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

קרא הבא
נושאים קשורים
  • עשה זאת בעצמך
  • תִכנוּת
  • פאי פטל
  • פִּיתוֹן
  • GPIO
על הסופר איאן באקלי(פורסמו 216 מאמרים)

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

עוד מאת איאן באקלי

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה