INHOUDSOPGAWE:

Voeg 'n WIZ820io / USR -ES1 - Wiznet W5500 netwerkpoort by u Framboos Pi: 10 stappe
Voeg 'n WIZ820io / USR -ES1 - Wiznet W5500 netwerkpoort by u Framboos Pi: 10 stappe

Video: Voeg 'n WIZ820io / USR -ES1 - Wiznet W5500 netwerkpoort by u Framboos Pi: 10 stappe

Video: Voeg 'n WIZ820io / USR -ES1 - Wiznet W5500 netwerkpoort by u Framboos Pi: 10 stappe
Video: En Vogue (with Salt-N-Pepa) - Whatta Man (Official Music Video) 2024, November
Anonim
Voeg 'n WIZ820io / USR -ES1 - Wiznet W5500 netwerkpoort by u Raspberry Pi
Voeg 'n WIZ820io / USR -ES1 - Wiznet W5500 netwerkpoort by u Raspberry Pi

Deels as gevolg van my belangstelling om so iets te doen, en deels as gevolg van my belangstelling in Codesys, het ek dit al 'n rukkie in gedagte om 'n tweede netwerkinterface -poort aan te sluit op 'n Raspberry Pi. So terwyl ek ander projekte doen, het ek gedink, gelees, vergelyk, beplan en inkopies gedoen, sodat ek uiteindelik kon voortgaan en iets kon opbou.

Ja - ek weet.. daar is 'n paar 'turn -key' gereed -vir -stelsels beskikbaar wat soortgelyke dinge sou doen, maar nie een van hulle was aanloklik genoeg om my van my geld te skei nie.

In werklikheid het ek 'n lae kennis en ervaring oor die Raspberry Pi en Linux / Raspberry Pi IOS (Raspian) (ek vaar beter in die Windows- en Android-wêrelde), geen grondige kennis van netwerk nie (ek kan dinge laat werk en netwerke bou, maar verder is ek 'n bietjie oor my kop), en ek het pas begin om stroombane te maak. Ek is beslis nie 'n programmeerder nie.

Toe ek uiteindelik besluit het om voort te gaan met hierdie idee om iets op te bou, het ek besluit om die WIZ820io / USR -ES1 -module te gebruik, wat gebaseer is op die Wiznet - W5500 geïntegreerde stroombaan. Hierdie module kan met die Raspberry Pi (en ander MCU's) kommunikeer met behulp van die standaard SPI -bus. Boonop loop dit op 3,3 VDC, so dit hou NUL skade in vir my Raspberry Pi.

By die ontwerp van die printplaat het ek gekies om dit in die regte "HAT" -konfigurasie (vorm en vermoë) te bou, en benewens die byvoeging van die stroombane vir die "WIZ820io -module, het ek ook 'n aantal ander items bygevoeg wat NIE hierin gebruik word nie netwerkprojek, maar wat ek vir ander projekte in die toekoms kan en sal gebruik.

Die bord wat ek ontwerp / gebou het, bevat die volgende items.

1 - 'n Sok om die Wiznet - WIZ820io - Ethernet -poortmodule te hou (ek het 'n pasgemaakte Eagle Footprint hiervoor gemaak).

2 - 'n Koelwaaier van 30 mm - 5 VDC vir die Raspberry Pi -SVE (ek het 'n pasgemaakte Eagle Footprint hiervoor gemaak).

3 - 'n "CAT24C32" geheue -chip om die vereistes vir HAT -versoenbaarheid te handhaaf (dit is nog nie deur my geprogrammeer nie) (ek het 'n pasgemaakte Eagle Design Block hiervoor gemaak).

4 - 'n Mini MAX3232 - UART - TTL na RS -232 -vlakomskakelaar wat aan UART0 gekoppel is (ek het 'n pasgemaakte Eagle Footprint hiervoor gemaak).

5 - 'n Rooi LED (GPIO24), 'n geel LED (GPIO23) en 'n groen LED (GPIO22) wat gebruik moet word vir Traffic Light - Python -programmeeroefeninge.

6 - 'n Groen LED (GPIO18) en 'n groen LED (GPIO27) - vir die programmering van oefeninge en probleemoplossing.

7 - 'n Taktiele skakelaar wat gekoppel is aan GPIO25 - vir programmeringsoefeninge en probleemoplossing (ek het 'n pasgemaakte Eagle Footprint hiervoor gemaak). LET WEL dat hierdie GPIO ook saam met die WIZ820io gebruik sal word.

Soos ek vroeër opgemerk het, sal hierdie instruksie slegs betrekking hê op item #1 op hierdie lys. Alle ander items wat ek op die bord bygevoeg het, is daar om ander redes wat nie verband hou met hierdie netwerkinterface -projek nie.

Voorrade

Raspberry Pi - Ek het 'n ouer Raspberry Pi 3B gebruik. Niks daarmee verkeerd nie. Myne het wel 'n dooie HDMI -poort, so ek gebruik dit "koploos" met behulp van TeamViewer om toegang te verkry. Dit werk. Ek vermoed sterk dat die meeste weergawes van Raspberry Pi saam met hierdie instruksies sal werk, MITS dat hulle meer onlangse weergawes van Raspberry Pi IOS (Raspian) kan gebruik.

Voordat ek hiermee begin het, het ek natuurlik die bedryfstelsel opgedateer:

sudo apt-get update

sudo apt-get upgrade

WIZ820io / USR -ES1 - Die dokumentasie hiervoor is aanlyn beskikbaar by die OEM

PC Board - Ek het Autodesk Eagle gebruik om die PCB te ontwerp en die Gerber -lêers te genereer wat nodig is vir JLCPCB om die printplaat mee te bou. Soos voorheen opgemerk, het ek ook 'CAT24C32' Memory Chip bygevoeg om die vereiste vir HAT -verenigbaarheid te handhaaf.

Stap 1: Framboos Pi 3b

Framboos Pi 3b
Framboos Pi 3b

Wat die Raspberry Pi betref, het ek hierdie projek gemaak met 'n standaard Raspberry Pi 3b, saam met die nuutste weergawe van Raspberry Pi IOS (Raspian) wat ek kan aflaai en installeer.

Niks besonders daar nie. Ek besit die eenheid al 'n paar jaar, en dit werk meestal goed vir my (wel - die HDMI -video -uitset is dood, so ek word verplig om koploos te werk met TeamViewer). U hoef dit nie te hoef te doen nie.

Ek vermoed dat enige RPi aan 'n WIZ820io / USR -ES1 - Wiznet W5500 moet kan koppel en dit kan laat werk, sowel as baie ander handelsmerke in dieselfde mark meeding (Beagle Bone, Orange, Tinker, ens.) model Linux gebaseerde bedryfstelsel.

Ek het NUL ondervinding met enige van die. Ek het min ervaring met die Framboos - kyk waar het dit my gebring:)

Stap 2: Koppel die Wiznet WIZ820io -module aan die Raspberry Pi GPIO -bus

Koppel die Wiznet WIZ820io -module aan die Raspberry Pi GPIO -bus
Koppel die Wiznet WIZ820io -module aan die Raspberry Pi GPIO -bus
Koppel die Wiznet WIZ820io -module aan die Raspberry Pi GPIO -bus
Koppel die Wiznet WIZ820io -module aan die Raspberry Pi GPIO -bus
Koppel die Wiznet WIZ820io -module aan die Raspberry Pi GPIO -bus
Koppel die Wiznet WIZ820io -module aan die Raspberry Pi GPIO -bus

Gaan die aangehegte beelde na.

Die Wiznet WIZ820io -module bied twee rye van 6 penne om aan te koppel.

Die rye is onderskeidelik "J1 en" J2 "gemerk.

Die gegewensblad wat hulle verskaf, het 'n baie mooi kleurgekodeerde diagram van elke pen. Hierdie diagram is bedoel om u te help om die penne aan u Raspberry PI GPIO -penne te koppel. Hulle is redelik 'n NAME vir NAME -wedstryd.

Die Raspberry Pi pinout kan hy hier vind: pinout.xyz

Ek het die penne soos volg verbind (sien aangehegte prentjie):

Aangesien ek 'n werklike printplaat gemaak het, was alle Grounds (GND) natuurlik met mekaar verbind. Dieselfde geld vir die penne van 3.3V - my printplaat het dit verbind.

'N Paar opmerkings..

1ste - J2 Pin #5 - RSTn - ek het dit gekoppel aan RPi GPIO #17 (Pin #11) - dit was versigtig. Ek glo nie dat dit gebruik word nie.

2de - J1 Pin # 6 - INTn - Dit is gekoppel aan GPIO25 (Pin # 22). Dit is nodig, aangesien ons in die Raspberry Pi IOS -konfigurasiestap hierna verwys.

3de - J1- Pin # 5 - SCNn - Dit is gekoppel aan die Raspberry Pi "CS0" (Pin # 24). Dit gee hierdie module effektief die adres van "Module 0" op die RPi SPI Bus. Weereens, in die Raspberry Pi IOS -konfigurasiestap, verwys ons hierna.

Stap 3: My stroombaan

My stroombaan
My stroombaan
My stroombaan
My stroombaan
My stroombaan
My stroombaan

Aangeheg is die Eagle "Point to Point" skema wat ek gemaak het en waarmee ek die Gerber Files gegenereer het.

Aangeheg is ook foto's van die "stroombaan" wat ek vir hierdie projek gemaak het.

Hierdie bord aanvaar 'n aantal verskillende Wiznet -produkte van die WIZ820io -styl.

Stap 4: Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die "opstart" -map

Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die

Vir die Raspberry Pi om die nuut geïnstalleerde WIZ820io -module op die SPI -bus te 'sien', moet die IOS daarvan bewus gemaak word, sodat dit dit kan hanteer tydens 'BOOT Up'.

Om dit te doen, voeg ons eenvoudig twee reëls by:../../boot/config.txt

Eerstens.. Met behulp van 'n Terminal -venster / venster ==> ls

cd../boot, navigeer na../boot en gee 'n lys van die gids

Verwys na die aangehegte prentjie. Daar moet u die teenwoordigheid van twee inskrywings soek en bevestig - ek het dit in rooi omring.

Die een is 'n lêer met die naam: "config.txt"

Die tweede is 'n gids met die naam: "oorlegsels"

== == == ==

Nadat u die teenwoordigheid van albei hierdie inskrywings bevestig het, kan u voortgaan met die volgende stap

Stap 5: Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die 'overlays' -gids

Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die

Verander gids na die "oorlegsels" gids"

Tipe: cd -oorlegsels

Nadat u op die "enter" -toets gedruk het, word u na die "overlays" -map geneem (sien aangehegte prentjie).

Maak 'n lys van die inhoud van die gids.

Tipe: ls

Nadat u op die "enter" -toets gedruk het, moet u 'n lang lys van die inhoud van die gids sien. Die lys kan alfabeties wees.

(sien aangehegte beelde (2 van)). Let op dat byna AL die lêers 'n uitbreiding van: *.dtbo genoem het, en u kan ook 'n paar met die naam: *.dtb sien

Dit is ALLE "Device Tree" -oorlêers

U moet die teenwoordigheid van twee "overlay" lêers bevestig (sien aangehegte prentlêers).

1ste - 'n lêer met die naam: anyspi.dtbo (vir hierdie een moet u die skuifbalk in die regterkant van die venster gebruik om terug na bo te blaai en die anyspi.dtbo in alfabetiese volgorde te vind).

2de - 'n lêer met die naam w5500.dtbo

== == ==

As u kan bevestig dat albei hierdie lêers teenwoordig is, is u in goeie toestand en kan u terugkeer na die../boot -gids.

Tik: cd../ nadat u die ENTER -sleutel ingedruk het, moet u na die / boot -gids teruggebring word.

Maak 'n lys van die gids om te bevestig: tik: ls en druk die ENTER -sleutel

Stap 6: Raspberry Pi IOS (voorheen Raspian) -konfigurasie - wysig lêer met die naam: Config.txt

Raspberry Pi IOS (voorheen Raspian) -konfigurasie - wysig lêer met die naam: Config.txt
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - wysig lêer met die naam: Config.txt
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - wysig lêer met die naam: Config.txt
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - wysig lêer met die naam: Config.txt
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - wysig lêer met die naam: Config.txt
Raspberry Pi IOS (voorheen Raspian) -konfigurasie - wysig lêer met die naam: Config.txt

In die../boot -gids kan ons nou 'n paar klein wysigings aanbring vir die lêer met die naam: config.txt

Ons sal eers die "nano" -redakteur aanroep as 'n 'supergebruiker' (sudo)

sudo = 'supergebruiker'

nano is die teksredakteur wat ons sal gebruik

en soos opgemerk, config.txt is die lêer wat ons wil wysig.

Tik: sudo nano config.txt en druk ENTER.

Dit sal die redakteur oopmaak en die inhoud van die config.txt -lêer vertoon. As die redakteur nie oopmaak of leeg oopmaak nie, verlaat dan (indien in nano) en kyk weer na u spelling.

As alles goed verloop, moet u iets soos in die tweede aangehegte prentjie sien. 'nano' sal die heel 'boonste' van die lêer vertoon. jy moet na onder toe blaai.

Voeg heel onder in die lêer die twee 'dtoverlay -stellings' hieronder:

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

Kontroleer alle spelling, en as dit ooreenstem, druk die twee sleutels "Ctrl-x" om af te sluit.. en beantwoord gepas om op te slaan en te verlaat.

== == == ==

By die volgende opstart (en vir alle opstartprogramme daarna as die twee stellings daar bly) sal die bedryfstelsel ook die oorlaag met die naam "anyspi" en die oorlaag met die naam "w5500" aanroep.

Die "anyspy" -bedekking berei die bedryfstelsel voor om die SPI0-0-bus te gebruik (dit is waarheen ons voorheen die WIZ820io fisies gekoppel het. Die "-0" spesifiseer dit om adres "0" te gebruik-onthou dat ons voorheen die WIZ820io-pen verbind het #J1-6 aan die RPi GIPO "CEO" (pen 24).

Die oorlaag "w5500" vertel die bedryfstelsel hoe om te gaan met die W5500 geïntegreerde stroombaan in die WIZ820io -module. Dit definieer ook die gebruik van RPi GPIO25 (Pin #22) as die INTn -sein. Onthou nogmaals dat ons voorheen hierdie verbinding gemaak het.

Hierdie soort inligting kan in verskillende lêers gevind word, soos hierdie voorbeeld op GITHub.

== == ==

Tyd om die RPI te herlaai en dit alles in werking te stel.

Stap 7: Ons het weer begin. Ek hoop jy glimlag

Ons het weer begin. Ek hoop jy glimlag
Ons het weer begin. Ek hoop jy glimlag
Ons het weer begin. Ek hoop jy glimlag
Ons het weer begin. Ek hoop jy glimlag

As alles goed verloop, moes u RPi normaalweg weer begin het. Glimlag.

Tyd om te kyk of die IOS die twee nuwe oorleglêers gelaai het en of dit die aangehegte WIZ820io -module herken.

Maak weer 'n "Command" venster oop.

Tik hierdie keer op die prompt ifconfig (of gebruik die nuwer "ip" -opdrag) en druk die Enter -sleutel.

U sal waarskynlik 'n lang antwoord kry, dus u moet terugblaai na bo.

Terug bo, soek die twee afdelings:

Een met die naam eth0, en die tweede met die naam: eth1 - sien aangehegte prent.

In my stelsel is eth0 die Ethernet -poort op die RPI. eth1 is die nuwe WIZ820io Ethernet -poort.

== == ==

As u die twee poorte sien, is die RPI ook so. Let op die aangehegte prentjie, eth1 het pakkies gestuur en sonder foute.

Ek het dit getoets deur die oorspronklike poortkabel te ontkoppel en die blaaier te gebruik om na YouTube en ander webwerwe te gaan. Dit werk. Ek het dit ook vanaf 'n paar verskillende toestelle "geping" en dit werk.

== == ==

As u eth1 (of iets soortgelyks) nie sien nie - behalwe eth0 op 'n RPI3 of RPi4, probeer dan terug en kyk of die config.txt behoorlik gewysig en gestoor is. Maak seker dat die twee oorlegsels in plek is en dat die spelling korrek is (geen hoofletters waar ek dit nie het nie - hoofletters is belangrik in hierdie stelsel).

== == ==

As die twee poorte teenwoordig is, is daar dalk 'n bietjie meer konfigurasiewerk nodig … na die volgende stap ….

Stap 8: Raspberry Pi IOS (voorheen Raspian) -konfigurasie - stel IP -adres in

Dit is 'n bietjie uit my stuurhuis, so ek kan tans nie leiding gee nie.

Weet net dat daar talle webwerwe, YouTube -video's en boodskapborde is wat hierdie soort inligting verskaf.

maar.. u wil dalk hier kyk en 'n paar dinge doen.

1 - Gaan die IP -adres wat u nuwe poort tans het, na. is dit deur u DHP -bediener toegewys, of is dit die standaard -IP - iets in die reeks: 169.254.xxx.yyy? Is dit iets anders ??

2- Wil u 'n statiese (vaste) IP-adres of 'n dinamiese IP-adres (toegeken deur u DHCP-bediener) hê?

Kontroleer die skakelaar / router waarmee u RPI gekoppel is.. sien dit u nuwe poort? kan dit dit "ping"? (maak seker dat u die oorspronklike poortkabel ontkoppel as u dit doen - anders kan die RPi u mislei).

Gebruik ifconfig (of die nuwer "ip" -opdrag) om te sien dat die data wat kom en gaan, normaalweg (normaalweg) lyk en sonder 'n onnodige aantal foute.

== == ==

Laastens.. ek glo dat dit die w5500.dtbo is wat 'n MAC -adres toewys aan die WIZ820io / W5500 -module.. maar ek kan nie met sekerheid sê of dit is waar dit gebeur nie. Ek kon nie dadelik besonderhede daaroor kry nie.

Vir my blyk dit dat 'n ander MAC -adres toegeken word elke keer as dit opstart. Ek persoonlik hou nie daarvan nie, en daar is gevolglik dinge wat gedoen kan word om die Mac -adres in te stel (byvoorbeeld die program "macchanger" of om dit in te stel met die ip / ifconfig -opdragte). As iemand van u 'n 'opstart' / 'crontab' oplossing hiervoor vind, hoor ek graag hoe u dit doen as u bereid is om te deel.

U kan myne in die prentjie sien. As ek die verskaffer van Mac Address soek vir eth0 ==> b827eb, kom dit voor as die Raspberry Pi Foundation. Die verkoper vir eth1 ==> fa9770 kom as onbekend voor, so dit is duidelik op 'n stadium op my Pi gegenereer.

Stap 9: Gevolgtrekking

Dankie dat u hierdie Instructable nagegaan het.

Ek het nogal geleer om deur hierdie klein projek te werk.

As u enige vrae het, of as u belangstel om een van die planke te koop wat ek gemaak het (bevolkte of nie), het ek 'n paar ekstras wat te koop is en wat ons kan bespreek.

Ek moedig u in elk geval aan om kommentaar te lewer, korreksies voor te stel (tikfoute of metodes of ??)

Sekerlik, as u dit self maak, sal ek baie bly wees om foto's te sien van hoe u dit aangepak het, en u eindresultate / doel.

Dankie.

PS: Dankie aan hierdie kêrel vir die leiding en idees.

Stap 10: DTBO -lêers

Twee lêers om by u "overlays -gids" te voeg - benodig vir stap 4 en 5

Aanbeveel: