Kazalo:

V omrežje Raspberry Pi dodajte omrežna vrata WIZ820io / USR -ES1 - Wiznet W5500: 10 korakov
V omrežje Raspberry Pi dodajte omrežna vrata WIZ820io / USR -ES1 - Wiznet W5500: 10 korakov

Video: V omrežje Raspberry Pi dodajte omrežna vrata WIZ820io / USR -ES1 - Wiznet W5500: 10 korakov

Video: V omrežje Raspberry Pi dodajte omrežna vrata WIZ820io / USR -ES1 - Wiznet W5500: 10 korakov
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, November
Anonim
V omrežje Raspberry Pi dodajte omrežna vrata WIZ820io / USR -ES1 - Wiznet W5500
V omrežje Raspberry Pi dodajte omrežna vrata WIZ820io / USR -ES1 - Wiznet W5500

Delno zaradi zanimanja za nekaj takega, deloma pa zaradi zanimanja za Codesys sem že nekaj časa razmišljal, da bi poskusil povezati druga vrata vmesnika omrežja z Raspberry Pi. Medtem ko sem delal druge projekte, sem razmišljal, bral, primerjal, načrtoval in kupoval, da sem končno lahko nadaljeval in nekaj dogradil.

Ja - vem.. na voljo je nekaj pripravljenih sistemov na ključ, ki bi naredili kaj podobnega, vendar res nobeden od njih ni bil dovolj vabljiv, da bi me ločil od mojega denarja.

V resnici imam nizko raven znanja in izkušenj z Raspberry Pi in Linux / Raspberry Pi IOS (Raspian) (v svetu Windows in Android mi gre bolje), poglobljenega znanja o mreženju pa ne morem narediti (stvari lahko delujejo in graditi omrežja, vendar sem malo nad glavo) in šele sem začel izdelovati vezja. Zagotovo nisem programer.

Ko sem se končno odločil, da nadaljujem s to idejo, da bi kaj zgradil, in sem se odločil za uporabo modula WIZ820io / USR -ES1, ki temelji na integriranem vezju Wiznet - W5500. Ta modul lahko komunicira z Raspberry Pi (in drugimi MCU -ji) s standardnim vodilom SPI. Poleg tega deluje pri napetosti 3,3 V DC, zato predstavlja malico nevarnosti škode za moj Raspberry Pi.

Pri načrtovanju tiskanega vezja sem se odločil, da ga sestavim v ustrezni konfiguraciji "HAT" (oblika in zmogljivost), poleg tega, da sem dodal vezje za modul "WIZ820io, sem dodal še številne druge elemente, ki se v tem NE uporabljajo omrežni projekt, ki pa ga bom lahko in bom uporabil v prihodnje za druge projekte.

Plošča, ki sem jo oblikoval / izdelal, ima na sebi naslednje elemente.

1 - Vtičnica za vhodni modul Wiznet - "WIZ820io - Ethernet (za to sem naredil Eagle Footprint po meri)".

2 - Ventilator za hlajenje 30 mm - 5 VDC za CPE Raspberry Pi (za to sem naredil Eagle Footprint po meri).

3 - Pomnilniški čip "CAT24C32" za vzdrževanje zahtev glede združljivosti HAT (tega še nisem programiral) (za to sem naredil Eagle Design Block po meri).

4 - Mini MAX3232 - UART - pretvornik ravni TTL v RS -232, povezan z UART0 (za to sem naredil Eagle Footprint po meri).

5 - Rdeča LED (GPIO24), rumena LED (GPIO23) in zelena LED (GPIO22), ki se uporabljata za vaje programiranja semafor - Python.

6 - Zelena LED (GPIO18) in zelena LED (GPIO27) - za programiranje vaj in odpravljanje težav.

7 - Stikalo na dotik, priključeno na GPIO25 - za programiranje vaj in odpravljanje težav (za to sem naredil Eagle Footprint po meri). OPOMBA, da se bo ta GPIO uporabljal tudi z WIZ820io.

Kot sem že omenil, bo ta Instructable obravnaval samo postavko #1 na tem seznamu. Vsi drugi elementi, ki sem jih dodal na tablo, so tam iz drugih razlogov, ki niso povezani s tem projektom omrežnega vmesnika.

Zaloge

Raspberry Pi - Uporabil sem starejšo Raspberry Pi 3B. Nič ni narobe s tem. Moj ima mrtva vrata HDMI, zato ga s pomočjo TeamViewerja dostopam do njega "brez glave". Deluje. Močno sumim, da bo večina različic Raspberry Pi delovala s tem navodilom, Z DOVOLJENJEM, da lahko izvajajo novejše različice Raspberry Pi IOS (Raspian).

Preden sem vse to začel, sem seveda posodobil operacijski sistem:

sudo apt-get posodobitev

sudo apt-get nadgradnja

WIZ820io / USR -ES1 - Dokumentacija za to je na voljo na spletu pri proizvajalcu originalne opreme

PC Board - Uporabil sem Autodesk Eagle za oblikovanje tiskanega vezja in ustvarjanje Gerberjevih datotek, potrebnih za JLCPCB za izdelavo vezja. Kot sem že omenil, sem dodal tudi pomnilniški čip "CAT24C32" za vzdrževanje zahteve po združljivosti HAT.

1. korak: Raspberry Pi 3b

Malina Pi 3b
Malina Pi 3b

Kar zadeva Raspberry Pi, sem za ta projekt uporabil standardni Raspberry Pi 3b, skupaj z najnovejšo različico Raspberry Pi IOS (Raspian), ki sem jo lahko prenesel in namestil.

Tam ni nič posebnega. To enoto imam v lasti nekaj let in mi je večinoma dobro delovala (no - video izhod HDMI je mrtev, zato sem prisiljen teči brez glave z TeamViewerjem). Tega vam ni treba storiti.

Domnevam, da bi se moral vsak RPi povezati z WIZ820io / USR -ES1 - Wiznet W5500 in tako delovati, pa tudi mnoge druge blagovne znamke, ki tekmujejo na istem trgu (Beagle Bone, Orange, Tinker itd.) In uporabiti podobno model OS, ki temelji na Linuxu.

Nimam izkušenj z nobenim od teh. Imam malo izkušenj z malino - poglej, kam me je to pripeljalo:)

2. korak: Povezovanje modula Wiznet WIZ820io z vodilom Raspberry Pi GPIO

Povezovanje modula Wiznet WIZ820io z vodilom Raspberry Pi GPIO
Povezovanje modula Wiznet WIZ820io z vodilom Raspberry Pi GPIO
Povezovanje modula Wiznet WIZ820io z vodilom Raspberry Pi GPIO
Povezovanje modula Wiznet WIZ820io z vodilom Raspberry Pi GPIO
Povezovanje modula Wiznet WIZ820io z vodilom Raspberry Pi GPIO
Povezovanje modula Wiznet WIZ820io z vodilom Raspberry Pi GPIO

Preglejte priložene slike.

Modul Wiznet WIZ820io ponuja dve vrsti po 6 nožic za povezavo.

Vrstice so označene z "J1" in "J2".

Podatkovni list, ki ga ponujajo, ima zelo lep barvno kodiran diagram vsakega zatiča. Ta diagram vam je v pomoč pri povezovanju teh zatičev z zatiči Raspberry PI GPIO. Zelo dobro se ujemajo z imenom NAME za NAME.

Izpis Raspberry Pi lahko najdete tukaj: pinout.xyz

Te nožice sem povezal na naslednji način (glej priloženo sliko):

Seveda, ker sem izdelal dejansko vezje, so bili vsi temelji (GND) povezani skupaj. Enako velja za zatiče na 3.3V - moje vezje jih je povezalo skupaj.

Nekaj omembe vrednih..

1. - J2 Pin #5 - RSTn - To sem povezal z RPi GPIO #17 (Pin #11) - To je bilo previdno. Ne verjamem, da se uporablja.

2. - J1 Pin # 6 - INTn - To je povezano z GPIO25 (Pin # 22). To je potrebno, saj se bomo v koraku konfiguracije Raspberry Pi IOS sklicevali na to.

3. - J1- Pin # 5 - SCNn - To je povezano z Raspberry Pi "CS0" (Pin # 24). To modulu dejansko daje naslov "Modul 0" na vodilu RPi SPI. Ponovno se bomo v koraku konfiguracije Raspberry Pi IOS sklicevali na to.

3. korak: Moje vezje

Moje vezje
Moje vezje
Moje vezje
Moje vezje
Moje vezje
Moje vezje

Priložena je shema Eagle "Point to Point", ki sem jo sestavil in s katero sem ustvaril datoteke Gerber.

Priložene so tudi slike "vezja", ki sem ga sestavil za ta projekt.

Ta plošča bo sprejela številne različne izdelke Wiznet v slogu WIZ820io.

4. korak: Konfiguracija Raspberry Pi IOS (prej Raspian) - vnosi v mapo "zagon"

Konfiguracija Raspberry Pi IOS (prej Raspian) - vnosi v
Konfiguracija Raspberry Pi IOS (prej Raspian) - vnosi v

Da bi Raspberry Pi "videl" na novo nameščen modul WIZ820io na svojem vodilu SPI, je treba ozavestiti IOS, da se lahko z njim spopade med "BOOT Up".

Če želite to narediti, preprosto dodamo dve vrstici:../../boot/config.txt

Najprej.. Uporaba terminalskega podokna / okna ==> ls

cd../boot, se pomaknite do../boot in navedite (ls) imenik

Skličite se na priloženo sliko. Tam morate poiskati in potrditi prisotnost dveh vnosov - obkrožil sem jih rdeče.

Ena je datoteka z imenom "config.txt"

Druga je mapa z imenom: "prekrivanja"

== == == ==

Ko potrdite prisotnost obeh vnosov, lahko nadaljujete na naslednji korak

5. korak: Konfiguracija Raspberry Pi IOS (prej Raspian) - vnosi v imenik "prekrivni elementi"

Konfiguracija Raspberry Pi IOS (prej Raspian) - vnosi v
Konfiguracija Raspberry Pi IOS (prej Raspian) - vnosi v
Konfiguracija IOS (prej Raspian) Raspberry Pi - vnosi v
Konfiguracija IOS (prej Raspian) Raspberry Pi - vnosi v
Konfiguracija Raspberry Pi IOS (prej Raspian) - vnosi v
Konfiguracija Raspberry Pi IOS (prej Raspian) - vnosi v

Spremenite imenik v imenik "prekrivni elementi"

Vrsta: cd prekrivanja

Ko pritisnete tipko "enter", se boste preusmerili v mapo "overlays" (glejte priloženo sliko).

Navedite vsebino imenika.

Vrsta: ls

Ko pritisnete tipko "enter", bi morali videti dolg seznam vsebine tega imenika. Seznam je morda po abecedi.

(glej priložene slike (2 od)). Upoštevajte, da so skoraj VSE datoteke poimenovane z razširitvijo: *.dtbo, morda boste opazili tudi nekaj imenovanih z razširitvijo: *.dtb

To so VSE prekrivne datoteke "Drevo naprav"

Potrditi morate prisotnost dveh "prekrivnih" datotek (glejte priložene slikovne datoteke).

1. datoteka z imenom: anyspi.dtbo (za to boste morda morali uporabiti drsni trak na desnem robu okna, da se pomaknete nazaj na vrh in poiščete abecedno urejen anyspi.dtbo).

2. - datoteka z imenom w5500.dtbo

== == ==

Če lahko potrdite prisotnost obeh datotek, ste v dobri formi in se lahko vrnete v imenik../boot.

Vnesite: cd../, potem ko pritisnete tipko ENTER, se morate vrniti v imenik / boot.

Navedite imenik za potrditev: vnesite: ls in pritisnite tipko ENTER

Korak 6: Konfiguracija Raspberry Pi IOS (prej Raspian) - uredite datoteko z imenom: Config.txt

Konfiguracija IOS (prej Raspian) Raspberry Pi - uredite datoteko z imenom: Config.txt
Konfiguracija IOS (prej Raspian) Raspberry Pi - uredite datoteko z imenom: Config.txt
Konfiguracija IOS (prej Raspian) Raspberry Pi - uredite datoteko z imenom: Config.txt
Konfiguracija IOS (prej Raspian) Raspberry Pi - uredite datoteko z imenom: Config.txt
Konfiguracija IOS (prej Raspian) Raspberry Pi - uredite datoteko z imenom: Config.txt
Konfiguracija IOS (prej Raspian) Raspberry Pi - uredite datoteko z imenom: Config.txt

V imeniku../boot lahko zdaj naredimo nekaj manjših popravkov datoteke z imenom config.txt

Najprej bomo poklicali urejevalnik "nano" kot "super uporabnik" (sudo)

sudo = 'superkorisnik"

nano je urejevalnik besedil, ki ga bomo uporabljali

in kot je navedeno, je config.txt datoteka, ki jo želimo urediti.

Vnesite: sudo nano config.txt in pritisnite ENTER.

To bo odprlo urejevalnik in prikazalo vsebino datoteke config.txt. Če se urejevalnik ne odpre ali se odpre prazen, zapustite (če je v nano) in dvakrat preverite črkovanje.

Če je vse v redu, bi morali videti nekaj podobnega na drugi priloženi sliki. "nano" bo prikazal sam "vrh" datoteke. se morate pomakniti navzdol do samega dna.

Na dnu datoteke spodaj dodajte dve "izjavi dtoverlay":

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

Dvakrat preverite vse črkovanje in če se ujemata, pritisnite dve tipki "Ctrl-x" za izhod.. in ustrezno odgovorite, da shranite in zapustite.

== == == ==

Ob naslednjem zagonu (in za vsa ponovna zagona, če ti dve izjavi ostaneta tam) bo operacijski sistem zdaj poklical tudi prekrivni element z imenom "anyspi" in prekrivni element z imenom "w5500".

Prekrivni "anyspy" pripravlja operacijski sistem za uporabo vodila SPI0-0 (tam smo predhodno fizično povezali WIZ820io. "-0" ga določa za uporabo naslova "0"-spomnite se, da smo prej priključili pin WIZ820io #J1-6 za RPI GIPO "CEO" (Pin #24).

Prekrivanje "w5500" pove operacijskemu sistemu, kako ravnati z integriranim vezjem W5500, ki se nahaja v modulu WIZ820io. Določa tudi uporabo RPi GPIO25 (Pin #22) kot signal INTn. Še enkrat se spomnite, da smo že vzpostavili to povezavo.

Tovrstne informacije je mogoče najti v različnih datotekah, na primer ta primer na GITHubu.

== == ==

Čas je, da znova zaženete RPI in da vse to začne veljati.

7. korak: Ponovno smo zagnali. Upam, da ste nasmejani

Ponovno smo zagnali. Upam, da ste nasmejani
Ponovno smo zagnali. Upam, da ste nasmejani
Ponovno smo zagnali. Upam, da ste nasmejani
Ponovno smo zagnali. Upam, da ste nasmejani

Če je bilo vse v redu, bi se moral vaš RPi normalno znova zagnati. Nasmeh.

Čas je, da preverite, ali je IOS naložil dve novi prekrivni datoteki in ali prepozna priloženi modul WIZ820io.

Še enkrat odprite okno "Ukaz".

Tokrat ob pozivu vnesite ifconfig (ali uporabite novejši ukaz "ip") in pritisnite tipko Enter.

Verjetno boste dobili dolg odziv, zato se morate pomakniti nazaj na vrh.

Nazaj na vrhu poiščite dva odseka:

Enega po imenu eth0 in drugega po imenu eth1 - glej priloženo sliko.

V mojem sistemu je eth0 vrata Ethernet na RPI. eth1 je nova vrata WIZ820io Ethernet.

== == ==

Če vidite dve vrati, potem je tudi RPI. Opomba na priloženi sliki je eth1 poslal pakete in brez napak.

To sem preizkusil tako, da sem odklopil izvirni kabel vrat in z brskalnikom obiskal YouTube in druga spletna mesta. Deluje. Prav tako sem ga "pingal" z nekaj različnih naprav in deluje.

== == ==

Če ne vidite eth1 (ali kaj podobnega) - razen eth0 na RPI3 ali RPi4, se poskusite vrniti in dvakrat preveriti, ali je bil config.txt pravilno urejen in shranjen. Prepričajte se, da sta prekrivanja nameščena in da je črkovanje pravilno (brez velikih črk, če jih nimam - velike črke so pomembne v tem sistemu).

== == ==

Če sta prisotni dve vrati, bo morda potrebno še nekaj konfiguracijskega dela … na naslednji korak ….

8. korak: Konfiguracija Raspberry Pi IOS (prej Raspian) - nastavitev naslova IP

To je malo v moji hiši, zato trenutno ne morem svetovati.

Samo vedite, da obstaja nešteto spletnih mest, videoposnetkov v YouTubu in oglasnih desk, ki ponujajo tovrstne informacije.

ampak.. morda bi se želeli prijaviti in narediti nekaj stvari tukaj.

1 - Dvakrat preverite naslov IP, ki ga trenutno imajo vaša nova vrata. ali ga je dodelil vaš strežnik DHP ali je to privzeti IP - nekaj v razponu: 169.254.xxx.yyy? Je kaj drugega ??

2- Ali želite statični (fiksni) naslov IP ali dinamični naslov IP (ki ga dodeli vaš strežnik DHCP).

Preverite stikalo / usmerjevalnik, na katerega je povezan vaš RPI.. ali vidi vaša nova vrata? ali ga lahko "ping"? (če to storite, izključite originalni kabel vrat - sicer vas RPi lahko zavede).

Uporabite ifconfig (ali novejši ukaz "ip"), da preverite, ali so podatki, ki prihajajo in odhajajo, "normalni" (tako rekoč) in brez nepotrebnega števila napak.

== == ==

Nazadnje.. Verjamem, da w5500.dtbo modulu WIZ820io / W5500 dodeli naslov MAC.. vendar zagotovo ne morem reči, če se to zgodi tam. Nisem mogel takoj najti podrobnosti o tem.

Zdi se mi, da je vsakič, ko se zažene, dodeljen drugačen naslov MAC. Meni osebno to ni všeč in posledično je mogoče narediti nekaj za nastavitev naslova Mac (na primer program "macchanger" ali nastavitev prek ukazov ip / ifconfig). Če kdo od vas najde rešitev "boot-up" / "crontab" za to, bom vesel, kako to storite, če ste odprti za skupno rabo.

Mojega lahko vidite na sliki.. Ko poiščem prodajalca naslovov Mac za eth0 ==> b827eb, se prikaže kot Raspberry Pi Foundation. Prodajalec eth1 ==> fa9770 je neznan, zato je bil očitno v nekem trenutku ustvarjen na mojem Pi.

9. korak: Zaključek

Hvala, ker ste preverili to navodilo.

Skozi ta majhen projekt sem se precej naučil.

Če imate kakršna koli vprašanja ali pa ste zainteresirani za nakup ene od plošč, ki sem jih sestavil (poseljene ali ne), imam nekaj dodatkov, ki so naprodaj in o katerih se lahko pogovorimo.

V vsakem primeru vas pozivam, da pustite komentarje, predlagate popravke (tipkarske napake ali metode ali ??)

Zagotovo, če to naredite sami, bi bil zelo vesel, če vidim fotografije, kako ste se tega lotili, in vaše končne rezultate / namen.

Hvala.

P. S.: Hvala temu kolegu za napotke in ideje.

10. korak: Datoteke DTBO

Dve datoteki, ki ju želite dodati v mapo »prekrivni elementi« - potrebna za koraka 4 in 5

Priporočena: