INHOUDSOPGAWE:
- Voorrade
- Stap 1: Framboos Pi 3b
- Stap 2: Koppel die Wiznet WIZ820io -module aan die Raspberry Pi GPIO -bus
- Stap 3: My stroombaan
- Stap 4: Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die "opstart" -map
- Stap 5: Raspberry Pi IOS (voorheen Raspian) -konfigurasie - Inskrywings in die 'overlays' -gids
- Stap 6: Raspberry Pi IOS (voorheen Raspian) -konfigurasie - wysig lêer met die naam: Config.txt
- Stap 7: Ons het weer begin. Ek hoop jy glimlag
- Stap 8: Raspberry Pi IOS (voorheen Raspian) -konfigurasie - stel IP -adres in
- Stap 9: Gevolgtrekking
- Stap 10: DTBO -lêers
Video: Voeg 'n WIZ820io / USR -ES1 - Wiznet W5500 netwerkpoort by u Framboos Pi: 10 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
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
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
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
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
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
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
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
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:
Hoe om 'n interaktiewe bot in onenigheid by te voeg: 6 stappe
Hoe om 'n interaktiewe bot in onenigheid by te voeg: in hierdie tutoriaal gaan ek wys hoe u 'n eie interaktiewe bot kan maak wat met 'n paar kommando's werk. Discord is 'n Skype/Whats-app sosiale media-app wat gamers bymekaar bring. Hulle kan 'n eie kanaal hê, kyk watter speletjie elke lid speel
Voeg 'n digitale skerm by 'n ou kommunikasie -ontvanger: 6 stappe (met foto's)
Voeg 'n digitale skerm by 'n ou kommunikasie -ontvanger: een van die tekortkominge by die gebruik van 'n ouer kommunikasie -uitrusting is die feit dat die analoog draaiknop nie baie akkuraat is nie. U raai altyd aan die frekwensie wat u ontvang. In die AM- of FM -bande is dit oor die algemeen geen probleem nie, omdat u gewoonlik
Voeg 'n eksterne luidspreker by om die geluidskwaliteit te verbeter: 5 stappe
Voeg 'n eksterne luidspreker by om die geluidskwaliteit te verbeter: die klankgehalte van hierdie lekker klein radio was verskriklik! Alles anders oor die radio is wonderlik, maklik om te gebruik, telefoonoplaai, skerm, ens. Die genesing is om 'n eksterne luidspreker te gebruik, en hoe groter hoe beter
Hoe om 'n tabel te skep en in te voeg en ekstra kolomme en/of rye by die tabel in Microsoft Office Word 2007 te voeg: 11 stappe
Hoe om 'n tabel te skep en in te voeg en ekstra kolomme en/of rye by die tabel in Microsoft Office Word 2007 te voeg: het u al ooit baie data gehad waarmee u werk en by uself gedink … " hoe kan ek alles maak van hierdie data beter lyk en makliker verstaanbaar is? " As dit die geval is, kan 'n tabel in Microsoft Office Word 2007 u antwoord wees
Voeg 'n aan / uit -knoppie by u LibreELEC -installasie op 'n Framboos Pi: 6 stappe
Voeg 'n aan / uit -knoppie by u LibreELEC -installasie op 'n Raspberry Pi: In die volgende leer ons hoe u 'n aan / uit -knoppie kan byvoeg by LibreELEC wat op 'n Raspberry Pi werk. Ons sal 'n PowerBlock gebruik om nie net 'n aan / uit -knoppie by te voeg nie, maar ook 'n status -LED wat die kragstatus van u LibreELEC -installasie aandui