Sadržaj:

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

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

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

Dijelom zbog mog 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, upoređivao, planirao i kupovao kako bih konačno mogao nešto da napravim.

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

U stvarnosti, imam nizak nivo 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 izgraditi mreže, ali iznad toga sam malo preko glave), a tek sam počeo proizvoditi ploče. Naravno, ja nisam programer.

Jednom sam konačno odlučio krenuti naprijed s ovom idejom o izgradnji nečega, te sam odlučio koristiti WIZ820io / USR -ES1 modul, koji je baziran na Wiznet - W5500 integriranom krugu. Ovaj modul može komunicirati s Raspberry Pi (i drugim MCU -ovima) koristeći standardnu SPI sabirnicu. Osim toga, radi na 3,3 VDC, pa predstavlja NULA rizika 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 kola za "WIZ820io modul, dodao sam i niz drugih stavki koje se NE koriste u ovom mrežni projekt, ali koji mogu i bit će korišten 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 ovo sam napravio prilagođeni Eagle Footprint)".

2 - Ventilator za hlađenje od 30 mm - 5 VDC za Raspberry Pi CPU (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 - TTL na RS -232 pretvarač nivoa povezan 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 - Python vježbe programiranja.

6 - Zelena LED dioda (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 sa WIZ820io.

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

Supplies

Raspberry Pi - Koristio sam stariji Raspberry Pi 3B. Nema ništa loše u tome. Moj ima mrtvi HDMI port, 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).

Naravno, prije nego što sam sve ovo započeo, ažurirao sam operativni sistem:

sudo apt-get update

sudo apt-get nadogradnja

WIZ820io / USR -ES1 - Dokumentacija za to dostupna je na mreži od OEM -a

PC ploča - Koristio sam Autodesk Eagle za dizajniranje PCB -a i generiranje Gerber 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 sa HAT -om.

Korak 1: Raspberry Pi 3b

Raspberry Pi 3b
Raspberry 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čeg posebnog. Posjedujem tu jedinicu nekoliko godina i meni je to uglavnom dobro funkcioniralo (pa - HDMI video izlaz je mrtav pa sam primoran raditi bez glave koristeći TeamViewer). Ne biste trebali ovo raditi.

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 nadmeću se na istom tržištu (Beagle Bone, Orange, Tinker, itd.) I koristiti slične model OS -a zasnovanog na Linuxu.

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

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

Povezivanje Wiznet WIZ820io modula sa Raspberry Pi GPIO magistralom
Povezivanje Wiznet WIZ820io modula sa Raspberry Pi GPIO magistralom
Povezivanje Wiznet WIZ820io modula sa Raspberry Pi GPIO magistralom
Povezivanje Wiznet WIZ820io modula sa Raspberry Pi GPIO magistralom
Povezivanje Wiznet WIZ820io modula sa Raspberry Pi GPIO magistralom
Povezivanje Wiznet WIZ820io modula sa Raspberry Pi GPIO magistralom

Pregledajte priložene slike.

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

Redovi su označeni sa "J1" i "J2".

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

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

Povezao sam ove pinove na sljedeći način (pogledajte priloženu sliku):

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

Nekoliko napomena..

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

2. - J1 Pin # 6 - INTn - To je povezano s 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 sa Raspberry Pi "CS0" (Pin # 24). To efektivno daje ovom modulu adresu "Modula 0" na RPi SPI sabirnici. Ponovo ćemo se u koraku konfiguracije Raspberry Pi IOS pozvati na ovo.

Korak 3: Moja pločica

Moja ploča
Moja ploča
Moja ploča
Moja ploča
Moja ploča
Moja ploča

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

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

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 WIZ820io modul na svojoj SPI sabirnici, potrebno je obavijestiti IOS kako bi se s njim mogao nositi tokom "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, idite na../boot i navedite (ls) direktorij

Navedite 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 fascikla pod nazivom: "prekrivači"

== == == ==

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

Korak 5: Konfiguracija Raspberry Pi IOS -a (ranije Raspian) - 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 direktorij u direktorij "prekrivanja"

Tip: cd prekrivači

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

Navedite sadržaj direktorija.

Tip: ls

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

(pogledajte 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 preklapanjem "Drvo 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 koristiti traku za pomicanje na desnoj margini prozora da biste se vratili na vrh i pronašli abecedno poredani anyspi.dtbo).

2. - datoteka pod imenom w5500.dtbo

== == ==

Ako možete potvrditi da su obje ove datoteke prisutne, onda ste u dobrom 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) - uredite datoteku 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 "nano" editor kao "super korisnik" (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.

Ovo ć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 provjerite pravopis.

Ako je sve prošlo u redu, trebali biste vidjeti nešto kao 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 "dtoverlay naredbe" ispod:

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

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

== == == ==

Prilikom sljedećeg pokretanja (i za sva pokretanja nakon toga ako te dvije izjave ostanu tamo) operativni sistem će sada pozvati i preklop koji se zove "anyspi" i sloj koji se zove "w5500".

Sloj "anyspy" priprema operativni sistem za upotrebu 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 sistemu kako da postupi sa integrisanim kolom W5500 koje 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 različitim datotekama, poput ovog primjera koji se nalazi na GITHub -u.

== == ==

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

Korak 7: Ponovo smo pokrenuli sistem. Nadam se da se smijete

Ponovo smo pokrenuli sistem. Nadam se da se smijete
Ponovo smo pokrenuli sistem. Nadam se da se smijete
Ponovo smo pokrenuli sistem. Nadam se da se smijete
Ponovo smo pokrenuli sistem. Nadam se da se smijete

Ako je sve prošlo u redu, vaš RPi se trebao normalno ponovo pokrenuti. Smile.

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

Još jednom otvorite prozor "Command".

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

Vjerovatno ćete dobiti dugačak odgovor, pa ćete se morati pomaknuti nazad do vrha.

Povratak na vrh potražite dva odjeljka:

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

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

== == ==

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

Ovo sam testirao tako što sam isključio originalni port kabel 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 provjerite je li config.txt ispravno uređen i spremljen. Uvjerite se da su dva sloja na mjestu i da je pravopis ispravan (nema velikih slova gdje ih nemam - velika su slova važna u ovom sistemu).

== == ==

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 kormilarnice, 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 server ili je to zadani IP - nešto u rasponu: 169.254.xxx.yyy? Jel u pitanju nesto 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"? (obavezno odspojite originalni kabel porta ako to učinite - inače vas RPi može zavarati).

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

== == ==

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

Čini mi se da se prilikom svakog pokretanja dodjeljuje druga MAC adresa. Meni se to lično ne sviđa, pa se shodno tome mogu učiniti neke stvari za postavljanje Mac adrese (program "macchanger" na primjer ili postavljanje putem naredbi ip / ifconfig). Ako neko od vas pronađ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.. Kada potražim dobavljača Mac adrese za eth0 ==> b827eb, pojavljuje se kao Raspberry Pi Foundation. Dobavljač eth1 ==> fa9770 pojavljuje se kao nepoznat, pa je očigledno da je 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 projekat.

Ako imate bilo kakvih pitanja ili ste zainteresirani za kupovinu 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 "fasciklu sa preklapanjem" - potrebne za korake #4 i #5

Preporučuje se: