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

הוסף WIZ820io / USR -ES1 - יציאת רשת Wiznet W5500 לפאי הפטל שלך: 10 שלבים
הוסף WIZ820io / USR -ES1 - יציאת רשת Wiznet W5500 לפאי הפטל שלך: 10 שלבים

וִידֵאוֹ: הוסף WIZ820io / USR -ES1 - יציאת רשת Wiznet W5500 לפאי הפטל שלך: 10 שלבים

וִידֵאוֹ: הוסף WIZ820io / USR -ES1 - יציאת רשת Wiznet W5500 לפאי הפטל שלך: 10 שלבים
וִידֵאוֹ: אייל גולן - אוסף עוד געגוע 2024, נוֹבֶמבֶּר
Anonim
הוסף WIZ820io / USR -ES1 - יציאת רשת Wiznet W5500 ל- Raspberry Pi שלך
הוסף WIZ820io / USR -ES1 - יציאת רשת Wiznet W5500 ל- Raspberry Pi שלך

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

כן - אני יודע.. יש כמה מערכות "turn -key" מוכנות לשימוש, מה שעושה משהו דומה, אבל באמת שאף אחת מהן לא הייתה מפתה מספיק כדי להפריד אותי מהכסף שלי.

במציאות, יש לי רמה נמוכה של ידע וניסיון ב- Raspberry Pi ו- Linux / Raspberry Pi IOS (Raspian) (אני עושה טוב יותר בעולם Windows ו- Android), אין לי ידע מעמיק ברשת (אני יכול לגרום לדברים לעבוד ולבנות רשתות, אבל מעבר לזה אני קצת מעל הראש), ורק התחלתי להכין לוחות מעגל. מה שבטוח, אני לא מתכנת.

ברגע שהחלטתי סוף סוף להתקדם עם הרעיון הזה של לבנות משהו, ובחרתי להשתמש במודול WIZ820io / USR -ES1, המבוסס על המעגל המשולב Wiznet - W5500. מודול זה יכול לתקשר עם ה- Raspberry Pi (ועם MCU אחרים) באמצעות אוטובוס SPI הסטנדרטי. בנוסף, הוא פועל ב -3.3 VDC, כך שהוא מהווה אפס סיכונים לנזק ל- Raspberry Pi שלי.

בעיצוב הלוח בחרתי לבנות אותו בתצורת "כובע" (צורה ויכולת) תקינה, ובנוסף להוספת המעגל למודול "WIZ820io הוספתי גם מספר פריטים אחרים אשר אינם בשימוש זה פרויקט רשת, אך אשר אוכל ואשמש אותו לפרויקטים אחרים בעתיד.

הלוח שעיצבתי / בניתי מכיל עליו את הפריטים הבאים.

1 - שקע לאחסון Wiznet - WIZ820io - מודול יציאת אתרנט (עשיתי טביעת רגל מותאמת אישית עבור זה).

2 - מאוורר קירור של 30 מ מ - 5 VDC למעבד Raspberry Pi (עשיתי טביעת רגל מותאמת אישית עבור זה).

3 - שבב זיכרון מסוג "CAT24C32" לשמירה על דרישות תאימות HAT (זה עדיין לא מתוכנת על ידי) (הכנתי קובץ עיצוב נשר מותאם אישית לכך).

4 - מיני MAX3232 - UART - TTL לממיר רמות RS -232 המחובר ל- UART0 (עשיתי טביעת רגל מותאמת אישית עבור זה).

5 - נורית LED אדומה (GPIO24), נורית צהובה (GPIO23) ונורית ירוקה (GPIO22) לשימוש לרמזור - תרגילי תכנות פייתון.

6 - LED ירוק (GPIO18) ו- LED ירוק (GPIO27) - לתרגילי תכנות ופתרון בעיות.

7 - מתג מישוש המחובר ל- GPIO25 - לתרגילי תכנות ופתרון בעיות (עשיתי טביעת רגל מותאמת אישית עבור זה). שים לב ש- GPIO זה ישמש גם עם WIZ820io.

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

אספקה

Raspberry Pi - השתמשתי ב- Raspberry Pi 3B ישן יותר. אין שום דבר רע בזה.. לשלי יש יציאת HDMI מתה, אז אני מפעיל אותה ללא ראש באמצעות TeamViewer כדי לגשת אליה. זה עובד. אני מאוד חושד שרוב הגרסאות של Raspberry Pi יעבדו עם הוראה זו בתנאי שהם יכולים להריץ גרסאות חדשות יותר של Raspberry Pi IOS (Raspian).

לפני שהתחלתי בכל זה, עדכנתי כמובן את מערכת ההפעלה:

עדכון sudo apt-get

sudo apt-get upgrade

WIZ820io / USR -ES1 - התיעוד לכך זמין באינטרנט מה- OEM

לוח מחשבים - השתמשתי ב- Autodesk Eagle כדי לעצב בעזרתו את הלוח המודול ולייצר את קבצי הגרבר הדרושים ל- JLCPCB כדי לבנות בעזרתם את המעגל. כפי שצוין לעיל, הוספתי גם שבב זיכרון "CAT24C32" כדי לשמור על דרישת תאימות HAT.

שלב 1: פטל פי 3b

פטל פי 3b
פטל פי 3b

באשר ל- Raspberry Pi, הכנתי את הפרויקט הזה באמצעות Raspberry Pi 3b רגיל, יחד עם הגרסה העדכנית ביותר של Raspberry Pi IOS (Raspian) שיכולתי להוריד ולהתקין.

שום דבר מיוחד שם. בבעלותי היחידה הזו במשך כמה שנים, והיא עבדה בעיקר טוב בשבילי (טוב - פלט הווידאו של HDMI מת אז אני נאלץ לרוץ ללא ראש באמצעות TeamViewer). אתה לא צריך לעשות את זה.

אני חושד שכל RPi צריך להיות מסוגל להתחבר ל- WIZ820io / USR -ES1 - Wiznet W5500 ולעשות את העבודה הזו, כמו גם מותגים רבים אחרים המתחרים באותו שוק (Beagle Bone, Orange, Tinker, וכו ') ולהשתמש בדומה לזה דגם מערכת הפעלה מבוססת לינוקס.

יש לי אפס ניסיון עם כל אלה. אין לי מעט ניסיון עם הפטל - תראה לאן זה הביא אותי:)

שלב 2: ממשק מודול Wiznet WIZ820io לאוטובוס Raspberry Pi GPIO

ממשק מודול Wiznet WIZ820io לאוטובוס Raspberry Pi GPIO
ממשק מודול Wiznet WIZ820io לאוטובוס Raspberry Pi GPIO
ממשק מודול Wiznet WIZ820io לאוטובוס Raspberry Pi GPIO
ממשק מודול Wiznet WIZ820io לאוטובוס Raspberry Pi GPIO
ממשק מודול Wiznet WIZ820io לאוטובוס Raspberry Pi GPIO
ממשק מודול Wiznet WIZ820io לאוטובוס Raspberry Pi GPIO

סקור את התמונות המצורפות.

מודול Wiznet WIZ820io מספק שתי שורות של 6 סיכות כל אחת להתממשק אליהן.

השורות מסומנות "J1 ו-" J2 "בהתאמה.

לגליון הנתונים שהם מספקים יש תרשים מקודד בצבעים נחמד מאוד של כל סיכה. תרשים זה נועד לסייע לך בחיבור הסיכות האלה לסיכות Raspberry PI GPIO שלך. הם די משחק NAME למשחק NAME.

את ה- pinout של Raspberry Pi הוא יכול למצוא כאן: pinout.xyz

חיברתי את הסיכות האלה כדלקמן (ראו תמונה מצורפת):

כמובן, מכיוון שיצרתי לוח מעגלים בפועל, כל ה- Grounds (GND) היו מחוברים יחד. אותו דבר לגבי סיכות של 3.3V - הלוח שלי חיבר אותם יחד.

כמה דברים חשובים..

1 - סיכת J2 מס '5 - RSTn - חיברתי את זה ל- RPi GPIO #17 (סיכה מס' 11) - זה היה מזהיר. אני לא מאמין שזה משמש.

2 - סיכת J1 מס '6 - INTn - המחובר ל- GPIO25 (פין מס' 22). זה נדרש, שכן בשלב תצורת IOS של Raspberry Pi נתייחס לזה.

שלישי - J1- סיכה מס '5 - SCNn - המחובר ל- Raspberry Pi "CS0" (פין מס' 24). למעשה זה נותן למודול זה את הכתובת של "מודול 0" באוטובוס RPi SPI. שוב, בשלב תצורת IOS של Raspberry Pi, נתייחס לזה.

שלב 3: לוח המעגלים שלי

לוח המעגלים שלי
לוח המעגלים שלי
לוח המעגלים שלי
לוח המעגלים שלי
לוח המעגלים שלי
לוח המעגלים שלי

מצורף סכמטי "נקודה לנקודה" של הנשר שעשיתי ואיתו יצרתי את קבצי הגרבר.

כמו כן מצורפות תמונות של "לוח המעגלים" שהכנתי לפרויקט זה.

לוח זה יקבל מספר מוצרי Wiznet שונים בסגנון WIZ820io.

שלב 4: תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות בתיקיית "אתחול"

תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות ב
תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות ב

כדי ש- Raspberry Pi "יראה" את מודול WIZ820io שהותקן לאחרונה באוטובוס ה- SPI שלו, יש ליידע את ה- IOS כך שהוא יוכל להתמודד עם זה במהלך "BOOT Up".

לשם כך נוסיף פשוט שתי שורות ל:../../boot/config.txt

ראשית.. שימוש בחלונית מסוף / חלון ==> ls

cd../boot, נווט בדרך אל../boot ורשום (ls) את הספרייה

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

האחד הוא קובץ בשם: "config.txt"

השנייה היא תיקיה בשם: "שכבות -על"

== == == ==

לאחר שתאשר את קיומם של שני הערכים הללו, תוכל להמשיך לשלב הבא

שלב 5: תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות בספריית "שכבות -על"

תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות ב
תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות ב
תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות ב
תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות ב
תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות ב
תצורת IOS של Raspberry Pi (לשעבר Raspian) - רשומות ב

שנה את הספרייה לספריית "שכבות -על""

סוג: שכבות -על של תקליטורים

לאחר לחיצה על מקש "enter", זה יוביל אותך לתיקיית "שכבות -על" (ראה תמונה מצורפת).

רשום את תוכן הספרייה.

סוג: ls

לאחר לחיצה על מקש "enter", אתה אמור לראות רשימה ארוכה של תוכן הספרייה. הרישום אולי אלפביתי.

(ראו תמונות מצורפות (2 מתוך)). שים לב שכמעט כל הקבצים נקראים בסיומת של: *.dtbo. ייתכן שתבחין גם בכמה שמם עם סיומת של: *.dtb

אלה כולם קבצי שכבת -על של "עץ המכשיר"

עליך לאשר את קיומם של שני קבצי "שכבת -על" (ראה קובצי תמונות מצורפים).

1 - קובץ בשם: anyspi.dtbo (עבור קובץ זה, ייתכן שיהיה עליך להשתמש בסרגל הגלילה בשוליים הימניים של החלון כדי לגלול אחורה לראש ולמצוא את anyspi.dtbo המסודר באלפבית).

2 - קובץ בשם w5500.dtbo

== == ==

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

הקלד: cd../ לאחר לחיצה על מקש ENTER, עליך להחזיר לספריית / boot.

רשום את הספרייה לאישור: הקלד: ls והקש על מקש ENTER

שלב 6: תצורת IOS של Raspberry Pi (לשעבר Raspian) - ערוך קובץ בשם: Config.txt

תצורת IOS של Raspberry Pi (לשעבר Raspian) - עריכת קובץ בשם: Config.txt
תצורת IOS של Raspberry Pi (לשעבר Raspian) - עריכת קובץ בשם: Config.txt
תצורת IOS של Raspberry Pi (לשעבר Raspian) - עריכת קובץ בשם: Config.txt
תצורת IOS של Raspberry Pi (לשעבר Raspian) - עריכת קובץ בשם: Config.txt
תצורת IOS של Raspberry Pi (לשעבר Raspian) - עריכת קובץ בשם: Config.txt
תצורת IOS של Raspberry Pi (לשעבר Raspian) - עריכת קובץ בשם: Config.txt

בספריית../boot, כעת נוכל לבצע מספר עריכות קטנות בקובץ בשם: config.txt

תחילה נקרא לעורך "ננו" כ"משתמש על "(סודו)

sudo = 'משתמש -על'

nano הוא עורך הטקסט בו נשתמש

וכפי שצוין, config.txt הוא הקובץ שברצוננו לערוך.

הקלד: sudo nano config.txt והקש ENTER.

פעולה זו תעלה את העורך ותציג את תוכן קובץ config.txt. אם העורך אינו נפתח או נפתח ריק, צא (אם בננו) ובדוק שוב את האיות שלך.

אם הכל הלך כשורה, אתה אמור לראות משהו כמו בתמונה השנייה המצורפת. "ננו" יציג את "החלק העליון" של הקובץ. יהיה עליך לגלול למטה לתחתית.

בתחתית הקובץ, הוסף את שתי "הצהרות dtoverlay" להלן:

dtoverlay = anyspi, spi0-0, dev = "w5500", speed = 30000000dtoverlay = w5500

בדוק שוב את כל האיות, ואם הוא תואם, לחץ על שני המקשים "Ctrl-x" ליציאה.. וענה כראוי כדי לשמור ולצאת.

== == == ==

בעת האתחול הבא (ולכל האתחולים לאחר מכן אם שני המשפטים האלה יישארו שם) מערכת ההפעלה תקרא כעת גם לשכבת-העל בשם "anyspi" ולשכבת-העל בשם "w5500".

שכבת העל "anyspy" מכינה את מערכת ההפעלה לשימוש באוטובוס SPI0-0 (לשם חיברנו בעבר פיזית את ה- WIZ820io. ה- "-0" מציין אותו לשימוש בכתובת "0"-נזכיר כי חיברנו בעבר את הסיכה WIZ820io. #J1-6 ל- "מנכ"ל" RPi GIPO (פין מס '24).

שכבת העל "w5500" מספרת למערכת ההפעלה כיצד להתמודד עם המעגל המשולב W5500 הממוקם במודול WIZ820io. הוא גם מגדיר להשתמש ב- RPi GPIO25 (Pin #22) כאות INTn. נזכיר שוב שעשינו בעבר את החיבור הזה.

מידע מסוג זה ניתן למצוא בקבצים שונים, כמו דוגמה אחת זו המצויה ב- GITHub.

== == ==

הגיע הזמן לאתחל את ה- RPI ולגרום לכך שכל זה ייכנס לתוקף.

שלב 7: אתחלנו מחדש. אני מקווה שאתה מחייך

התחלנו מחדש. אני מקווה שאתה מחייך
התחלנו מחדש. אני מקווה שאתה מחייך
התחלנו מחדש. אני מקווה שאתה מחייך
התחלנו מחדש. אני מקווה שאתה מחייך

אם הכל הלך כשורה, ה- RPi שלך היה צריך לאתחל מחדש כרגיל. חיוך.

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

שוב פתח חלון "פקודה".

הפעם בהנחיה, הקלד ifconfig (או השתמש בפקודה החדשה יותר "ip") ולחץ על מקש Enter.

סביר להניח שתקבל תגובה ארוכה, כך שתצטרך לגלול בחזרה למעלה.

בחזרה למעלה, חפש את שני הקטעים:

אחד בשם eth0, והשני בשם: eth1 - ראה תמונה מצורפת.

במערכת שלי, eth0 הוא יציאת ה- Ethernet ב- RPI. eth1 הוא יציאת ה- Ethernet החדשה של WIZ820io.

== == ==

אם אתה רואה את שתי היציאות, כך גם ה- RPI. שימו לב בתמונה המצורפת, eth1 שלחה מנות וללא שגיאות.

בדקתי זאת על ידי ניתוק כבל הפורט המקורי, והשתמש בדפדפן כדי לעבור ליוטיוב ולאתרים אחרים.. זה עובד. אני גם "פינג'ה" אותו מכמה מכשירים שונים וזה עובד.

== == ==

אם אינך רואה eth1 (או משהו דומה) - מלבד eth0 ב- RPI3 או RPi4, נסה לחזור ולבדוק שוב שה- config.txt נערך ונשמר כראוי. וודא ששתי השכבות -על נמצאות במקומן, והכתיב נכון (אין אותיות גדולות כאשר אין לי אותן - רישיות חשובות במערכת זו).

== == ==

אם שתי היציאות קיימות, ייתכן שיש עוד קצת עבודת תצורה לביצוע … לשלב הבא….

שלב 8: תצורת IOS של Raspberry Pi (לשעבר Raspian) - הגדרת כתובת IP

זה קצת מחוץ לבית הגלגלים שלי, כך שכרגע אני לא יכול לתת הדרכה.

רק דע כי ישנם אינספור אתרים, סרטוני YouTube ולוחות מודעות המספקים מידע מסוג זה.

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

1 - בדוק שוב את כתובת ה- IP שיש ביציאה החדשה שלך כרגע. האם הוא הוקצה על ידי שרת ה- DHP שלך, או שזו ברירת המחדל של IP - משהו בטווח של: 169.254.xxx.yyy? זה משהו אחר ??

2- האם אתה רוצה כתובת IP סטטית (קבועה) או כתובת IP דינאמית (שהוקצתה על ידי שרת DHCP שלך).

בדוק את המתג / הנתב שאליו ה- RPI שלך מחובר.. האם הוא רואה את היציאה החדשה שלך? האם זה יכול "לדפוק"? (הקפד לנתק את כבל היציאה המקורי אם תעשה זאת - אחרת ה- RPi עלול להטעות אותך).

השתמש ב- ifconfig (או בפקודה החדשה "ip") כדי לראות שהנתונים הבאים והולכים נראים "רגילים" (כביכול) וללא מספר טעויות מיותר.

== == ==

לבסוף.. אני מאמין ש- w5500.dtbo מקצה כתובת MAC למודול WIZ820io / W5500.. אבל אני לא יכול לומר בוודאות אם זה המקום שבו זה קורה. לא הצלחתי למצוא פרטים על כך מיד.

בשבילי נראה כי בכל פעם שהוא מופעל, מוקצה כתובת MAC אחרת. אני אישית לא אוהב את זה, וכתוצאה מכך יש דברים שאפשר לעשות כדי להגדיר את כתובת ה- Mac (התוכנית "macchanger" למשל או הגדרה באמצעות הפקודות ip / ifconfig). אם מישהו מכם ימצא פתרון "אתחול" / "crontab" לכך, אשמח לשמוע על אופן הפעולה שלכם אם אתם פתוחים לשיתוף.

אתה יכול לראות את שלי בתמונה.. כשאני מחפש את ספק כתובת ה- Mac עבור eth0 ==> b827eb, הוא מופיע כקרן Raspberry Pi. הספק של eth1 ==> fa9770 מופיע כבלתי ידוע, כך שברור שהוא נוצר ב- Pi שלי בשלב כלשהו.

שלב 9: מסקנה

תודה שבדקת את המדריך הזה.

למדתי לא מעט לעבוד בפרויקט הקטן הזה.

אם יש לך שאלות, או שאתה מעוניין לרכוש את אחד הלוחות שהכנתי (מאוכלס או לא), יש לי כמה תוספות שנמצאות למכירה ואליהן נוכל לדון.

בכל מקרה, אני קורא לך להשאיר הערות, להציע תיקונים (שגיאות כתיב או שיטות או ??)

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

תודה.

P. S.: תודה לעמית הזה על ההדרכה והרעיונות.

שלב 10: קבצי DTBO

שני קבצים להוספה לתיקיית שכבות -העל שלך - נחוצים לשלבים מס '4 ו -5

מוּמלָץ: