תוכן עניינים:
- שלב 1: מהו Pi Zero W?
- שלב 2: סקוטי, אנחנו צריכים יותר כוח
- שלב 3: מיקום חיישן ותוכנה
- שלב 4: הגדרת ה- Pi
- שלב 5: זמן WiFi
- שלב 6: כניסה
- שלב 7: חוטים
- שלב 8: להדליק
- שלב 9: שלב אופציונלי ופקודות מועילות
וִידֵאוֹ: מערכת עזר לחניה מבוססת פי: 9 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
שלום! לפניכם פרויקט קטן ומגניב שתוכלו לעשות אחר צהריים אחד ולאחר מכן להשתמש בו מדי יום. הוא מבוסס על ה- Raspberry Pi Zero W ויעזור לכם להחנות את הרכב בצורה מושלמת בכל פעם.
להלן הרשימה המלאה של החלקים הדרושים לכם:
- Raspberry Pi Zero W (נקרא לזה 'rpi' או 'pi' במאמר זה)
- כרטיס מיקרו SD או 4GB ומעלה עבור מערכת ההפעלה pi
- שני מודולים של חיישן מרחק לזמן טיסה זעיר
- פנל LED 32x32 RGB (יש הרבה יצרנים לכך עם פינקים משתנים, תוכל למשל להשתמש ב- Adafruit 1484 או דומה, פשוט חפש בגוגל 'מטריקס LED 32x32'). הפאנל שלנו היה בעל שיפוע של 6 מ"מ.
- 25 רגל כבל CAT5
- כ -22 חוטי מגשר סיכה בכותרת זכר לזכר
- ספק כוח 5V 2A microUSB (מטען לטלפון סלולרי) הכל מוכן? בוא נלך!
TL; תקציר DR
- הורד את מערכת ההפעלה Raspbian Lite עבור ה- rpi
- הגדר את ה- pi להפעלה ללא ראש באמצעות WiFi עם IP סטטי
- הגדר את סביבת ההתקנה של המחשב האישי שלך עם PuTTY, WinSCP ואופציונלי SublimeText w/ FTP addon
- הורד, צור ואגד את מנהל ההתקן של לוח הלדים
- הורד והתקן את pigpio
- הורד את קוד ה- Python שלנו
- חבר את לוח התצוגה LED בגודל 32x32
- הפוך את כבל ההארכה CAT5 לחיישן tinyLiDAR הצדדי
- שלב אופציונלי (אך רק למשתמשים מתקדמים): עשה ריקוד שמח ומהיר כשהכל עובד;)
שלב 1: מהו Pi Zero W?
אין ספק ששמעת על ה- Raspberry Pi אבל מה זה לעזאזל pi 'Zero W'?
ה- Raspberry Pi Zero ו- Zero W היו תוספות חדשות יותר למשפחת Pi שהיו משמעותיות יותר עבור IoT ויישומים מוטבעים אחרים בעלות נמוכה. הן גרסאות מופשטות של לוח ה- pi המקורי אך עדיין עם מעבד 1GHz חזק. לפניכם השוואה טובה בין כל הדגמים.
היתרון עבורנו בבחירת Pi Zero W כאן על פני לוחות בקר אחרים הוא שנוכל לתכנת אותו בקלות בשפת פייתון ברמה גבוהה יותר תוך שימוש במנהלי הפאנל המהירים של C/C ++ LED. זה גם במחיר אטרקטיבי במחיר של $ 10USD בלבד.
זכור כי מכיוון שהלוח הזה הוא גרסה מופשטת של פי מלא - כמה דברים השתנו. בפרט, שקע ה- Ethernet בוטל, מחבר ה- HDMI השתנה לגודל מיני וארבע יציאות ה- USB פשטו לסוג מיקרו USB אחד בלבד. יש עוד מחבר מיקרו USB על הלוח, אך הוא מיועד להפעלת הלוח בלבד. חיסול כל מחברי ה- USB בגודל מלא מציג כמה מורכבות. כלומר, כיצד ניתן לחבר מקלדת ועכבר? ציוד היקפי ורכזות USB רגילות משתמשות במחברי סוג A ולא מסוג המיקרו.
אז מה אנו יכולים לעשות?
אנחנו יכולים ללכת בלי ראש!
לא, איננו מתכוונים להשתגע אלא להשתמש בחלופה להתקנה החוטית הישירה הרגילה. ללא ראש פירושו "מנהרה" לתוך ה- pi מרחוק באמצעות חיבור רשת מאובטח (SSH). עבור פרויקט זה נשתמש בגישה נטולת ראש באמצעות WiFi. מכאן הסיבה עבורנו בבחירת גרסת ה- W של ה- pi zero במקום ה- pi zero בעלות הנמוכה אף יותר.
שים לב שישנה גם דרך נוספת להריץ את ה- pi במצב ללא ראש באמצעות משהו שנקרא VNC. היא זקוקה לתוכנת VNC מיוחדת הפועלת במחשב האישי שלך מכיוון שהיא מספקת שולחן עבודה גרפי וירטואלי מלא במחשב האישי שלך. אנחנו לא דורשים (ובאמת לא רוצים) את שולחן העבודה של הפרויקט שלנו, כך שנדבק לשיטת SSH הפשוטה יותר.
שלב 2: סקוטי, אנחנו צריכים יותר כוח
לוח מטריקס LED בגודל 32x32 יכול, כשלעצמו, לקחת כמה אמפר זרם. בלי צחוק! לכן רוב הלוחות האלה כוללים כמה כבלי חשמל חזקים למראה. למרבה המזל מבחינתנו, לא נצטרך לקבל ספק כוח עצום לפרויקט זה. הצלחנו להפעיל את המערכת הזו רק ממטען טלפון סלולרי מיקרו USB מסוג 5V/2 אמפר שהיינו שוכבים. הסיבה לזרם הנמוך היא מכיוון שאנו משתמשים בגרפיקה פשוטה יחסית ולכן איננו מדליקים את רוב נוריות הלדים. אם אתה חושב לעשות אנימציה או להשתמש בווידאו/גרפיקה בהירה אז אתה בהחלט צריך לשקול להפעיל את הפאנל מאספקת חשמל נפרדת.
שלב 3: מיקום חיישן ותוכנה
שמתם לב שאנחנו משתמשים בשני זעירים LiiAR במערכת זו במקום רק אחד? כפי שמוצג בתרשים ההתקנה של המוסך, אחד ממוקם מול המכונית והשני ממוקם בצד אחד של המכונית.
החיישן הצד יזהה אם אתה חורג מהמרכז בזמן שאתה מחנה את המכונית וכמובן שהחלק הקדמי יגיד לך מתי לעצור.
צג ה- LED בגודל 32x32 יסייע לך על ידי הצגת חיצים לנוע קדימה, שמאלה או ימינה ותצוגה לספירה לאחור עם פינות צבעוניות כדי לציין עד כמה עוד יש לך לנסוע. עיין בסרטון הקצר שלנו לכל מצבי התצוגה.
תוכנית משחקים
בקצרה, אנו משתמשים בספריית hzeller C הפופולרית ביותר עבור מנהל ההתקן LED, פייתון לקוד השליטה וספריית pipgpio C לשליטה נכונה ב- I2C בחיישנים שלנו.
פייתון היא שפה ברמה גבוהה במיוחד שתוכל לערוך בקלות בכל עורך טקסט. בדרך כלל אנו משתמשים ב- SublimeText ולפרויקט זה השתמשנו גם בתוסף FTP שימושי מאוד המאפשר לנו לערוך את קבצי הסקריפט ישירות ב- pi. זהו שלב אופציונלי מכיוון שהוא נחוץ רק אם ברצונך לערוך את הקוד. פרטים נוספים זמינים בסוף מאמר זה.
כל לוחות ה- rpi, כידוע לך, אינם תומכים באופן מקורי במתיחת שעון I2C. אז השתמשנו שוב בספריית pigpio לפרויקט זה לשליטה בחיישני tinyLiDAR אך הפעם עם טוויסט קל …
מספר זעיר לידארים
כאשר אתה קונה tinyLiDAR, הוא תמיד מוגדר ככתובת ברירת המחדל של העבד של 0x10. זה בסדר כשאתה משתמש בחיישן יחיד אבל אם יש לך יותר מאחד באוטובוס, אולי תהיה בעיה אם תכתוב פקודה ל- 0x10 וכולם ישיבו בחזרה!
אז יש לנו 3 אפשרויות כאן:
ראשית, אנו יכולים להשתמש בפקודה (tinyLiDAR) "R" כדי לכתוב כתובת עבדים חדשה לחיישן האחד המחובר לאוטובוס I2C. לאחר מכן חזור על כך עבור כל חיישן. חיבור פיזי, כתיבה וניתוק של כל חיישן להליך זה. tinyLiDAR תאחסן את הכתובת הנתונה בזיכרון הלא-נדיף המשולב שלה. הכתובת תימשך גם לאחר רכיבה על אופניים עד שתמחק אותה על ידי הפקת הפקודה RESET.
האפשרות השנייה היא להשתמש בתכונה הנוחה להקצאה אוטומטית שיצרנו כיעד מתיחה בקמפיין IGG. זה כולל שליחת הפקודה "AR" ולאחר מכן הפניית האצבע לכל חיישן בנפרד כדי להקצות אוטומטית כתובות I2C רציפות לחיישנים הבודדים בדומה לאפשרות הראשונה אך אין צורך לנתק כל חיישן פיזית לשם כך.
האפשרות השלישית היא זו בה אנו משתמשים כאן בפרויקט זה ואפשר הודות לספריית pigpio. כדי ליישם את תקן I2C כראוי, הפיגפיו מפחיד את ה- GPIO. אז בגלל זה, אנו יכולים ליצור בקלות אוטובוסים נפרדים של I2C כמעט בכל זוג סיכות GPIO רזרביות.
מכאן שאין צורך לתכנת מחדש כתובות עבדים עבור חיישני ה- LiDAR המרובים. אנחנו יכולים פשוט להשתמש באוטובוס נפרד לכל אחד:)
שים לב שאוטובוס I2C הפועל במהירות של 100Kbps הוא די חזק. אנו משתמשים בכבל אתרנט CAT5 ישן ופשוט להפעלת האוטובוס I2C אל החיישן הצדדי LittleLiDAR שנמצא במרחק של 25 מטר משם ללא רכיבי מהדר פעילים! פרטי חיווט החיישן מוצגים למעלה.
אוקיי, די ג'אבר ג'אבר, בואו נתחיל להוריד את הקוד!
שלב 4: הגדרת ה- Pi
זהירות: ה- pi משתמש במערכת קבצים של Linux ולכן עדיף לבצע את השלבים הבאים במערכת מבוססת לינוקס. אתה עשוי לסיים מחדש את כרטיס ה- SD שלך אם תעשה זאת ב- Windows. השתמשנו בשולחן העבודה המדהים והחינמי של אובונטו 18.04 הפועל בסביבה וירטואלית במחשב Windows 10 אך תוכל לנסות משהו דומה.
תחילה יהיה עליך להוריד את מערכת ההפעלה מ- raspberrypi.org ולאחר מכן לצרוב אותה לכרטיס ה- microSD שלך. אז בצע את השלבים הבאים:
(1) באובונטו כנסו לכאן ותפסו את תמונת ה- Raspbian Lite. שמור אותו בתיקיית ההורדות שלך.
(2) לאחר מכן הורד את כלי הכתיבה לכרטיס SD. לידיעתך - קישור ההורדה הרשמי של אתר לגירסת לינוקס בדף הבית שלהם לא עבד עבורנו ולכן השתמשנו בשיטה המתוארת כאן במקום זאת:
לסיכום הצעדים המתוארים בקישור היו:
הוסף מאגר Debian של Etcher:
echo "deb https://dl.bintray.com/resin-io/decher יציב תחביב" | sudo tee /etc/apt/sources.list.d/etcher.list
סמכו על מפתח ה- GPG של Bintray.com:
sudo apt-key adv-keyserver keyserver.ubuntu.com-מפתחות recv 379CE192D401AB61
עדכן והתקן:
עדכון sudo apt-get
sudo apt-get install etcher-electron
לאחר שהושלם, תוכל להמשיך ולהפעיל את עטצ'ר משולחן העבודה של אובונטו. הוא יבקש ממך את קובץ המקור (שהכנסת לתיקיית ההורדות). השלב הבא באצ'ר הוא בחירת היעד הנכון. אתשר עושה עבודה טובה באיתור כרטיס המיקרו SD שלך אבל אתה צריך להיות פרנואיד כאן. כדי לוודא שהוא מוצא את היעד הנכון - נסה להוציא את כרטיס ה- microSD על -ידי לחיצה על הוצא בחלון סייר הקבצים של אובונטו וודא שהוא נעלם כאופציית היעד בתוך אתר. לאחר מכן הכנס אותו שוב והמשך לשלב האחרון, כלומר כתיבת הקובץ לכרטיס microSD זה.
המתן זמן מה עד לסיום ולאחר מכן המשך הלאה.
שלב 5: זמן WiFi
אוקיי אז עכשיו הגיע הזמן להזין את פרטי ה- WiFi שלך.
טיפ: תמיד תוכל להעתיק (Ctrl+C) ולהדביק (קליק ימני, הדבק) מידע ממאמר זה למסך מסוף PuTTY במקום להקליד את הפקודות. בדוק בסוף מאמר זה גם כמה פקודות לינוקס מועילות.
כאשר את'ר סיימה לכתוב לכרטיס המיקרו SD, יופיעו 2 כוננים כפי שמוצג למעלה. האחד נקרא אתחול השני נקרא rootfs
עלינו להשתמש במנהל הקבצים כדי להיכנס לתיקיית האתחול וליצור קובץ בשם wpa_supplicant.conf.
כדי לבצע את השלב הזה, אתה יכול פשוט ללחוץ על הצד השמאלי שבו כתוב אתחול ואז בצד ימין של המסך תוכל ללחוץ לחיצה ימנית על הרקע הלבן ולבחור פתח במסוף.
פעולה זו תפתח חלון מסוף (בדומה ל- CMD ב- Windows) שבו תוכל להקליד את הדברים הבאים:
sudo nano wpa_supplicant.conf טיפ: יהיה עליך להזין את סיסמת מערכת Linux שלך כך שתוכל לפעול כמשתמש העל. הדבר נדרש, אחרת לא תוכל לשמור את הקבצים כשתסיים לערוך
הפקודה לעיל תפעיל את עורך הטקסט "ננו" שבו תוכל להזין את המידע הבא:
מדינה = ארה ב
ctrl_interface = DIR = /var /run /wpa_supplicant GROUP = netdev update_config = 1 רשת = {ssid = "WiFi_SSID" scan_ssid = 1 psk = "WiFi_Password" key_mgmt = WPA - PSK}
הערה: זכור להחליף את WiFi_SSID ו- WiFi_Password בשם וסיסמה משלך לרשת WiFi.
כשתסיים, פשוט לחץ על Ctrl+X כדי לצאת ולענות כן על כתיבת הקובץ עם היציאה.
השלב הבא שלנו הוא ליצור קובץ ריק שנקרא ssh. לשם כך, פשוט הקלד את הדברים הבאים בחלון הטרמינל:
לגעת ssh
כעת עלינו לתת ל- Pi שלנו כתובת IP סטטית כדי שנדע היכן היא נמצאת בכל פעם שאנו רוצים להתחבר אליה. הקלד את הדברים הבאים בחלון הטרמינל:
sudo nano /etc/dhcpcd.conf
זה אמור לפתוח את עורך הטקסט ננו שוב ונוכל להוסיף טקסט זה לתחתית הקובץ:
ממשק wlan0
סטטי ip_address = 192.168.0. נתבים סטטיים = 192.168.0.1 שרת דומיין_סטטי סטטי = 192.168.0.1 8.8.8.8
הערה: זה מניח שקידומת הרשת שלך היא 192.168.0. אם יש לך 192.168.1 וכו ', השתמש במקום זאת ברשת שלך. שרת שם הדומיין 8.8.8.8 מיועד ל- Google והאופציונלי שלה כאן.
הקלד 'יציאה' במסוף כדי לסגור אותו. לאחר מכן לחץ באמצעות לחצן העכבר הימני על שם האתחול בצד שמאל של חלון מנהל הקבצים ובחר הוצאת.
כעת תוכל לחבר את כרטיס ה- microSD הזה אל ה- Pi שלך ולחבר את כבל החשמל של microUSB כדי להפעיל את ה- Pi.
אם הכל ילך כשורה, הנורית הירוקה תהבהב לזמן מה כאילו היא נכנסת לכונן דיסק קשיח והיא אמורה להיכנס אליך לרשת ה- WiFi שלך. תן לזה כדקה להתייצב ולחכות שה- LED יהפוך ירוק.
כדי לוודא שהכל עבד, נוכל לנסות לבצע פינג.
אז פשוט הקלד את השורה למטה ובדוק אם יש תגובה.
פינג 192.168.0.200
באובונטו אתה אמור לקבל משהו דומה לזה:
פינג 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56 (84) בתים של נתונים. 64 בתים מ- 192.168.0.200: icmp_seq = 1 ttl = 128 time = 752 ms 64 בתים מ- 192.168.0.200: icmp_seq = 2 ttl = 128 time = 5.77 ms 64 בתים מ- 192.168.0.200: icmp_seq = 3 ttl = 128 זמן = 7.33 ms ^C --- 192.168.0.200 סטטיסטיקות פינג --- 3 מנות מועברות, 3 התקבלו, 0% אובדן מנות, זמן 2001ms rtt min/avg/max/mdev = 5.777/255.346/752.922/351.839 ms
שים לב שהפינג ממשיך לפעול עד שתלחץ על Ctrl+C כדי להפסיק.
ב- Windows אתה אמור לקבל משהו כזה:
פינג 192.168.0.200
פינג 192.168.0.200 עם 32 בתים של נתונים: תגובה מ- 192.168.0.200: בתים = 32 זמן = 4ms TTL = 64 תשובה מ- 192.168.0.200: בתים = 32 זמן = 5ms TTL = 64 תשובה מ- 192.168.0.200: בתים = 32 זמן = 6ms TTL = 64 תגובה מ- 192.168.0.200: בתים = 32 זמן = 5ms TTL = 64 סטטיסטיקות פינג עבור 192.168.0.200: מנות: נשלחו = 4, התקבלו = 4, אבודים = 0 (הפסד של 0%), זמני הלוך ושוב משוער במילי שניות: מינימום = 4 ms, מקסימום = 6 ms, ממוצע = 5 ms
הכל טוב? ואילך…
שלב 6: כניסה
עכשיו שיש לנו קישוריות ל- pi, אנחנו רוצים לשלוח לו פקודות. אבל איך? PuTTY כמובן! אתה יכול להוריד את PuTTY מכאן הגדרת PuTTY לאחר הורדת תוכנת PuTTY, צור פרופיל עבור ה- pi שלך עם המידע הבא:
שם מארח (או כתובת IP): 192.168.0.200 סוג חיבור: SSH תן לפרופיל זה שם תחת הפעלות שמורות ולחץ על שמור. אתה יכול להשתמש בכל שם שאתה אוהב למשל "rpizw_200"
כדי להיכנס, פשוט בחר אותו מהרשימה ולחץ על טען. לאחר מכן הקש על פתח. הזן את שם המשתמש והסיסמה כדי להיכנס:
שם התחברות: pi
סיסמת Defalt: פטל
להלן הפעלה לדוגמה המוצגת ב- PuTTY בעת הכניסה:
התחבר כ: pi
הסיסמה של [email protected]: Linux raspberrypi 4.14.34+ #1110 שני אפריל 16 14:51:42 BST 2018 armv6l התוכניות הכלולות במערכת דביאן GNU/Linux הן תוכנות חינמיות; תנאי ההפצה המדויקים של כל תוכנית מתוארים בקבצים הבודדים ב-/usr/share/doc/*/copyright. דביאן GNU/Linux מגיעה עם אחריות לחלוטין, במידה שמותר על פי החוק החל. הכניסה האחרונה: [תאריך ושעה] מ- 192.168.0. [כתובת ip] SSH מופעל וסיסמת ברירת המחדל של משתמש 'pi' לא השתנתה. זהו סיכון אבטחה - אנא התחבר כמשתמש 'pi' והקלד 'passwd' כדי להגדיר סיסמה חדשה.
בכניסה הראשונה הוא יזהיר שעדיין לא שינית את הסיסמה. עליך לשנות את זה למשהו חזק אך פשוט לזכור, אז קדימה, שנה אותו על ידי הקלדת passwd ופעל לפי ההנחיות.
עלינו לעדכן את התוכנה ב- pi על ידי הקלדה זו:
sudo apt-get update && sudo apt-get upgrade
זה יוריד את כל העדכונים הדרושים לו מחיבור האינטרנט שלך. ענה כן אם תתבקש לאפשר לו להמשיך ולאחר מכן הקדש לו זמן לעדכן.
בשלב זה כנראה שכדאי גם לכבות את הצליל בפי כי יש לו ג'וג'ו גרוע עם ספריית הנהג LED. העתק, הדבק את השורות הבאות אחת אחת ולחץ Enter לאחר כל שורה:
תקליטור ~
חתול << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf רשימה שחורה snd_bcm2835 EOF sudo update-initramfs -u
הפלט יהיה בערך כך:
pi@raspberrypi: ~ $ cd ~
pi@raspberrypi: ~ $ cat <> רשימה שחורה snd_bcm2835>> EOF רשימה שחורה snd_bcm2835 pi@raspberrypi: ~ $ sudo update -initramfs -u pi@raspberrypi: ~ $
לאחר מכן עלינו לאתחל את ה- pi כדי שהשינויים ייכנסו לתוקף, לכן הקלד את הדברים הבאים:
sudo אתחל עכשיו
החיבור יירד כמובן כשה- pi יאתחל מחדש, כך שתוכל לסגור את PuTTY. נסה להיכנס שוב כעבור דקה.
עכשיו הגיע הזמן לקבל מנהל קבצים FTP גרפי בשם WinSCP. אתה יכול להוריד את WinSCP מכאן
WinSCP דומה מאוד למנהל הקבצים ב- Windows ובאובונטו. זה מאפשר לנו לגרור ולשחרר קבצים בקלות מה- pi וליצור כתבות עם לחיצה ימנית על העכבר.
לאחר ההורדה, יהיה עליך להגדיר פרופיל עבור ה- pi שלך.
הגדרת WinSCP בחלון המוקפץ התחברות, בחר אתר חדש. השתמש בהגדרות הבאות עבור ההפעלה:
פרוטוקול קבצים: שם מארח SFTP: 192.168.0.200 שם משתמש: pi סיסמא: {כל סיסמה ששינית את ברירת המחדל שלה בשלב PuTTY למעלה}
בהגדרות אתר מתקדמות עבור אל סביבה | ספריות והזן /home /pi עבור הספרייה המרוחקת וכל מה שאתה אוהב להגדרת הספרייה המקומית.
בהגדרות אתר מתקדמות עבור אל סביבה | מעטפת ובחר sudo su - ברשימה הנפתחת Shell.
לאחר מכן לחץ על שמור.
שמור על WinSCP ו- PuTTY פתוחים בעת ביצוע השלבים הבאים
עבור אל מסוף PuTTY והזן את הדברים הבאים:
תקליטור ~
זה יביא אותנו לספריית הבית שלנו בתוך ה- pi.
כעת אנו יכולים לתפוס את ספריית הנהג LED מ- github. כדי להשתמש בקוד העדכני ביותר, נצטרך למשוך את הריפו כך שנצטרך להתקין את כלי השירות git.
הזן את זה ב- PuTTY:
sudo apt-get להתקין git
ענה Y כדי להמשיך וייקח כמה שניות להתקין לנו git מהאינטרנט.
הפלט אמור להיראות בערך כך:
pi@raspberrypi: ~ $ sudo apt-get install git
קריאת רשימות חבילות … בוצע בניית עץ תלות קריאת מידע על מצב … בוצע החבילות הנוספות הבאות יותקנו: git-man liberror-perl חבילות מוצעות: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn החבילות החדשות הבאות יותקנו: git git-man liberror-perl 0 משודרג, 3 מותקן לאחרונה, 0 להסרה ו- 0 לא משודרג. צריך להשיג 4, 848 kB של ארכיונים. לאחר פעולה זו, ישמש שטח אחסון נוסף של 26.4 MB. האם אתה רוצה להמשיך? [Y/n] y Get: 1 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf liberror-perl all 0.17024-1 [26.9 kB] קבל: 2 https://muug.ca/mirror/ raspbian/raspbian stretch/main armhf git-man all 1: 2.11.0-3+deb9u3 [1, 433 kB] קבל: 3 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf git armhf 1: 2.11.0-3+deb9u3 [3, 388 kB] אחזר 4, 848 kB תוך 5 שניות (878 kB/s) בחירת חבילה liberror-perl שנבחרה בעבר.(קורא מסד נתונים … 34363 קבצים וספריות מותקנים כרגע.) מתכונן לפרוק …/liberror-perl_0.17024-1_all.deb … פריקת liberror-perl (0.17024-1) … בחירת חבילה git-man שלא נבחרה בעבר. מתכונן לפרוק …/git-man_1%3a2.11.0-3+deb9u3_all.deb … פריקת git-man (1: 2.11.0-3+deb9u3) … בחירת git חבילה שלא נבחרה בעבר. מתכונן לפרוק …/git_1%3a2.11.0-3+deb9u3_armhf.deb … פריקת git (1: 2.11.0-3+deb9u3) … הגדרת git-man (1: 2.11.0-3+deb9u3) … הגדרת liberror-perl (0.17024-1) … עיבוד טריגרים עבור man-db (2.7.6.1-2) … הגדרת git (1: 2.11.0-3+deb9u3) …
כעת חזור ל- WinSCP ונווט אל התיקייה /home /pi. ואז בצד ימין של חלון WinScp זה, לחץ באמצעות לחצן העכבר הימני ובחר ליצור מדריך חדש בשם "חניה"
בחזרה למסך PuTTY אתה יכול להקליד ls כדי לאשר שעשית רק תיקייה חדשה ב- pi. לאחר מכן הזן את זה:
cd p [TAB]טיפ: לחיצה על מקש TAB תשלים את השם החלקי עבורך באופן אוטומטי
הקש על מקש enter כדי להיכנס לספרייה זו.
pi@raspberrypi: ~ $ cd parking/
pi@raspberrypi: ~/חניה $ ls
כעת אנו יכולים להשיג את קבצי הנהג על ידי הזנת הדברים הבאים ב- PuTTY:
שיבוט git
הפלט ייראה בערך כך:
pi@raspberrypi: ~/parking $ git שיבוט
שיבוט לתוך 'rpi-rgb-led-matrix' … מרחוק: ספירת אובייקטים: 3740, נעשה. מרחוק: סה כ 3740 (דלתא 0), שימוש חוזר 0 (דלתא 0), שימוש חוזר באריזה 3740 חפצים קולטים: 100% (3740/3740), 20.61 מיב | 1.32 מיב/ש ', נעשה. פתרון דלתות: 100% (2550/2550), נעשה.
כעת הרכיב את קבצי מנהל התקן LED על-ידי כניסה לספרייה החדשה 'rpi-rgb-led-matrix' והקלדת הפקודה make:
cd r [TAB]
עשה וכך זה נראה בלוח שלנו
pi@raspberrypi: ~/parking $ cd rpi-rgb-led-matrix/
pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $ make make -C./lib make [1]: כניסה לספרייה '/home/pi/parking/rpi-rgb-led-matrix/lib' g ++- אני … -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"רגיל' '-Wextra -Wno -unused -parameter -fno -חריגים -c -o led -matrix.o led-matrix.cc g ++ -I../ כוללים - קיר -O3 -g -fPIC -DDEFAULT_HARDWARE = '' רגיל '-Wextra -Wno -unused -parameter -fno -חריגים -c -o options -initialize.o options-initialize.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"רגיל' '-Wextra -Wno -unused -parameter -fno -חריגים -c -o framebuffer.o framebuffer.cc g ++ -I../ כוללים -Wall -O3 -g - fPIC -DDEFAULT_HARDWARE = '' רגיל '-Wextra -Wno -unused -parameter -fno -חריגים -c -o thread.o thread.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE =' "רגיל" -Wextra -Wno -unused -parameter -fno -חריגים -c -o bdf -font.o bdf -fon t.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '' רגיל '-Wextra -Wno -unused -parameter -fno -חריגים -c -o graphics.o graphics.cc g ++ - אני … -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '' רגיל '-Wextra -Wno -unused -parameter -fno -חריגים -c -o led -matrix -co led-matrix-c.cc cc -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"רגיל' '-Wextra -Wno -unused -parameter -c -o hardware -mapping.o hardware -mapping.c g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"רגיל' '-Wextra -Wno -unused -parameter -fno -חריגים -c -o content -streamer.o content-streamer.cc g ++ -I../ כוללים -Wall -O3 - g -fPIC -DDEFAULT_HARDWARE = '' רגיל '-Wextra -Wno -unused -parameter -fno -חריגים -c -o pixel -mapper.o pixel-mapper.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '' רגיל '-Wextra -Wno -unused -parameter -fno -excep tions -c -o multiplex-mappers.o multiplex-mappers.cc ar rcs librgbmatrix.a gpio.o led-matrix.o options-initialize.o framebuffer.o thread.o bdf-font.o graphics.o transformer.o led-matrix-co hardware-mapping.o content-streamer.o pixel-mapper.o multiplex-mappers.o g ++ -shared -Wl, -name, librgbmatrix.so.1 -o librgbmatrix.so.1 gpio.o led -matrix.o options-initialize.o framebuffer.o thread.o bdf-font.o graphics.o transformer.o led-matrix-co hardware-mapping.o content-streamer.o pixel-mapper.o multiplex-mappers. o -lpthread -lrt -lm -lpthread make [1]: עוזב את הספרייה '/home/pi/parking/rpi -rgb -led -matrix/lib' make -C דוגמאות -api -use make [1]: כניסה לספרייה ' /home/pi/parking/rpi -rgb -led -matrix/examples -api -use 'g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o demo -main. o demo-main.cc make -C../lib make [2]: כניסה לספרייה '/home/pi/parking/rpi-rgb-led-matrix/lib' make [2]: Leaving directory '/home/pi /parking/rpi-rgb-led-matrix/lib 'g ++ demo-main.o -o demo -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o minimal -example.o minimal-example.cc g ++ minimal -example.o - o מינימום -דוגמה -L../ lib -lrgbmatrix -lrt -lm -lpthread cc -I../ כוללים -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o c -example.o c- example.c cc c -example.o -o c -example -L../ lib -lrgbmatrix -lrt -lm -lpthread -lstdc ++ g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused- parameter -c -o text -example.o text-example.cc g ++ text -example.o -o text -example -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ include -Wall - O3 -g -Wextra -Wno-unused-parameter -c -o גלילה-טקסט-דוגמה. O גלילה- טקסט-דוגמה.ג g ++ גלילה-טקסט-דוגמה. -lrgbmatrix -lrt -lm -lpthread g ++ -I../ כוללים -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o clock.o clock.cc g ++ clock.o -o שעון -L.. /lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o ledcat.o ledcat.cc g ++ le dcat.o -o ledcat -L../ lib -lrgbmatrix -lrt -lm -lpthread make [1]: עוזב את הספרייה '/home/pi/parking/rpi -rgb -led -matrix/דוגמאות -api -use' pi @raspberrypi: ~/parking/rpi-rgb-led-matrix $
השלב הבא שלנו יהיה לאגד את ספריית המטריצות RGB ל- Python. השתמשנו בברירת המחדל של פייתון 2 לפרויקט זה. אז כדי לבצע את הכריכה הזו, אנו נכנסים לשורה אחת בכל פעם כמו פעם:
sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
צור build-python sudo צור install-python
הערה: אתה יכול להתעלם בבטחה מהאזהרה היחידה על 'אב-אבניקה' המופיעה בעת הפעלת שני הצהרות. הפקודות make לוקחות מספר דקות להריץ והן לא אומרות כלום בזמן שהן עסוקות. אז אל תפחד - הפאי שלך אמור לחזור בקרוב;)
להלן פלט חלקי בהצהרת המייצג הראשונה:
בניית הרחבה 'גרפיקה'
arm -linux -gnueabihf -gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -prototypes -fno -strict -aliasing -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7-kKRR4y/python2.7-2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security -fPIC -I../../ include -I/usr/include/python2.7 -c rgbmatrix/graphics.cpp -o build/temp.linux- armv6l-2.7/rgbmatrix/graphics.o -O3 -Wall cc1plus: אזהרה: אפשרות שורת הפקודה '-Wstrict-prototypes' תקפה ל- C/ObjC אך לא ל- C ++ arm-linux-gnueabihf-g ++ -pthread -shared -Wl, -O1 -Wl, -Symbolic -functions -Wl, -z, relro -fno -strict -aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -prototypes -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7-kKRR4y/python2.7-2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security -Wl, -z, relro -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7 -kKRR4y/python2.7 -2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security build/temp.linux -armv6l -2.7/rgbmatrix/graphics.o -L../../ lib -lrgbmatrix -o./rgbmatrix/graphics.so make [1]: עזיבת מדריך '/home/pi/parking/rpi-rgb-led-matrix/bindings/python' pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $
בשלב הבא נתקין את ספריית pigpio C. כדי לעשות זאת כמו שצריך עלינו לבצע את זה מהמקור אז פשוט הכנס את השורות הבאות:
תקליטור ~
sudo rm -rf PIGPIO wget abyz.me.uk/rpi/pigpio/pigpio.zip unzip pigpio.zip cd PIGPIO עשה sudo make להתקין rm pigpio.zip
ההתקנה לעיל אורכת כ -3 דקות.
עכשיו הגיע הזמן לקבל את קבצי הפרויקטים של פייתון. הזן את הפרטים הבאים:
תקליטור ~
cd/home/pi/parking/rpi-rgb-led-matrix/bindings/python/samples wget https://s3.amazonaws.com/microedco/tinyLiDAR/Raspberry+Pi/tinyL_parking.zip unzip -j tinyL_parking.zip rm tinyL_parking.zip
לאחר מכן כדי לבצע אותו, הקלד את הדברים הבאים:
sudo python parking.py
אבל אינך צריך לעשות זאת כרגע מכיוון שעדיין עלינו לחבר הכל …
שלב 7: חוטים
כפי שצוין קודם לכן, הפעלנו את לוח ה- LED מאותו מתאם מתח המפעיל את ה- pi. על מנת לעשות זאת, יהיה עליך לחבר את החוטים האדומים והשחורים הכבדים לסיכות כותרת גבריות כך שניתן יהיה לחבר אותם לסיכות 2 ו -9 של מחבר ה- pin 40pin.
נתק את החשמל מה- pi כעת וחבר את לוח ה- LED לפי התרשים הציורי לעיל. שמור את סיכה 2 מנותקת לעת עתה.
הערה: לוח מטריצת ה- LED יכול לעיתים לפעול במצב פאנקי. אם זה קורה זה יכול להעמיס את אספקת החשמל שלך קשות, לא משנה מה הקיבולת הנוכחית שיש לו. שמנו לב לזה במהלך הפיתוח באספקת הספסל שלנו שיכול לספק מעל 4 אמפר. הפתרון לכך הוא להריץ קודם את קוד ה- pi ולאחר מכן לחבר את פין 2 כדי להפעיל את לוח הלדים. בדרך זו הלוח אמור לעלות במצב הספק נמוך מכיוון שהוא שוטף את מצבי ה- LED האקראיים. זרם שקט (כל הנוריות כבויות) עבור לוח ה- LED שלנו היה רק 50mA ב 5v.
CAT5
השתמשנו בכבל CAT5 Ethernet בגודל 25 רגל ושינינו אותו כדי להתחבר לסיכות הכותרת של pi בקצה אחד ולקבל את סיכות המחבר GROVE בצד השני כדי שנוכל להרחיב את המרחק כדי למקם את חיישן tinyLiDAR הצד שלנו. התמונות למעלה מראות כבל זה לפני ואחרי שינויים. התעלם מהצבעים של חוטי סיכת הכותרת מכיוון שהם אינם מתואמים לתרשימים. רק הקפד לחבר את המערכת שלך כפי שמוצג בתרשימי החיבור הציוריים המוצגים קודם בשלב 3.
שלב 8: להדליק
רצף ההפעלה ההתחלתי הראוי צריך להיות לחבר את מטען ה- microUSB לפאי ולחכות שהנורות הכחולות בחיישני tinyLiDAR יהבהבו במהירות ומראות שהן מבצעות מדידות. זה מוכיח שהקוד פועל כראוי.
לאחר מכן תוכל לחבר לאט אבל חזק את פין 2 לאספקת לוח הלדים. היזהר לא לתקוע אותו תוך כדי פעולה זו! אם לוח הלדים מציג כמה נוריות בהירות קפואות אז כנראה שהוא תקוע אז הסר את כוח ה- microUSB מה- pi והמתן מספר שניות כדי לנסות שוב את רצף ההפעלה.
כדי להריץ את הקוד, הזן את הדברים הבאים:
cd/home/pi/parking/rpi-rgb-led-matrix/bindings/python/samples
sudo python parking.py
אם הכל מתנהל כשורה אתה אמור לקבל תצוגה הדומה לתצוגה המוצגת בסרטון.
הצצה מהירה לקוד parking.py כדי להבין באילו גבולות השתמשנו. ברירת המחדל לחיישן הקדמי היא 200 מ"מ. מכיוון שטווח החיישנים הוא 11 מ"מ עד 2 מ ', מומלץ לשמור על המרחק nom_parked_Front על 200 מ"מ ומעלה. חיישן הצד nom_parked_Side מוגדר ל -600 מ"מ. עיין בתמונה למעלה לקוד Python המציג את אפשרויות התצורה הללו.
אם הכל עובד, תוכל להמשיך ולרכוב את המערכת במוסך שלך ולהתאים את הפרמטרים שלעיל לפי הצורך. מכיוון שאתה מחובר ל- WiFi שלך, אתה תמיד יכול להיכנס ולערוך את הגדרות המרחק כפי שאתה צריך לצורך הגדרת המוסך הספציפי שלך כשהוא עדיין מותקן.
זה עכשיו?
למה כן, כן זה! הגיע הזמן לעשות את הריקוד המשמח שלך:)
תודה שקראת ותיהנה מעוזר החניה החדש שלך!
שלב 9: שלב אופציונלי ופקודות מועילות
שלב אופציונלי - תוסף FTP עבור טקסט נשגב
כדי לערוך את קבצי הסקריפט של פייתון ישירות ב- pi, אנו יכולים להתקין את תוסף ה- FTP שנקרא Sublime SFTP מאת Wbond. אתה יכול להוריד את התוסף הזה על ידי ביצוע ההנחיות כאן
כדי להתקין תוסף זה עלינו להגדיר את אישורי ה- FTP תחת הקובץ | SFTP/FTP | דף התקנת שרת …
עבור ההתקנה שלנו השתמשנו:
"type": "sftp", "sync_down_on_open": true, "sync_same_age": true, "host": "192.168.0.200", "user": "pi", "password": "YOUR_RPI_PASSWORD_HERE", "port": "22", "remote_path": "/home/pi/", "file_permissions": "664", "dir_permissions": "775", השתמש Ctrl+S או קובץ | שמור כדי לשמור מידע זה. תתבקש שם לקרוא לתצורה זו. פשוט קראנו לזה "rpizw_0_200"
כעת כדי להיכנס ל- pi מ- SublimeText, עבור אל קובץ | SFTP/FTP | עיון בשרת …
בחר מתוך רשימת האפשרויות המופיעות. תרצה לבחור את הפרופיל עם השם שציינת למעלה;) בצע את ההנחיות כדי לנווט בתיקיות ולערוך את הקובץ הרצוי.
תוספות מועילות
פקודות לינוקס שימושיות לשימוש ב- pi.
לפני ניתוק ה- PI, הקפד תמיד לסגור אותו כך שלא תמצא שחיתות קבצים בכרטיס ה- microSD שלך. הזן פקודה זו:
כיבוי סודו עכשיו
והמתן עד שהירוק יכבה לפני ניתוק החשמל. באופן דומה כדי להפעיל אותו מחדש, תוכל להזין:
sudo אתחל עכשיו
כדי להציג קבצים בספרייה, השתמש בזה:
ls
אתה יכול למצוא פקודות Linux מועילות אחרות כאן
מוּמלָץ:
מערכת RFID מבוססת PIC16F877A: 5 שלבים
מערכת RFID מבוססת PIC16F877A: מערכת RFID היא מערכת המספקת זיהוי של התלמידים, העובדים ואחרים באמצעות תג RFID, על מנת לעקוב אחר נוכחותם, עבודתם, זמן העבודה ועוד רבים אחרים. מאמר זה הוא בחסות JLCPCB. אני באמת מודה ל- JLCPCB על הספונס
מערכת מיון צבעים: מערכת מבוססת ארדואינו עם שתי חגורות: 8 שלבים
מערכת מיון צבעים: מערכת מבוססת ארדואינו עם שתי חגורות: הובלה ו/או אריזה של מוצרים ופריטים בתחום התעשייתי מתבצעת באמצעות קווים המיוצרים באמצעות מסוע. חגורות אלה עוזרות להעביר את הפריט מנקודה אחת לאחרת במהירות מסוימת. חלק ממשימות העיבוד או הזיהוי עשויות להיות
מד טווח לחניה במוסך עם ארדואינו: 4 שלבים (עם תמונות)
מד טווח לחניה במוסך עם Arduino: פרויקט פשוט זה יעזור לך להחנות את המכונית שלך במוסך על ידי הצגת המרחק מאובייקטים מול הפגוש במכונית שלך. הודעת 'עצור' תגיד לך מתי הגיע הזמן לעצור. הפרויקט מבוסס על הרגיל HC-SR04 או Parallax Ping)))
מערכת GPS מבוססת Arduino מבוססת GPS+GPRS למניעת גניבה: 5 שלבים (עם תמונות)
מערכת GPS מבוססת Arduino מלאה+מערכת גניבת GPRS: שלום לכולם! רציתי לבנות פתרון מלא למכשיר נגד גניבה לרכב GPS, שיהיה: כמה שיותר זול, שלם ככל האפשר כפי שהוא פשוט עובד -אין-דבר-אחר-לעשות ככל האפשר אז בסופו של דבר בניתי פתרונות מבוססי ארדואינו
עזר לחניה במוסך עם ארדואינו: 5 שלבים (עם תמונות)
עזר לחניה בחניונים עם ארדואינו: האתגר כשאני חונה במוסך שלי המקום מוגבל מאוד. בֶּאֱמֶת. המכונית שלי (MPV משפחתית) קצרה בכ- 10 ס"מ מהשטח הפנוי. יש לי אמנם חיישני חניה ברכב שלי אבל הם מוגבלים מאוד: מתחת ל -20 ס"מ הם מראים התראה אדומה כך שזה