21 KiB
רספברי פאי
ה-Raspberry Pi הוא מחשב חד-לוח. ניתן להוסיף חיישנים ומפעילים באמצעות מגוון רחב של מכשירים ואקוסיסטמות, ובשיעורים אלו נעשה שימוש באקוסיסטמה חומרתית בשם Grove. תכתבו קוד עבור ה-Pi ותיגשו לחיישני Grove באמצעות Python.
הגדרות
אם אתם משתמשים ברספברי פאי כחומרת IoT שלכם, יש לכם שתי אפשרויות - תוכלו לעבוד על כל השיעורים הללו ולכתוב קוד ישירות על ה-Pi, או להתחבר מרחוק ל-Pi 'ללא ראש' ולכתוב קוד מהמחשב שלכם.
לפני שתתחילו, עליכם גם לחבר את Grove Base Hat ל-Pi שלכם.
משימה - הגדרות
התקינו את Grove Base Hat על ה-Pi שלכם והגדירו את ה-Pi.
-
חברו את Grove Base Hat ל-Pi שלכם. השקע על ה-Hat מתאים לכל פיני ה-GPIO על ה-Pi, מחליק עד הסוף על הפינים כדי לשבת בצורה יציבה על הבסיס. הוא יושב מעל ה-Pi ומכסה אותו.
-
החליטו כיצד תרצו לתכנת את ה-Pi שלכם, ופנו לסעיף הרלוונטי למטה:
עבודה ישירה על ה-Pi שלכם
אם אתם רוצים לעבוד ישירות על ה-Pi שלכם, תוכלו להשתמש בגרסת הדסקטופ של Raspberry Pi OS ולהתקין את כל הכלים הדרושים.
משימה - עבודה ישירה על ה-Pi שלכם
הגדירו את ה-Pi שלכם לפיתוח.
- עקבו אחר ההוראות במדריך הגדרת Raspberry Pi כדי להגדיר את ה-Pi שלכם, לחבר אותו למקלדת/עכבר/מסך, לחבר אותו לרשת WiFi או Ethernet ולעדכן את התוכנה.
כדי לתכנת את ה-Pi באמצעות חיישני ומפעילי Grove, תצטרכו להתקין עורך שיאפשר לכם לכתוב את קוד המכשיר, וספריות וכלים שונים שמתקשרים עם חומרת Grove.
-
לאחר שה-Pi שלכם יופעל מחדש, פתחו את הטרמינל על ידי לחיצה על אייקון Terminal בסרגל התפריט העליון, או בחרו Menu -> Accessories -> Terminal
-
הריצו את הפקודה הבאה כדי לוודא שהמערכת והתוכנה המותקנת מעודכנות:
sudo apt update && sudo apt full-upgrade --yes
-
הריצו את הפקודות הבאות כדי להתקין את כל הספריות הדרושות לחומרת Grove:
sudo apt install git python3-dev python3-pip --yes git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . sudo raspi-config nonint do_i2c 0
זה מתחיל בהתקנת Git, יחד עם Pip להתקנת חבילות Python.
אחת התכונות החזקות של Python היא היכולת להתקין חבילות Pip - אלו חבילות קוד שנכתבו על ידי אנשים אחרים ופורסמו באינטרנט. ניתן להתקין חבילת Pip על המחשב שלכם עם פקודה אחת, ואז להשתמש בחבילה הזו בקוד שלכם.
חבילות Python של Seeed Grove צריכות להיות מותקנות ממקור. הפקודות הללו ישכפלו את הריפו שמכיל את קוד המקור של החבילה הזו, ואז יתקינו אותו באופן מקומי.
💁 כברירת מחדל, כאשר אתם מתקינים חבילה היא זמינה בכל מקום במחשב שלכם, וזה יכול להוביל לבעיות עם גרסאות חבילות - כמו אפליקציה אחת שתלויה בגרסה אחת של חבילה שנשברת כאשר אתם מתקינים גרסה חדשה עבור אפליקציה אחרת. כדי להתמודד עם הבעיה הזו, ניתן להשתמש ב-סביבת עבודה וירטואלית של Python, שהיא למעשה עותק של Python בתיקייה ייעודית, וכאשר אתם מתקינים חבילות Pip הן מותקנות רק לתיקייה הזו. לא תשתמשו בסביבות עבודה וירטואליות כאשר אתם משתמשים ב-Pi שלכם. סקריפט ההתקנה של Grove מתקין את חבילות Python של Grove באופן גלובלי, כך שאם תרצו להשתמש בסביבת עבודה וירטואלית תצטרכו להגדיר אותה ואז להתקין מחדש את חבילות Grove בתוך הסביבה הזו. קל יותר פשוט להשתמש בחבילות גלובליות, במיוחד מכיוון שרבים ממפתחי ה-Pi יפרמטו כרטיס SD נקי עבור כל פרויקט.
לבסוף, זה מפעיל את ממשק I2C.
-
הפעילו מחדש את ה-Pi באמצעות התפריט או הרצת הפקודה הבאה בטרמינל:
sudo reboot
-
לאחר שה-Pi יופעל מחדש, פתחו שוב את הטרמינל והריצו את הפקודה הבאה כדי להתקין את Visual Studio Code (VS Code) - זהו העורך שבו תשתמשו לכתיבת קוד המכשיר שלכם ב-Python.
sudo apt install code
לאחר שזה יותקן, VS Code יהיה זמין מהתפריט העליון.
💁 אתם חופשיים להשתמש בכל IDE או עורך Python עבור השיעורים הללו אם יש לכם כלי מועדף, אך ההוראות בשיעורים יתבססו על שימוש ב-VS Code.
-
התקינו את Pylance. זהו הרחבה עבור VS Code שמספקת תמיכה בשפת Python. עיינו בתיעוד הרחבת Pylance להוראות התקנה של הרחבה זו ב-VS Code.
גישה מרחוק לכתיבת קוד על ה-Pi
במקום לכתוב קוד ישירות על ה-Pi, ניתן להפעיל אותו 'ללא ראש', כלומר לא מחובר למקלדת/עכבר/מסך, ולהגדיר ולכתוב עליו מהמחשב שלכם, באמצעות Visual Studio Code.
הגדרת מערכת ההפעלה של ה-Pi
כדי לכתוב קוד מרחוק, מערכת ההפעלה של ה-Pi צריכה להיות מותקנת על כרטיס SD.
משימה - הגדרת מערכת ההפעלה של ה-Pi
הגדירו את מערכת ההפעלה של ה-Pi ללא ראש.
-
הורידו את Raspberry Pi Imager מדף תוכנת Raspberry Pi OS והתקינו אותו
-
הכניסו כרטיס SD למחשב שלכם, באמצעות מתאם אם יש צורך
-
הפעילו את Raspberry Pi Imager
-
מתוך Raspberry Pi Imager, בחרו בכפתור CHOOSE OS, ואז בחרו Raspberry Pi OS (Other), ואחריו Raspberry Pi OS Lite (32-bit)
💁 Raspberry Pi OS Lite היא גרסה של Raspberry Pi OS שאין לה ממשק משתמש גרפי או כלים מבוססי ממשק משתמש. אלו אינם נחוצים עבור Pi ללא ראש והופכים את ההתקנה לקטנה יותר ואת זמן האתחול למהיר יותר.
-
בחרו בכפתור CHOOSE STORAGE, ואז בחרו את כרטיס ה-SD שלכם
-
הפעילו את Advanced Options על ידי לחיצה על
Ctrl+Shift+X
. אפשרויות אלו מאפשרות תצורה מוקדמת של Raspberry Pi OS לפני שהיא נכתבת לכרטיס ה-SD.-
סמנו את תיבת הסימון Enable SSH, והגדירו סיסמה עבור המשתמש
pi
. זו תהיה הסיסמה שבה תשתמשו כדי להתחבר ל-Pi מאוחר יותר. -
אם אתם מתכננים להתחבר ל-Pi דרך WiFi, סמנו את תיבת הסימון Configure WiFi, והכניסו את ה-SSID והסיסמה של ה-WiFi שלכם, כמו גם בחירת המדינה של ה-WiFi שלכם. אין צורך לעשות זאת אם תשתמשו בכבל Ethernet. ודאו שהרשת שאליה אתם מתחברים היא אותה רשת שבה נמצא המחשב שלכם.
-
סמנו את תיבת הסימון Set locale settings, והגדירו את המדינה ואזור הזמן שלכם
-
בחרו בכפתור SAVE
-
-
בחרו בכפתור WRITE כדי לכתוב את מערכת ההפעלה לכרטיס ה-SD. אם אתם משתמשים ב-macOS, תתבקשו להזין את הסיסמה שלכם מכיוון שהכלי הבסיסי שכותב תמונות דיסק דורש גישה מורשית.
מערכת ההפעלה תיכתב לכרטיס ה-SD, וכאשר תושלם הכרטיס ייפלט על ידי מערכת ההפעלה, ותקבלו הודעה. הסירו את כרטיס ה-SD מהמחשב שלכם, הכניסו אותו ל-Pi, הפעילו את ה-Pi והמתינו כ-2 דקות כדי שיבצע אתחול כראוי.
התחברות ל-Pi
השלב הבא הוא גישה מרחוק ל-Pi. ניתן לעשות זאת באמצעות ssh
, שזמין ב-macOS, Linux וגרסאות עדכניות של Windows.
משימה - התחברות ל-Pi
גשו ל-Pi מרחוק.
-
הפעילו טרמינל או Command Prompt, והכניסו את הפקודה הבאה כדי להתחבר ל-Pi:
ssh pi@raspberrypi.local
אם אתם משתמשים ב-Windows בגרסה ישנה שאין בה
ssh
מותקן, תוכלו להשתמש ב-OpenSSH. תוכלו למצוא את הוראות ההתקנה בתיעוד התקנת OpenSSH. -
זה אמור להתחבר ל-Pi שלכם ולבקש את הסיסמה.
היכולת למצוא מחשבים ברשת שלכם באמצעות
<hostname>.local
היא תוספת די חדשה ל-Linux ו-Windows. אם אתם משתמשים ב-Linux או Windows ומקבלים שגיאות כלשהן על כך שלא נמצא שם המארח, תצטרכו להתקין תוכנה נוספת כדי לאפשר רשת ZeroConf (המכונה גם על ידי Apple בשם Bonjour):-
אם אתם משתמשים ב-Linux, התקינו את Avahi באמצעות הפקודה הבאה:
sudo apt-get install avahi-daemon
-
אם אתם משתמשים ב-Windows, הדרך הקלה ביותר לאפשר ZeroConf היא להתקין Bonjour Print Services for Windows. תוכלו גם להתקין iTunes for Windows כדי לקבל גרסה חדשה יותר של הכלי (שאינה זמינה כעצמאית).
💁 אם אינכם יכולים להתחבר באמצעות
raspberrypi.local
, תוכלו להשתמש בכתובת ה-IP של ה-Pi שלכם. עיינו בתיעוד כתובת ה-IP של Raspberry Pi להוראות על מספר דרכים להשיג את כתובת ה-IP. -
-
הכניסו את הסיסמה שהגדרתם באפשרויות המתקדמות של Raspberry Pi Imager.
הגדרת תוכנה על ה-Pi
לאחר שהתחברתם ל-Pi, עליכם לוודא שמערכת ההפעלה מעודכנת, ולהתקין ספריות וכלים שונים שמתקשרים עם חומרת Grove.
משימה - הגדרת תוכנה על ה-Pi
הגדירו את התוכנה המותקנת על ה-Pi והתקינו את ספריות Grove.
-
מתוך סשן ה-
ssh
שלכם, הריצו את הפקודה הבאה כדי לעדכן ואז להפעיל מחדש את ה-Pi:sudo apt update && sudo apt full-upgrade --yes && sudo reboot
ה-Pi יעודכן ויופעל מחדש. סשן ה-
ssh
יסתיים כאשר ה-Pi יופעל מחדש, אז המתינו כ-30 שניות ואז התחברו מחדש. -
מתוך סשן ה-
ssh
המחודש, הריצו את הפקודות הבאות כדי להתקין את כל הספריות הדרושות לחומרת Grove:sudo apt install git python3-dev python3-pip --yes git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . sudo raspi-config nonint do_i2c 0
זה מתחיל בהתקנת Git, יחד עם Pip להתקנת חבילות Python.
אחת התכונות החזקות של Python היא היכולת להתקין חבילות Pip - אלו חבילות קוד שנכתבו על ידי אנשים אחרים ופורסמו באינטרנט. ניתן להתקין חבילת Pip על המחשב שלכם עם פקודה אחת, ואז להשתמש בחבילה הזו בקוד שלכם.
חבילות Python של Seeed Grove צריכות להיות מותקנות ממקור. הפקודות הללו ישכפלו את הריפו שמכיל את קוד המקור של החבילה הזו, ואז יתקינו אותו באופן מקומי.
💁 כברירת מחדל, כאשר אתם מתקינים חבילה היא זמינה בכל מקום במחשב שלכם, וזה יכול להוביל לבעיות עם גרסאות חבילות - כמו אפליקציה אחת שתלויה בגרסה אחת של חבילה שנשברת כאשר אתם מתקינים גרסה חדשה עבור אפליקציה אחרת. כדי להתמודד עם הבעיה הזו, ניתן להשתמש ב-סביבת עבודה וירטואלית של Python, שהיא למעשה עותק של Python בתיקייה ייעודית, וכאשר אתם מתקינים חבילות Pip הן מותקנות רק לתיקייה הזו. לא תשתמשו בסביבות עבודה וירטואליות כאשר אתם משתמשים ב-Pi שלכם. סקריפט ההתקנה של Grove מתקין את חבילות Python של Grove באופן גלובלי, כך שאם תרצו להשתמש בסביבת עבודה וירטואלית תצטרכו להגדיר אותה ואז להתקין מחדש את חבילות Grove בתוך הסביבה הזו. קל יותר פשוט להשתמש בחבילות גלובליות, במיוחד מכיוון שרבים ממפתחי ה-Pi יפרמטו כרטיס SD נקי עבור כל פרויקט.
לבסוף, זה מפעיל את ממשק I2C.
-
הפעילו מחדש את ה-Pi על ידי הרצת הפקודה הבאה:
sudo reboot
סשן ה-
ssh
יסתיים כאשר ה-Pi יופעל מחדש. אין צורך להתחבר מחדש.
הגדרת VS Code לגישה מרחוק
לאחר שה-Pi מוגדר, תוכלו להתחבר אליו באמצעות Visual Studio Code (VS Code) מהמחשב שלכם - זהו עורך טקסט חינמי למפתחים שבו תשתמשו לכתיבת קוד המכשיר שלכם ב-Python.
משימה - הגדרת VS Code לגישה מרחוק
התקינו את התוכנה הנדרשת והתחברו מרחוק ל-Pi שלכם.
-
התקינו את VS Code על המחשב שלכם על ידי מעקב אחר תיעוד VS Code
-
עקבו אחר ההוראות בתיעוד פיתוח מרחוק באמצעות SSH ב-VS Code כדי להתקין את הרכיבים הדרושים
-
עקבו אחר אותן הוראות כדי להתחבר ל-VS Code ל-Pi
-
לאחר ההתחברות, עקבו אחר הוראות ניהול הרחבות כדי להתקין את הרחבת Pylance מרחוק על ה-Pi
שלום עולם
נהוג, כשמתחילים לעבוד עם שפת תכנות או טכנולוגיה חדשה, ליצור אפליקציה בשם 'Hello World' - אפליקציה קטנה שמדפיסה טקסט כמו "Hello World"
כדי לוודא שכל הכלים הוגדרו כראוי.
אפליקציית Hello World עבור ה-Pi תוודא שיש לך התקנה תקינה של Python ושל Visual Studio Code.
האפליקציה הזו תהיה בתיקייה בשם nightlight
, והיא תשמש שוב עם קוד שונה בחלקים הבאים של המשימה כדי לבנות את אפליקציית ה-nightlight.
משימה - hello world
צור את אפליקציית Hello World.
-
הפעל את VS Code, או ישירות על ה-Pi, או על המחשב שלך כשהוא מחובר ל-Pi באמצעות תוסף Remote SSH.
-
הפעל את הטרמינל של VS Code על ידי בחירה ב-Terminal -> New Terminal, או על ידי לחיצה על
CTRL+`
. הטרמינל ייפתח בתיקיית הבית של המשתמשpi
. -
הרץ את הפקודות הבאות כדי ליצור תיקייה עבור הקוד שלך, וליצור קובץ Python בשם
app.py
בתוך התיקייה:mkdir nightlight cd nightlight touch app.py
-
פתח את התיקייה הזו ב-VS Code על ידי בחירה ב-File -> Open... ובחירה בתיקיית nightlight, ואז לחץ על OK.
-
פתח את הקובץ
app.py
מתוך סייר הקבצים של VS Code והוסף את הקוד הבא:print('Hello World!')
הפונקציה
print
מדפיסה לקונסול כל מה שמועבר אליה. -
מתוך הטרמינל של VS Code, הרץ את הפקודה הבאה כדי להפעיל את אפליקציית ה-Python שלך:
python app.py
💁 ייתכן שתצטרך לקרוא במפורש ל-
python3
כדי להריץ את הקוד הזה אם מותקנת אצלך גרסה 2 של Python בנוסף לגרסה 3 (הגרסה העדכנית ביותר). אם מותקנת גרסה 2, קריאה ל-python
תשתמש בגרסה 2 במקום בגרסה 3. כברירת מחדל, הגרסאות האחרונות של Raspberry Pi OS כוללות רק את Python 3.הפלט הבא יופיע בטרמינל:
pi@raspberrypi:~/nightlight $ python3 app.py Hello World!
💁 תוכל למצוא את הקוד הזה בתיקייה code/pi.
😀 אפליקציית 'Hello World' שלך הצליחה!
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור הסמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.