Turinys:

Pridėkite WIZ820io / USR -ES1 - „Wiznet W5500“tinklo prievadą prie „Raspberry Pi“: 10 žingsnių
Pridėkite WIZ820io / USR -ES1 - „Wiznet W5500“tinklo prievadą prie „Raspberry Pi“: 10 žingsnių

Video: Pridėkite WIZ820io / USR -ES1 - „Wiznet W5500“tinklo prievadą prie „Raspberry Pi“: 10 žingsnių

Video: Pridėkite WIZ820io / USR -ES1 - „Wiznet W5500“tinklo prievadą prie „Raspberry Pi“: 10 žingsnių
Video: Arduino TCP Socket IoT UNO MEGA Wiznet W5100 connect 2024, Lapkritis
Anonim
Pridėkite WIZ820io / USR -ES1 - „Wiznet W5500“tinklo prievadą prie „Raspberry Pi“
Pridėkite WIZ820io / USR -ES1 - „Wiznet W5500“tinklo prievadą prie „Raspberry Pi“

Iš dalies dėl savo pomėgio daryti kažką panašaus, o iš dalies dėl susidomėjimo „Codesys“jau kurį laiką galvojau, kaip pabandyti prijungti antrąjį tinklo sąsajos prievadą prie „Raspberry Pi“. Taigi, darydamas kitus projektus, aš galvojau, skaičiau, lyginau, planavau ir apsipirkinėjau, kad galų gale galėčiau eiti į priekį ir kažką sukurti.

Taip, aš žinau.. ten yra keletas „iki rakto“paruoštų naudoti sistemų, kurios padarytų kažką panašaus, bet iš tikrųjų nė viena iš jų nebuvo pakankamai viliojanti, kad atskirtų mane nuo mano pinigų.

Tiesą sakant, turiu mažai žinių ir patirties apie „Raspberry Pi“ir „Linux“/ „Raspberry Pi IOS“(„Raspian“) (man sekasi geriau „Windows“ir „Android“pasauliuose), neturiu išsamių žinių apie tinklus (galiu padaryti, kad viskas veiktų) ir kurti tinklus, bet po to aš šiek tiek per galvą), ir aš tik pradėjau gaminti grandines. Žinoma, aš nesu programuotojas.

Kai pagaliau nusprendžiau judėti į priekį su šia idėja ką nors sukurti, ir nusprendžiau naudoti WIZ820io / USR -ES1 modulį, pagrįstą integruota grandine „Wiznet - W5500“. Šis modulis gali bendrauti su „Raspberry Pi“(ir kitais MCU), naudodami standartinę SPI magistralę. Be to, jis veikia nuo 3,3 VDC, todėl mano „Raspberry Pi“kelia nulinę žalos riziką.

Projektuodamas plokštę, pasirinkau ją sukonstruoti tinkama „HAT“konfigūracija (forma ir galimybės), be to, kad pridėjau „WIZ820io“modulio grandines, taip pat pridėjau daug kitų elementų, kurie čia nenaudojami tinklo projektą, bet kurį galiu ir būsiu panaudojęs kitiems projektams ateityje.

Mano suprojektuotoje / pastatytoje lentoje yra šie elementai.

1 - Lizdas „Wiznet“laikymui - „WIZ820io - Ethernet prievado modulis (tam padariau pasirinktinį„ Eagle Footprint “).

2 - 30 mm - 5 V nuolatinės srovės aušinimo ventiliatorius, skirtas „Raspberry Pi“procesoriui (tam padariau pasirinktinį „Eagle Footprint“).

3 - „CAT24C32“atminties mikroschema, skirta palaikyti HAT suderinamumo reikalavimus (tai dar nesu užprogramuota) (aš tam sukūriau pasirinktinį „Eagle Design Block“).

4 - Mini MAX3232 - UART - TTL į RS -232 lygio keitiklis, prijungtas prie UART0 (tam padariau pasirinktinį Erelio pėdsaką).

5 - Raudonas šviesos diodas (GPIO24), geltonas šviesos diodas (GPIO23) ir žalias šviesos diodas (GPIO22), kurie bus naudojami šviesoforo - „Python“programavimo pratimams.

6 - žalias šviesos diodas (GPIO18) ir žalias šviesos diodas (GPIO27) - programavimo pratimams ir trikčių šalinimui.

7 - Taktilinis jungiklis, prijungtas prie GPIO25 - programavimo pratimams ir trikčių šalinimui (aš tam padariau pasirinktinį „Eagle Footprint“). PASTABA, kad šis GPIO taip pat bus naudojamas su „WIZ820io“.

Taigi, kaip jau minėjau, ši instrukcija bus skirta tik šio sąrašo 1 punktui. Visi kiti elementai, kuriuos pridėjau lentoje, yra dėl kitų priežasčių, nesusijusių su šiuo tinklo sąsajos projektu.

Prekės

Raspberry Pi - naudojau senesnį Raspberry Pi 3B. Nieko blogo. Mane tikrai yra negyvas HDMI prievadas, todėl jį paleidžiu „be galvos“naudodamas „TeamViewer“. Tai veikia. Labai įtariu, kad dauguma „Raspberry Pi“versijų veiks su šia instrukcine nuostata, jei jie gali paleisti naujesnes „Raspberry Pi IOS“(„Raspian“) versijas.

Prieš pradėdamas visa tai, žinoma, atnaujinau operacinę sistemą:

sudo apt-get atnaujinimas

sudo apt-get atnaujinimas

WIZ820io / USR -ES1 - Dokumentaciją galima rasti internete iš OEM

Kompiuterio plokštė - aš panaudojau „Autodesk Eagle“, norėdamas sukurti PCB ir sugeneruoti „Gerber“failus, būtinus, kad JLCPCB galėtų sukurti plokštę. Kaip minėta anksčiau, aš taip pat pridėjau „CAT24C32“atminties mikroschemą, kad išlaikyčiau HAT suderinamumo reikalavimus.

1 žingsnis: Raspberry Pi 3b

Raspberry Pi 3b
Raspberry Pi 3b

Kalbant apie „Raspberry Pi“, aš sukūriau šį projektą naudodamas standartinį „Raspberry Pi 3b“kartu su naujausia „Raspberry Pi IOS“(„Raspian“) versija, kurią galėjau atsisiųsti ir įdiegti.

Nieko ten ypatingo. Aš turėjau šį įrenginį keletą metų, ir jis man dažniausiai pasiteisino (gerai - HDMI vaizdo išvestis yra mirusi, todėl esu priverstas veikti be galvos naudodamas „TeamViewer“). Jums nereikėtų to daryti.

Įtariu, kad bet kuris RPi turėtų turėti galimybę prisijungti prie „WIZ820io“/ USR -ES1 - „Wiznet W5500“ir atlikti šį darbą, taip pat daugelis kitų prekės ženklų konkuruoja toje pačioje rinkoje („Beagle Bone“, „Orange“, „Tinker“ir kt.) Ir naudoti panašią „Linux“pagrįstos OS modelis.

Aš turiu nulinę patirtį su bet kuriuo iš jų. Turiu mažai patirties su avietėmis - pažiūrėk, iš kur tai atsitiko:)

2 veiksmas: „Wiznet WIZ820io“modulio sąsaja su „Raspberry Pi GPIO“magistralė

„Wiznet WIZ820io“modulio sąsaja su „Raspberry Pi GPIO Bus“
„Wiznet WIZ820io“modulio sąsaja su „Raspberry Pi GPIO Bus“
„Wiznet WIZ820io“modulio sąsaja su „Raspberry Pi GPIO Bus“
„Wiznet WIZ820io“modulio sąsaja su „Raspberry Pi GPIO Bus“
„Wiznet WIZ820io“modulio sąsaja su „Raspberry Pi GPIO Bus“
„Wiznet WIZ820io“modulio sąsaja su „Raspberry Pi GPIO Bus“

Peržiūrėkite pridėtus vaizdus.

„Wiznet WIZ820io“modulis turi dvi eilutes po 6 kaiščius, prie kurių galima prisijungti.

Eilutės pažymėtos atitinkamai „J1“ir „J2“.

Jų pateiktame duomenų lape yra labai graži kiekvienos smeigtuko spalvų koduota schema. Ši schema skirta padėti jums prijungti tuos kaiščius prie „Raspberry PI GPIO“kaiščių. Jie gana gerai NAME atitinka NAME.

Raspberry Pi pinout galite rasti čia: pinout.xyz

Aš prijungiau tuos kaiščius taip (žr. Pridėtą paveikslėlį):

Žinoma, kadangi aš sukūriau tikrą plokštę, visos žemės (GND) buvo sujungtos. Tas pats pasakytina ir apie 3,3 V kaiščius - mano plokštė juos sujungė.

Keletas pastebėtinų dalykų..

1 -asis - J2 kaištis #5 - RSTn - prijungiau jį prie RPi GPIO #17 (kaištis #11) - tai buvo įspėjimas. Netikiu, kad jis naudojamas.

2 - J1 kaištis # 6 - INTn - Tai yra prijungta prie GPIO25 (kaištis # 22). Tai būtina, nes „Raspberry Pi IOS“konfigūravimo etape mes tai nurodysime.

3 -asis - J1- 5 kaištis - SCNn - prijungtas prie „Raspberry Pi“„CS0“(24 kaištis). Iš tikrųjų tai suteikia šiam moduliui RPi SPI magistralės „0 modulio“adresą. Vėlgi, atlikdami Raspberry Pi IOS konfigūracijos veiksmą, mes tai nurodysime.

3 žingsnis: mano grandinės plokštė

Mano grandinė
Mano grandinė
Mano grandinė
Mano grandinė
Mano grandinė
Mano grandinė

Pridedama Erelio „taškas į tašką“schema, kurią sukūriau ir su kuria sukūriau „Gerber“failus.

Taip pat pridedami „grandinės plokštės“, kurią sukūriau šiam projektui, vaizdai.

Ši lenta priims daugybę skirtingų WIZ820io stiliaus „Wiznet“produktų.

4 veiksmas: „Raspberry Pi IOS“(anksčiau „Raspian“) konfigūracija - įrašai „įkrovos“aplanke

Raspberry Pi IOS (anksčiau Raspian) konfigūracija - Įrašai
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - Įrašai

Kad „Raspberry Pi“galėtų „pamatyti“naujai įdiegtą WIZ820io modulį savo SPI magistralėje, IOS turi būti informuotas, kad jis galėtų su tuo susidoroti „BOOT Up“metu.

Norėdami tai padaryti, tiesiog pridėsime dvi eilutes prie:../../boot/config.txt

Pirma.. Naudojant terminalo sritį / langą ==> ls

cd../boot, eikite į../boot ir išvardykite katalogą (ls)

Nurodykite pridėtą paveikslėlį.. Ten reikia ieškoti ir patvirtinti dviejų įrašų buvimą - aš juos apskritu raudonai.

Vienas iš jų yra failas pavadinimu „config.txt“

Antrasis yra aplankas pavadinimu „perdangos“

== == == ==

Patvirtinę abiejų šių įrašų buvimą, galite tęsti kitą žingsnį

5 veiksmas: „Raspberry Pi IOS“(anksčiau „Raspian“) konfigūracija - įrašai „perdangų“kataloge

Raspberry Pi IOS (anksčiau Raspian) konfigūracija - Įrašai
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - Įrašai
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - Įrašai
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - Įrašai
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - Įrašai
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - Įrašai

Pakeiskite katalogą į „perdangų katalogą“

Tipas: CD perdangos

Paspaudus „Enter“klavišą, pateksite į aplanką „perdangos“(žr. Pridėtą paveikslėlį).

Išvardykite katalogo turinį.

Tipas: ls

Paspaudus „Enter“klavišą, turėtumėte pamatyti ilgą to katalogo turinio sąrašą. Sąrašas gali būti abėcėlės tvarka.

(žr. pridedamus vaizdus (2 iš)). Atkreipkite dėmesį, kad beveik VISI failai yra pavadinti plėtiniu: *.dtbo, taip pat galite pastebėti keletą pavadinimų, kurių plėtinys: *.dtb

Tai VISI „Įrenginių medžio“perdangos failai

Turite patvirtinti, kad yra du „perdangos“failai (žr. Pridedamus vaizdo failus).

1 - failas pavadinimu: anyspi.dtbo (jei norite slinkti atgal į viršų ir rasti abėcėlės tvarka anyspi.dtbo), gali tekti naudoti slinkties juostą dešinėje lango paraštėje).

2 - failas pavadinimu w5500.dtbo

== == ==

Jei galite patvirtinti, kad abu šie failai yra, tuomet esate geros formos ir galite grįžti į../boot katalogą.

Įveskite: cd../ paspaudę klavišą ENTER, turėtumėte būti grąžinti į / boot katalogą.

Išvardinkite katalogą, kurį norite patvirtinti: įveskite: ls ir paspauskite klavišą ENTER

6 veiksmas: „Raspberry Pi IOS“(anksčiau „Raspian“) konfigūracija - redaguoti failą pavadinimu: Config.txt

Raspberry Pi IOS (anksčiau Raspian) konfigūracija - redaguoti failą, pavadintą: Config.txt
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - redaguoti failą, pavadintą: Config.txt
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - redaguoti failą, pavadintą: Config.txt
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - redaguoti failą, pavadintą: Config.txt
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - redaguoti failą, pavadintą: Config.txt
Raspberry Pi IOS (anksčiau Raspian) konfigūracija - redaguoti failą, pavadintą: Config.txt

Dabar kataloge../boot galime atlikti keletą nedidelių failo redagavimų: config.txt

Pirmiausia „nano“redaktorių iškviesime kaip „super vartotoją“(sudo)

sudo = 'superuser'

„nano“yra teksto redaktorius, kurį naudosime

ir, kaip minėta, config.txt yra failas, kurį norime redaguoti.

Įveskite: sudo nano config.txt ir paspauskite ENTER.

Tai atvers redaktorių ir parodys failo config.txt turinį. Jei redaktorius neatsidaro arba atidaromas tuščias, išeikite (jei yra nano) ir dar kartą patikrinkite rašybą.

Jei viskas klostėsi gerai, turėtumėte pamatyti kažką panašaus į antrą pridėtą paveikslėlį. „nano“bus rodomas pačiame failo „viršuje“. turėsite slinkti žemyn iki pat apačios.

Pačioje failo apačioje pridėkite du „dtoverlay“teiginius:

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

Dar kartą patikrinkite visą rašybą ir, jei ji sutampa, paspauskite du klavišus „Ctrl-x“, kad išeitumėte.. ir tinkamai atsakykite, kad išsaugotumėte ir išeitumėte.

== == == ==

Kito įkrovos metu (ir visų paleidimų metu, jei šie du teiginiai lieka ten) operacinė sistema dabar taip pat iškvies perdangą pavadinimu „anyspi“ir perdangą pavadinimu „w5500“.

Perdanga „anyspy“paruošia operacinę sistemą naudoti SPI0-0 magistralę (tai yra vieta, kur anksčiau fiziškai prijungėme WIZ820io. „-0“nurodo, kad jis naudoja adresą „0“-prisiminkite, kad anksčiau prijungėme WIZ820io kaištį #J1-6 RPi GIPO „generaliniam direktoriui“(kaištis #24).

Perdanga „w5500“nurodo operacinei sistemai, kaip elgtis su W5500 integruotu grandynu, esančiu WIZ820io modulyje. Jis taip pat apibrėžia naudoti RPi GPIO25 (kaištį #22) kaip INTn signalą. Dar kartą prisiminkime, kad anksčiau užmezgėme šį ryšį.

Tokios informacijos galima rasti įvairiuose failuose, pavyzdžiui, šiame pavyzdyje, esančiame „GITHub“.

== == ==

Laikas iš naujo paleisti RPI ir visa tai įsigalioti.

7 veiksmas: iš naujo paleidome. Tikiuosi, kad šypsotės

Paleidome iš naujo. Tikiuosi, kad šypsotės
Paleidome iš naujo. Tikiuosi, kad šypsotės
Paleidome iš naujo. Tikiuosi, kad šypsotės
Paleidome iš naujo. Tikiuosi, kad šypsotės

Jei viskas klostėsi gerai, jūsų RPi turėjo būti iš naujo paleistas įprastai. Šypsokis.

Laikas patikrinti, ar IOS įkėlė du naujus perdangos failus ir ar atpažįsta pridėtą WIZ820io modulį.

Dar kartą atidarykite „Command“langą.

Šį kartą raginant įveskite ifconfig (arba naudokite naujesnę komandą „ip“) ir paspauskite klavišą „Enter“.

Tikriausiai gausite ilgą atsakymą, todėl turėsite slinkti atgal į viršų.

Grįžę viršuje, ieškokite dviejų skyrių:

Vienas pavadintas eth0, o kitas pavadintas: eth1 - žr. Pridedamą paveikslėlį.

Mano sistemoje eth0 yra RPI eterneto prievadas. eth1 yra naujas WIZ820io Ethernet prievadas.

== == ==

Jei matote du prievadus, tai ir RPI. Pastaba pridėtame paveikslėlyje, eth1 išsiuntė paketus ir be klaidų.

Aš tai išbandžiau, atjungdamas pradinį prievado kabelį ir naršydamas naršydamas „YouTube“ir kitose svetainėse. Tai veikia. Aš taip pat „pinginau“jį iš kelių skirtingų įrenginių ir jis veikia.

== == ==

Jei RPI3 ar RPi4 nematote eth1 (ar kažko panašaus), išskyrus eth0, pabandykite grįžti atgal ir dar kartą patikrinti, ar konfig.txt buvo tinkamai redaguotas ir išsaugotas. Įsitikinkite, kad abi perdangos yra vietoje ir rašyba yra teisinga (be didžiųjų raidžių, kur jų neturiu - didžiosios raidės šioje sistemoje yra svarbios).

== == ==

Jei yra du prievadai, gali tekti atlikti šiek tiek daugiau konfigūravimo darbų … pereinant prie kito žingsnio….

8 žingsnis: Raspberry Pi IOS (anksčiau Raspian) konfigūracija - IP adreso nustatymas

Tai šiek tiek ne mano vairo namelis, todėl šiuo metu aš negaliu patarti.

Tiesiog žinokite, kad yra daugybė svetainių, „YouTube“vaizdo įrašų ir skelbimų lentų, kuriose pateikiama tokia informacija.

bet.. galbūt norėsite čia patikrinti ir padaryti keletą dalykų.

1 - Dar kartą patikrinkite IP adresą, kurį šiuo metu turi jūsų naujas prievadas. ar tai priskyrė jūsų DHP serveris, ar tai numatytasis IP adresas - kažkas tokio: 169.254.xxx.yyy? Ar tai dar kažkas ??

2- Ar norite statinio (fiksuoto) IP adreso ar dinaminio IP adreso (priskirto jūsų DHCP serverio).

Patikrinkite jungiklį / maršrutizatorių, prie kurio prijungtas jūsų RPI.. ar jis mato jūsų naują prievadą? ar tai gali "pinginti"? (jei tai padarysite, būtinai atjunkite originalų prievado kabelį - kitaip RPi gali jus apgauti).

Naudokite ifconfig (arba naujesnę komandą „ip“), kad pamatytumėte, jog gaunami ir išeinantys duomenys atrodo „normalūs“(taip sakant) ir be nereikalingo klaidų skaičiaus.

== == ==

Galiausiai.. Manau, kad būtent w5500.dtbo priskiria MAC adresą WIZ820io / W5500 moduliui.. bet negaliu tiksliai pasakyti, ar tai vyksta būtent ten. Negalėjau iš karto rasti išsamios informacijos apie tai.

Man atrodo, kad kiekvieną kartą, kai jis paleidžiamas, priskiriamas skirtingas MAC adresas. Man asmeniškai tai nepatinka, todėl yra dalykų, kuriuos galima padaryti norint nustatyti „Mac“adresą (pavyzdžiui, programa „macchanger“arba nustatymas naudojant komandas „ip / ifconfig“). Jei kas nors iš jūsų randa „įkrovos“/ „crontab“sprendimą, man būtų malonu išgirsti apie tai, kaip tai darote, jei esate pasirengęs dalintis.

Nuotraukoje galite pamatyti mano. Kai aš ieškau „Mac“adreso pardavėjo, norėdamas rasti eth0 ==> b827eb, jis pasirodo kaip „Raspberry Pi Foundation“. „Eth1 ==> fa9770“pardavėjas pasirodo nežinomas, todėl akivaizdu, kad tam tikru momentu jis buvo sukurtas mano „Pi“.

9 žingsnis: Išvada

Dėkojame, kad peržiūrėjote šią instrukciją.

Vykdydamas šį mažą projektą, išmokau nemažai.

Jei turite kokių nors klausimų arba galbūt norėtumėte nusipirkti vieną iš mano sukurtų lentų (užpildytų ar ne), turiu keletą parduodamų priedų, kuriuos galime aptarti.

Bet kokiu atveju raginu jus palikti komentarus, siūlyti taisymus (rašybos klaidas ar metodus ar ??)

Be abejo, jei tai padarysite sau, man būtų labai malonu pamatyti nuotraukas, kaip tai padarėte, ir jūsų galutinius rezultatus / tikslą.

Dėkoju.

P. S.: Ačiū šiam kolegai už patarimus ir idėjas.

10 veiksmas: DTBO failai

Du failai, kuriuos reikia pridėti prie „perdangų aplanko“- reikalingi 4 ir #5 veiksmams

Rekomenduojamas: