Indholdsfortegnelse:

Tilføj en WIZ820io / USR -ES1 - Wiznet W5500 netværksport til din Raspberry Pi: 10 trin
Tilføj en WIZ820io / USR -ES1 - Wiznet W5500 netværksport til din Raspberry Pi: 10 trin

Video: Tilføj en WIZ820io / USR -ES1 - Wiznet W5500 netværksport til din Raspberry Pi: 10 trin

Video: Tilføj en WIZ820io / USR -ES1 - Wiznet W5500 netværksport til din Raspberry Pi: 10 trin
Video: Tilføj en smart flæse til dit favorit mønster 2024, November
Anonim
Føj en WIZ820io / USR -ES1 - Wiznet W5500 netværksport til din Raspberry Pi
Føj en WIZ820io / USR -ES1 - Wiznet W5500 netværksport til din Raspberry Pi

Dels på grund af min interesse for at gøre sådan noget, og dels på grund af min interesse for Codesys, har jeg haft det i tankerne i et stykke tid nu at prøve at forbinde en anden netværksinterface -port til en Raspberry Pi. Så mens jeg lavede andre projekter, har jeg tænkt, læst, sammenlignet, planlagt og handlet, så jeg endelig kunne gå videre og bygge noget op.

Ja - jeg ved.. der er et par "turn -key" klar til at gå -systemer til rådighed derude, hvad der ville gøre noget lignende, men virkelig ingen af dem var lokkende nok til at adskille mig fra mine penge.

I virkeligheden har jeg et lavt niveau af viden og erfaring om Raspberry Pi og Linux / Raspberry Pi IOS (Raspian) (jeg klarer mig bedre i Windows- og Android-verdener), ingen indgående kendskab til netværk (jeg kan få tingene til at fungere og bygge netværk, men udover det er jeg lidt over hovedet), og jeg er kun lige begyndt at lave kredsløb. Jeg er bestemt ikke en programmør.

Når jeg endelig besluttede at gå videre med denne idé om at bygge noget op, og valgte at bruge WIZ820io / USR -ES1 -modulet, som er baseret på Wiznet - W5500 integreret kredsløb. Dette modul kan kommunikere med Raspberry Pi (og andre MCU'er) ved hjælp af standard SPI -bussen. Derudover kører den på 3,3 VDC, så det udgør NUL skader på min Raspberry Pi.

Ved design af kredsløbskortet valgte jeg at bygge det i en ordentlig "HAT" -konfiguration (form og kapacitet), og ud over at tilføje kredsløbet til "WIZ820io -modulet tilføjede jeg også en række andre emner, som IKKE bruges i dette netværksprojekt, men som jeg kan og vil blive brugt til andre projekter i fremtiden.

Tavlen jeg designede / byggede har følgende emner på sig.

1 - En stikkontakt til opbevaring af Wiznet - WIZ820io - Ethernet -portmodul (jeg lavede et tilpasset Eagle Footprint til dette).

2 - En 30 mm - 5 VDC køleventilator til Raspberry Pi CPU (jeg lavede et tilpasset Eagle Footprint til dette).

3 - En "CAT24C32" Memory Chip for at opretholde HAT -kompatibilitetskrav (dette er endnu ikke programmeret af mig) (jeg lavede en tilpasset Eagle Design Block til dette).

4 - En mini MAX3232 - UART - TTL til RS -232 niveauomformer tilsluttet UART0 (jeg lavede et tilpasset Eagle Footprint til dette).

5 - En rød LED (GPIO24), en gul LED (GPIO23) og en grøn LED (GPIO22), der skal bruges til trafiklys - Python -programmeringsøvelser.

6 - En grøn LED (GPIO18) og en grøn LED (GPIO27) - til programmeringsøvelser og fejlfinding.

7 - En taktil switch forbundet til GPIO25 - til programmeringsøvelser og fejlfinding (jeg lavede et tilpasset Eagle Footprint til dette). BEMÆRK, at denne GPIO også vil blive brugt med WIZ820io.

Så som jeg tidligere har bemærket, vil denne instruktør kun behandle punkt #1 på denne liste. Alle andre ting, som jeg tilføjede på tavlen, er der af andre årsager, der ikke er relateret til dette Network Interface -projekt.

Forbrugsvarer

Raspberry Pi - Jeg brugte en ældre Raspberry Pi 3B. Intet galt med det.. Min har en død HDMI -port, så jeg kører den "hovedløs" ved hjælp af TeamViewer for at få adgang til den. Det virker. Jeg formoder stærkt, at de fleste versioner af Raspberry Pi'er vil fungere sammen med denne Instructable GIVENDE, at de kan køre nyere versioner af Raspberry Pi IOS (Raspian).

Inden jeg startede alt dette, opdaterede jeg selvfølgelig operativsystemet:

sudo apt-get opdatering

sudo apt-get opgradering

WIZ820io / USR -ES1 - Dokumentationen til dette er tilgængelig online fra OEM

PC Board - Jeg brugte Autodesk Eagle til at designe printkortet med og generere de Gerber -filer, der er nødvendige for JLCPCB at bygge kredsløbskortet med. Som tidligere bemærket tilføjede jeg også "CAT24C32" Memory Chip for at opretholde HAT -kompatibilitetskravet.

Trin 1: Raspberry Pi 3b

Raspberry Pi 3b
Raspberry Pi 3b

Hvad angår Raspberry Pi, lavede jeg dette projekt ved hjælp af en standard Raspberry Pi 3b sammen med den nyeste version af Raspberry Pi IOS (Raspian), som jeg kunne downloade og installere.

Intet særligt der. Jeg har ejet denne enhed i et par år, og det fungerede mest godt for mig (tja - HDMI -videoudgangen er død, så jeg er tvunget til at køre hovedløs ved hjælp af TeamViewer). Du skulle ikke behøve at gøre dette.

Jeg formoder, at enhver RPi skal være i stand til at oprette forbindelse til en WIZ820io / USR -ES1 - Wiznet W5500 og få dette til at fungere, såvel som mange andre mærker konkurrerer på det samme marked (Beagle Bone, Orange, Tinker osv.) Og bruge en lignende model Linux baseret OS.

Jeg har NUL erfaring med nogen af dem. Jeg har lidt erfaring med hindbær - se hvor det har bragt mig:)

Trin 2: Tilslutning af Wiznet WIZ820io -modulet til Raspberry Pi GPIO Bus

Tilslutning af Wiznet WIZ820io -modulet til Raspberry Pi GPIO -bussen
Tilslutning af Wiznet WIZ820io -modulet til Raspberry Pi GPIO -bussen
Tilslutning af Wiznet WIZ820io -modulet til Raspberry Pi GPIO -bussen
Tilslutning af Wiznet WIZ820io -modulet til Raspberry Pi GPIO -bussen
Tilslutning af Wiznet WIZ820io -modulet til Raspberry Pi GPIO -bussen
Tilslutning af Wiznet WIZ820io -modulet til Raspberry Pi GPIO -bussen

Gennemgå de vedhæftede billeder.

Wiznet WIZ820io -modulet indeholder to rækker med 6 ben hver til interface til.

Rækkerne er mærket henholdsvis "J1 og" J2 ".

Dataarket, de giver, har et meget flot farvekodet diagram over hver pin. Dette diagram er beregnet til at hjælpe dig med at forbinde disse ben til dine Raspberry PI GPIO -ben. De er ret godt et NAME for NAME match.

Raspberry Pi pinout kan han finde her: pinout.xyz

Jeg tilsluttede disse ben som følger (se vedhæftede billede):

Siden jeg lavede et egentligt printkort, var alle Grounds (GND) naturligvis forbundet med hinanden. Det samme gælder for til 3,3V stifter - mit printkort forbandt dem sammen.

Et par ting at bemærke..

1. - J2 Pin #5 - RSTn - Jeg tilsluttede det til RPi GPIO #17 (Pin #11) - Det var forsigtigt. Jeg tror ikke, at det bruges.

2. - J1 Pin # 6 - INTn - Det er forbundet til GPIO25 (Pin # 22). Dette er påkrævet, da vi i Raspberry Pi IOS -konfigurationstrinnet vil henvise til dette.

3. - J1- Pin # 5 - SCNn - Det er forbundet til Raspberry Pi "CS0" (Pin # 24). Det giver effektivt dette modul adressen på "Modul 0" på RPi SPI -bussen. Igen, i Raspberry Pi IOS -konfigurationstrinnet, vil vi henvise til dette.

Trin 3: Mit printkort

Mit printkort
Mit printkort
Mit printkort
Mit printkort
Mit printkort
Mit printkort

Vedhæftet er Eagle "Point to Point" skematisk, jeg lavede, og som jeg genererede Gerber Files med.

Der er også vedhæftet billeder af "Circuit Board", jeg havde lavet til dette projekt.

Dette bord accepterer en række forskellige Wiznet -produkter af WIZ820io -stil.

Trin 4: Raspberry Pi IOS (tidligere Raspian) -konfiguration - poster i "boot" -mappen

Raspberry Pi IOS (tidligere Raspian) -konfiguration - poster i
Raspberry Pi IOS (tidligere Raspian) -konfiguration - poster i

For at Raspberry Pi kan "se" det nyinstallerede WIZ820io -modul på sin SPI -bus, skal IOS gøres opmærksom på det, så det kan håndtere det under "BOOT Up".

For at gøre dette tilføjer vi ganske enkelt to linjer til:../../boot/config.txt

Først.. Brug af en terminalrude / vindue ==> ls

cd../boot, naviger dig frem til../boot og angiv (ls) biblioteket

Henvis til det vedhæftede billede.. Der skal du kigge efter og bekræfte tilstedeværelsen af to poster - jeg har rundet dem med rødt.

Den ene er en fil med navnet: "config.txt"

Den anden er en mappe med navnet: "overlejringer"

== == == ==

Når du har bekræftet tilstedeværelsen af begge disse poster, kan du fortsætte til næste trin

Trin 5: Raspberry Pi IOS (tidligere Raspian) konfiguration - poster i "overlays" biblioteket

Raspberry Pi IOS (tidligere Raspian) -konfiguration - poster i
Raspberry Pi IOS (tidligere Raspian) -konfiguration - poster i
Raspberry Pi IOS (tidligere Raspian) -konfiguration - poster i
Raspberry Pi IOS (tidligere Raspian) -konfiguration - poster i
Raspberry Pi IOS (tidligere Raspian) -konfiguration - poster i
Raspberry Pi IOS (tidligere Raspian) -konfiguration - poster i

Skift bibliotek til "overlays" bibliotek"

Type: cd -overlejringer

Efter at have slået "enter" -tasten, vil det føre dig til mappen "overlejringer" (se vedhæftede billede).

Angiv indholdet i biblioteket.

Type: ls

Efter at du har trykket på "enter" -tasten, skal du se en lang liste over indholdet i den pågældende mappe. Opførelsen er måske alfabetisk.

(se vedhæftede billeder (2 af)). Bemærk, at næsten ALLE filerne er navngivet med en udvidelse af: *.dtbo, du vil muligvis også bemærke et par navngivne med en udvidelse af: *.dtb

Disse er ALLE "Device Tree" overlay -filer

Du skal bekræfte tilstedeværelsen af to "overlay" -filer (se vedhæftede billedfiler).

1. - en fil med navnet: anyspi.dtbo (for denne skal du muligvis bruge rullepanelet i vinduet til højre for at rulle tilbage til toppen og finde den alfabetisk ordnede anyspi.dtbo).

2. - en fil med navnet w5500.dtbo

== == ==

Hvis du kan bekræfte, at begge disse filer er til stede, er du i god form og kan vende tilbage til biblioteket../boot.

Type: cd../ efter at have slået ENTER -tasten, skal du tages tilbage til / boot -biblioteket.

Angiv biblioteket for at bekræfte: skriv: ls og tryk på ENTER -tasten

Trin 6: Raspberry Pi IOS (tidligere Raspian) -konfiguration - Rediger fil med navn: Config.txt

Raspberry Pi IOS (tidligere Raspian) konfiguration - Rediger fil med navn: Config.txt
Raspberry Pi IOS (tidligere Raspian) konfiguration - Rediger fil med navn: Config.txt
Raspberry Pi IOS (tidligere Raspian) -konfiguration - Rediger fil med navn: Config.txt
Raspberry Pi IOS (tidligere Raspian) -konfiguration - Rediger fil med navn: Config.txt
Raspberry Pi IOS (tidligere Raspian) -konfiguration - Rediger fil med navn: Config.txt
Raspberry Pi IOS (tidligere Raspian) -konfiguration - Rediger fil med navn: Config.txt

I biblioteket../boot kan vi nu arbejde med at foretage et par små redigeringer af filen ved navn: config.txt

Vi vil først kalde "nano" -editoren som en "superbruger" (sudo)

sudo = 'superbruger'

nano er den teksteditor, vi vil bruge

og som nævnt er config.txt den fil, vi vil redigere.

Skriv: sudo nano config.txt og tryk ENTER.

Dette åbner editoren og viser indholdet af filen config.txt. Hvis editoren ikke åbner, eller åbner tom, skal du afslutte (hvis i nano) og dobbelttjekke din stavning.

Hvis alt gik godt, skulle du se noget som i det andet vedhæftede billede. "nano" viser selve "toppen" af filen. du skal rulle ned til bunden.

Helt i bunden af filen tilføjes de to "dtoverlay -sætninger" herunder:

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

Dobbelttjek al stavning, og hvis den matcher, skal du trykke på de to taster "Ctrl-x" for at afslutte.. og svare passende for at gemme og afslutte.

== == == ==

Ved den næste opstart (og for alle boot-ups bagefter, hvis disse to udsagn forbliver der), vil operativsystemet nu også kalde på overlayet med navnet "anyspi" og overlayet med navnet "w5500".

Overlayet "anyspy" forbereder operativsystemet til at bruge SPI0-0-bussen (det var her, vi tidligere fysisk tilsluttede WIZ820io til. "-0" angiver, at den skal bruge adressen "0"-husk, at vi tidligere har tilsluttet WIZ820io-stiften #J1-6 til RPi GIPO "CEO" (Pin #24).

Overlayet "w5500" fortæller operativsystemet, hvordan det skal håndtere det integrerede W5500 -kredsløb, der er placeret i WIZ820io -modulet. Det definerer også at bruge RPi GPIO25 (Pin #22) som INTn -signalet. Husk endnu en gang, at vi tidligere har oprettet denne forbindelse.

Denne form for information kan findes i forskellige filer, ligesom dette eksempel findes på GITHub.

== == ==

Tid til at genstarte RPI'en og få alt dette til at træde i kraft.

Trin 7: Vi har genstartet. Jeg håber du smiler

Vi har genstartet. Jeg håber du smiler
Vi har genstartet. Jeg håber du smiler
Vi har genstartet. Jeg håber du smiler
Vi har genstartet. Jeg håber du smiler

Hvis alt gik godt, skulle din RPi have genstartet normalt. Smil.

Tid til at kontrollere, om IOS indlæste de to nye overlay -filer, og om den genkender det vedhæftede WIZ820io -modul.

Åbn igen et "Kommando" -vindue.

Denne gang ved prompten skal du skrive ifconfig (eller brug den nyere "ip" -kommando), og slå Enter -tasten.

Du får sandsynligvis et langt svar, så du skal rulle tilbage til toppen.

Tilbage øverst skal du kigge efter de to sektioner:

Den ene hed eth0, og den anden hedder: eth1 - se vedhæftede billede.

I mit system er eth0 Ethernet -porten på RPI'en. eth1 er den nye WIZ820io Ethernet -port.

== == ==

Hvis du ser de to porte, så er RPI'en det også. Bemærk i det vedhæftede billede, eth1 har sendt pakker og uden fejl.

Jeg har testet dette ved at afbryde det originale portkabel og bruge browseren til at gå til YouTube og andre websteder. Det virker. Jeg har også "ping'et" det fra et par forskellige enheder, og det virker.

== == ==

Hvis du ikke ser eth1 (eller noget lignende) - andet end eth0 på en RPI3 eller RPi4, så prøv at gå tilbage og dobbelttjekke, at config.txt var korrekt redigeret og gemt. Sørg for, at de to overlejringer er på plads, og stavningen er korrekt (ingen store bogstaver, hvor jeg ikke har dem - store bogstaver betyder noget i dette system).

== == ==

Hvis de to porte er til stede, er der muligvis lidt mere konfigurationsarbejde at gøre… videre til næste trin….

Trin 8: Raspberry Pi IOS (tidligere Raspian) -konfiguration - Indstilling af IP -adresse

Dette er lidt ude af mit hjulhus, så på nuværende tidspunkt kan jeg ikke give vejledning.

Bare ved, at der er utallige websteder, YouTube -videoer og opslagstavler, der giver denne form for information.

men.. du vil måske kontrollere og gøre et par ting her.

1 - Dobbelttjek den IP -adresse, som din nye port i øjeblikket har. blev det tildelt af din DHP -server, eller er det standard -IP - noget i området: 169.254.xxx.yyy? Er det noget andet ??

2- Vil du have en statisk (fast) IP-adresse eller en dynamisk IP-adresse (tildelt af din DHCP-server).

Kontroller kontakten / routeren, som din RPI er forbundet til.. ser den din nye port? kan det "pinge" det? (sørg for at afbryde det originale portkabel, hvis du gør dette - ellers kan RPi narre dig).

Brug ifconfig (eller den nyere "ip" -kommando) for at se, at de data, der kommer og går, ser "normale" (så at sige ud) og uden et unødigt antal fejl.

== == ==

Endelig.. Jeg tror, at det er w5500.dtbo, der tildeler WIZ820io / W5500 -modulet en MAC -adresse.. men jeg kan ikke med sikkerhed sige, om det er dér, det sker. Jeg kunne ikke umiddelbart finde detaljer om det.

For mig ser det ud til, at der tildeles en anden MAC -adresse hver gang den starter op. Jeg kan personligt ikke lide det, og derfor er der ting, der kan gøres for at indstille Mac -adressen (f.eks. Programmet "macchanger" eller indstille det via ip / ifconfig -kommandoerne). Hvis nogen af jer finder en "boot-up" / "crontab" løsning på dette, ville jeg blive glad for at høre om, hvordan du gør det, hvis du er åben for deling.

Du kan se min på billedet.. Når jeg leder Mac-adresseleverandøren efter eth0 ==> b827eb, kommer den op som Raspberry Pi Foundation. Leverandøren til eth1 ==> fa9770 opstår som ukendt, så det blev naturligvis genereret på min Pi på et tidspunkt.

Trin 9: Konklusion

Tak fordi du tjekkede denne Instructable.

Jeg lærte en del at arbejde igennem dette lille projekt.

Hvis du har spørgsmål eller er interesseret i at købe et af de bestyrelser, jeg har lavet (befolket eller ej), har jeg nogle ekstraudstyr, der er til salg, og som vi kan diskutere.

Under alle omstændigheder opfordrer jeg dig til at efterlade kommentarer, foreslå rettelser (stavefejl eller metoder eller ??)

Helt sikkert, hvis du laver dette selv, ville jeg være meget glad for at se fotos af hvordan du tacklede det, og dine slutresultater / formål.

Tak.

PS: Tak til denne fyr for vejledning og ideer.

Trin 10: DTBO -filer

To filer, der skal tilføjes til din overlejringsmappe - påkrævet til trin #4 og #5

Anbefalede: