Sadržaj:

Dodajte WIZ820io / USR -ES1 - Wiznet W5500 mrežni port u svoj Raspberry Pi .: 10 koraka
Dodajte WIZ820io / USR -ES1 - Wiznet W5500 mrežni port u svoj Raspberry Pi .: 10 koraka

Video: Dodajte WIZ820io / USR -ES1 - Wiznet W5500 mrežni port u svoj Raspberry Pi .: 10 koraka

Video: Dodajte WIZ820io / USR -ES1 - Wiznet W5500 mrežni port u svoj Raspberry Pi .: 10 koraka
Video: Hafiz Aziz Alili - Dzibrilov mi dodajte ibrik - (Audio 1999) 2024, Studeni
Anonim
Dodajte mrežni port WIZ820io / USR -ES1 - Wiznet W5500 u svoj Raspberry Pi
Dodajte mrežni port WIZ820io / USR -ES1 - Wiznet W5500 u svoj Raspberry Pi

Dijelom zbog interesa da radim ovako nešto, a dijelom zbog interesa za Codesys, već neko vrijeme razmišljam o tome da pokušam povezati drugi port mrežnog sučelja s Raspberry Pi. Dok sam radio na drugim projektima, razmišljao sam, čitao, uspoređivao, planirao i kupovao kako bih napokon mogao nešto izraditi.

Da - znam.. postoji nekoliko dostupnih sustava po principu "ključ u ruke" koji bi učinili nešto slično, ali doista nitko od njih nije bio dovoljno primamljiv da me odvoji od novca.

U stvarnosti imam nisku razinu znanja i iskustva o Raspberry Pi i Linux / Raspberry Pi IOS-u (Raspian) (bolje mi ide u Windows i Android svijetu), nemam dublje znanje o umrežavanju (mogu učiniti da stvari funkcioniraju i graditi mreže, ali iznad toga sam malo preko glave), a tek sam počeo izrađivati ploče. Sigurno nisam programer.

Jednom sam konačno odlučio krenuti naprijed s ovom idejom o izgradnji nečega, te sam odlučio koristiti modul WIZ820io / USR -ES1, koji se temelji na integriranom krugu Wiznet - W5500. Ovaj modul može komunicirati s Raspberry Pi (i drugim MCU -ovima) pomoću standardne SPI sabirnice. Osim toga, radi na 3,3 VDC, pa predstavlja NULA rizik od oštećenja za moj Raspberry Pi.

Prilikom projektiranja tiskane ploče odlučio sam je izgraditi u odgovarajućoj "HAT" konfiguraciji (oblik i mogućnosti), a osim dodavanja sklopa za "WIZ820io modul, dodao sam i niz drugih stavki koje se NE koriste u ovom mrežni projekt, ali koji mogu i koristit ću za druge projekte u budućnosti.

Ploča koju sam dizajnirao / izgradio ima sljedeće stavke.

1 - Utičnica za držanje Wiznet - "WIZ820io - Ethernet priključnog modula (za to sam napravio prilagođeni Eagle Footprint)".

2 - Ventilator za hlađenje od 30 mm - 5 VDC za CPU Raspberry Pi (za to sam napravio prilagođeni Eagle Footprint).

3 - Memorijski čip "CAT24C32" za održavanje zahtjeva kompatibilnosti s HAT -om (ovo još nisam programirao) (za to sam napravio prilagođeni Eagle Design Block).

4 - Mini MAX3232 - UART - pretvarač razine TTL u RS -232 spojen na UART0 (za to sam napravio prilagođeni Eagle Footprint).

5 - Crvena LED (GPIO24), Žuta LED (GPIO23) i Zelena LED (GPIO22) koje će se koristiti za semafor - vježbe programiranja Python.

6 - Zelena LED (GPIO18) i zelena LED dioda (GPIO27) - za programiranje vježbi i rješavanje problema.

7 - Taktilni prekidač spojen na GPIO25 - za programiranje vježbi i rješavanje problema (za to sam napravio prilagođeni Eagle Footprint). Imajte na umu da će se ovaj GPIO koristiti i s WIZ820io.

Kao što sam prethodno napomenuo, ovaj Instructable će se baviti samo stavkom #1 na ovom popisu. Sve ostale stavke koje sam dodao na ploču postoje iz drugih razloga koji nisu povezani s ovim projektom mrežnog sučelja.

Pribor

Raspberry Pi - Koristio sam stariju Raspberry Pi 3B. Nema ništa loše u tome.. Moj ima mrtvi HDMI priključak pa ga pokrećem "bez glave" koristeći TeamViewer za pristup. Radi. Čvrsto sumnjam da će većina verzija Raspberry Pi -ja raditi s ovim Instructable Pružanjem PODEŠAVANJA da mogu pokrenuti novije verzije Raspberry Pi IOS -a (Raspian).

Prije nego što sam sve ovo započeo, naravno da sam ažurirao operativni sustav:

sudo apt-get ažuriranje

sudo apt-get nadogradnja

WIZ820io / USR -ES1 - Dokumentacija za to dostupna je online od OEM -a

PC ploča - Koristila sam Autodesk Eagle za dizajniranje PCB -a i generiranje Gerberovih datoteka potrebnih za JLCPCB za izradu ploče. Kao što je ranije napomenuto, također sam dodao "CAT24C32" memorijski čip za održavanje zahtjeva kompatibilnosti s HAT -om.

Korak 1: Raspberry Pi 3b

Malina Pi 3b
Malina Pi 3b

Što se tiče Raspberry Pi, ovaj projekt sam napravio koristeći standardni Raspberry Pi 3b, zajedno s najnovijom verzijom Raspberry Pi IOS (Raspian) koju sam mogao preuzeti i instalirati.

Nema tu ništa posebno. Posjedujem tu jedinicu nekoliko godina i meni je uglavnom dobro funkcionirala (pa - HDMI video izlaz je mrtav pa sam prisiljen raditi bez glave pomoću TeamViewer -a). Ne biste trebali to učiniti.

Pretpostavljam da bi se svaki RPi trebao moći spojiti na WIZ820io / USR -ES1 - Wiznet W5500 i učiniti da ovo funkcionira, kao i mnoge druge marke natječu se na istom tržištu (Beagle Bone, Orange, Tinker, itd.) I koristiti slične model OS -a temeljenog na Linuxu.

Imam nula iskustva s bilo kojim od njih. Imam malo iskustva s malinom - pogledajte gdje me to dovelo:)

Korak 2: Povezivanje Wiznet WIZ820io modula s Raspberry Pi GPIO sabirnicom

Povezivanje Wiznet WIZ820io modula s Raspberry Pi GPIO sabirnicom
Povezivanje Wiznet WIZ820io modula s Raspberry Pi GPIO sabirnicom
Povezivanje Wiznet WIZ820io modula s Raspberry Pi GPIO sabirnicom
Povezivanje Wiznet WIZ820io modula s Raspberry Pi GPIO sabirnicom
Povezivanje Wiznet WIZ820io modula s Raspberry Pi GPIO sabirnicom
Povezivanje Wiznet WIZ820io modula s Raspberry Pi GPIO sabirnicom

Pregledajte priložene slike.

Wiznet WIZ820io modul nudi dva reda sa po 6 pinova za povezivanje.

Redci su označeni s "J1" i "J2".

Tehnički list koji pružaju ima vrlo lijep dijagram u boji označen za svaki pin. Ovaj dijagram služi kao pomoć pri povezivanju ovih pinova s vašim Raspberry PI GPIO pinovima. Prilično su dobro podudaranje imena NAME za NAME.

Raspberry Pi pinout možete pronaći ovdje: pinout.xyz

Spojio sam te pinove na sljedeći način (vidi priloženu sliku):

Naravno, budući da sam napravio stvarnu pločicu, svi temelji (GND) bili su povezani zajedno. Isto vrijedi i za pinove na 3,3 V - moja je ploča to spojila.

Nekoliko napomena..

1. - J2 Pin #5 - RSTn - To sam povezao s RPi GPIO #17 (Pin #11) - To je bilo upozorenje. Ne vjerujem da se koristi.

2. - J1 Pin # 6 - INTn - To je spojeno na GPIO25 (Pin # 22). To je potrebno jer ćemo se u koraku konfiguracije Raspberry Pi IOS -a pozivati na ovo.

3. - J1- Pin # 5 - SCNn - To je povezano s Raspberry Pi "CS0" (Pin # 24). Učinkovito to daje ovom modulu adresu "Modula 0" na RPi SPI sabirnici. Ponovno ćemo se u koraku konfiguracije Raspberry Pi IOS -a pozvati na ovo.

Korak 3: Moja pločica

Moja pločica
Moja pločica
Moja pločica
Moja pločica
Moja pločica
Moja pločica

U privitku je Eagleova shema "Point to Point" koju sam izradio i pomoću koje sam generirao Gerberove datoteke.

U prilogu su i slike "Circuit Board-a" koje sam izmislio za ovaj projekt.

Ova ploča prihvaća brojne različite Wiznet proizvode u stilu WIZ820io.

Korak 4: Raspberry Pi IOS (ranije Raspian) konfiguracija - unosi u mapu "boot"

Raspberry Pi IOS (ranije Raspian) konfiguracija - unosi u
Raspberry Pi IOS (ranije Raspian) konfiguracija - unosi u

Da bi Raspberry Pi "vidio" novoinstalirani modul WIZ820io na svojoj SPI sabirnici, potrebno je osvijestiti IOS kako bi se s time mogao nositi tijekom "BOOT Up".

Da bismo to učinili, jednostavno ćemo dodati dva retka u:../../boot/config.txt

Prvo.. Korištenje okna / prozora terminala ==> ls

cd../boot, pomaknite se do../boot i navedite (ls) direktorij

Referencirajte priloženu sliku. Tamo morate potražiti i potvrditi prisutnost dva unosa - zaokružio sam ih crvenom bojom.

Jedna je datoteka pod nazivom: "config.txt"

Druga je mapa pod nazivom: "prekrivači"

== == == ==

Nakon što potvrdite prisutnost oba ova unosa, možete prijeći na sljedeći korak

Korak 5: Raspberry Pi IOS (ranije Raspian) Konfiguracija - unosi u direktorij "prekrivača"

Raspberry Pi IOS (ranije Raspian) konfiguracija - unosi u
Raspberry Pi IOS (ranije Raspian) konfiguracija - unosi u
Raspberry Pi IOS (ranije Raspian) konfiguracija - unosi u
Raspberry Pi IOS (ranije Raspian) konfiguracija - unosi u
Raspberry Pi IOS (ranije Raspian) konfiguracija - unosi u
Raspberry Pi IOS (ranije Raspian) konfiguracija - unosi u

Promijenite imenik u "prekrivni" direktorij"

Vrsta: cd slojevi

Nakon što pritisnete tipku "enter", to će vas odvesti u mapu "prekrivanja" (pogledajte priloženu sliku).

Navedite sadržaj imenika.

Vrsta: ls

Nakon što pritisnete tipku "enter", trebali biste vidjeti dugačak popis sadržaja tog direktorija. Popis je možda abecednim redom.

(vidi priložene slike (2 od)). Primijetite da su gotovo SVE datoteke imenovane s nastavkom: *.dtbo. Možda ćete primijetiti i nekoliko imenovanih s nastavkom: *.dtb

Ovo su SVE datoteke s slojem "stabla uređaja"

Morate potvrditi prisutnost dvije datoteke "prekrivanja" (pogledajte priložene datoteke slika).

1. - datoteka pod nazivom: anyspi.dtbo (za ovu ćete možda morati upotrijebiti traku za pomicanje na desnoj margini prozora za pomicanje natrag do vrha i pronaći abecedno poredani anyspi.dtbo).

2. - datoteka s imenom w5500.dtbo

== == ==

Ako možete potvrditi da su obje ove datoteke prisutne, u dobrom ste stanju i možete se vratiti u direktorij../boot.

Upišite: cd../ nakon što pritisnete tipku ENTER, trebali biste se vratiti u / boot direktorij.

Navedite direktorij za potvrdu: upišite: ls i pritisnite tipku ENTER

Korak 6: Konfiguracija Raspberry Pi IOS -a (ranije Raspian) - Uređivanje datoteke s imenom: Config.txt

Raspberry Pi IOS (ranije Raspian) Konfiguracija - Uređivanje datoteke s imenom: Config.txt
Raspberry Pi IOS (ranije Raspian) Konfiguracija - Uređivanje datoteke s imenom: Config.txt
Raspberry Pi IOS (ranije Raspian) Konfiguracija - Uređivanje datoteke s imenom: Config.txt
Raspberry Pi IOS (ranije Raspian) Konfiguracija - Uređivanje datoteke s imenom: Config.txt
Raspberry Pi IOS (ranije Raspian) Konfiguracija - Uređivanje datoteke s imenom: Config.txt
Raspberry Pi IOS (ranije Raspian) Konfiguracija - Uređivanje datoteke s imenom: Config.txt

U direktoriju../boot sada možemo raditi na tome da napravimo nekoliko malih izmjena u datoteci pod nazivom: config.txt

Prvo ćemo pozvati uređivača "nano" kao "super korisnika" (sudo)

sudo = 'superkorisnik"

nano je uređivač teksta koji ćemo koristiti

i kao što je napomenuto, config.txt je datoteka koju želimo urediti.

Upišite: sudo nano config.txt i pritisnite ENTER.

To će otvoriti uređivač i prikazati sadržaj datoteke config.txt. Ako se uređivač ne otvori ili se otvori prazan, izađite (ako je u nano) i dvaput provjerite pravopis.

Ako je sve prošlo dobro, trebali biste vidjeti nešto poput na drugoj priloženoj slici. "nano" će prikazivati sam "vrh" datoteke. morat ćete se pomaknuti prema dolje do samog dna.

Na samom dnu datoteke dodajte dvije "naredbe dtoverlay" u nastavku:

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

Dvaput provjerite pravopis, a ako se podudara, pritisnite dvije tipke "Ctrl-x" za izlaz.. i odgovarajuće odgovorite za spremanje i izlaz.

== == == ==

Prilikom sljedećeg pokretanja (i za sva pokretanja nakon toga ako te dvije izjave ostanu tamo) operacijski sustav sada će pozvati i sloj s imenom "anyspi" i sloj s imenom "w5500".

Sloj "anyspy" priprema operacijski sustav za korištenje sabirnice SPI0-0 (tu smo prethodno fizički spojili WIZ820io. "-0" navodi da koristi adresu "0"-sjetite se da smo prethodno spojili pin WIZ820io #J1-6 za RPi GIPO "CEO" (Pin #24).

Sloj "w5500" govori operativnom sustavu kako se nositi s integriranim krugom W5500 koji se nalazi u modulu WIZ820io. Također definira upotrebu RPi GPIO25 (Pin #22) kao INTn signala. Podsjetimo se još jednom da smo prethodno uspostavili ovu vezu.

Ova vrsta informacija može se pronaći u raznim datotekama, poput ovog primjera koji se nalazi na GITHubu.

== == ==

Vrijeme je za ponovno pokretanje RPI -ja i da sve ovo stupi na snagu.

Korak 7: Ponovno smo pokrenuli sustav. Nadam se da se smijete

Ponovno smo pokrenuli. Nadam se da se smijete
Ponovno smo pokrenuli. Nadam se da se smijete
Ponovno smo pokrenuli. Nadam se da se smijete
Ponovno smo pokrenuli. Nadam se da se smijete

Ako je sve prošlo u redu, vaš bi se RPi trebao normalno ponovno pokrenuti. Osmijeh.

Vrijeme je da provjerite je li IOS učitao dvije nove datoteke prekrivanja i prepoznaje li priključeni modul WIZ820io.

Još jednom otvorite prozor "Naredba".

Ovaj put na upit, upišite ifconfig (ili upotrijebite noviju naredbu "ip") i pritisnite tipku Enter.

Vjerojatno ćete dobiti dugačak odgovor pa ćete se morati pomaknuti natrag do vrha.

Natrag na vrhu potražite dva odjeljka:

Jedan po imenu eth0, a drugi po imenu eth1 - pogledajte priloženu sliku.

U mom sustavu eth0 je Ethernet port na RPI -u. eth1 je novi WIZ820io Ethernet port.

== == ==

Ako vidite dva porta, takav je i RPI. Primijetite na priloženoj slici, eth1 je poslao pakete, i bez grešaka.

Ovo sam testirao tako što sam isključio izvorni kabel porta i pomoću preglednika otišao na YouTube i druge web stranice. Radi. Također sam ga "pingovao" s nekoliko različitih uređaja i radi.

== == ==

Ako ne vidite eth1 (ili nešto slično) - osim eth0 na RPI3 ili RPi4, pokušajte se vratiti i dvaput provjeriti je li config.txt ispravno uređen i spremljen. Provjerite jesu li dva sloja postavljena i je li pravopis ispravan (nema velikih slova gdje ih nemam - velika su slova važna u ovom sustavu).

== == ==

Ako su dva porta prisutna, možda će biti potrebno još malo konfiguracije … prijeđite na sljedeći korak ….

Korak 8: Konfiguracija Raspberry Pi IOS -a (ranije Raspian) - Postavljanje IP adrese

Ovo je malo izvan moje kuće za kotače, pa u ovom trenutku ne mogu pružiti smjernice.

Samo znajte da postoji bezbroj web stranica, YouTube videozapisa i oglasnih ploča koje pružaju ovakve informacije.

ali.. možda biste htjeli provjeriti i učiniti nekoliko stvari ovdje.

1 - Dvaput provjerite IP adresu koju vaš novi port trenutno ima. je li ga dodijelio vaš DHP poslužitelj ili je to zadani IP - nešto u rasponu: 169.254.xxx.yyy? Je li u pitanju nešto drugo ??

2- Želite li statičku (fiksnu) IP adresu ili dinamičku IP adresu (dodjeljuje vaš DHCP poslužitelj).

Provjerite prekidač / usmjerivač na koji je povezan vaš RPI.. vidi li vaš novi port? može li to "pingati"? (svakako odvojite izvorni kabel porta - u protivnom vas RPi može zavarati).

Upotrijebite ifconfig (ili noviju naredbu "ip") kako biste vidjeli da podaci koji dolaze i odlaze izgledaju "normalno" (da tako kažem) i bez nepotrebnog broja pogrešaka.

== == ==

Na kraju.. vjerujem da je w5500.dtbo dodjeljuje MAC adresu modulu WIZ820io / W5500.. ali ne mogu sa sigurnošću reći je li to mjesto gdje se to događa. Nisam mogao odmah pronaći detalje o tome.

Čini mi se da se prilikom svakog pokretanja dodjeljuje druga MAC adresa. Osobno mi se to ne sviđa, pa posljedično postoje stvari koje se mogu učiniti za postavljanje Mac adrese (program "macchanger" na primjer ili postavljanje putem naredbi ip / ifconfig). Ako netko od vas nađe rješenje za ovo "boot-up" / "crontab", bilo bi mi drago čuti kako to radite ako ste otvoreni za dijeljenje.

Moje možete vidjeti na slici.. Kad potražim dobavljača Mac adrese za eth0 ==> b827eb, pojavit će se kao Raspberry Pi Foundation. Dobavljač eth1 ==> fa9770 pojavljuje se kao nepoznat, pa je očito u nekom trenutku generiran na mom Pi.

Korak 9: Zaključak

Hvala vam što ste pogledali ovaj Instructable.

Puno sam naučio radeći kroz ovaj mali projekt.

Ako imate bilo kakvih pitanja ili ste zainteresirani za kupnju jedne od ploča koje sam izradio (popunjene ili ne), imam neke dodatke koji su na prodaju i o kojima možemo razgovarati.

U svakom slučaju, pozivam vas da ostavite komentare, predložite ispravke (pravopisne pogreške ili metode ili ??)

Sasvim sigurno, ako ovo napravite sami, bilo bi mi jako drago vidjeti fotografije kako ste to riješili i vaše krajnje rezultate / svrhu.

Hvala.

P. S.: Hvala ovom kolegi na uputama i idejama.

Korak 10: DTBO datoteke

Dvije datoteke za dodavanje u vašu "mapu s slojevima" - potrebne za korake #4 i #5

Preporučeni: