Taula de continguts:
- Subministraments
- Pas 1: Raspberry Pi 3b
- Pas 2: Interfície del mòdul Wiznet WIZ820io amb el bus GPIO de Raspberry Pi
- Pas 3: la meva placa de circuit
- Pas 4: Configuració del Raspberry Pi IOS (abans Raspian): entrades a la carpeta "d'arrencada"
- Pas 5: Configuració del Raspberry Pi IOS (abans Raspian): entrades al directori "superposicions"
- Pas 6: Configuració del Raspberry Pi IOS (abans Raspian): editeu el fitxer amb el nom: Config.txt
- Pas 7: hem tornat a arrencar. Espero que somrigueu
- Pas 8: Configuració del Raspberry Pi IOS (abans Raspian): configuració de l'adreça IP
- Pas 9: Conclusió
- Pas 10: fitxers DTBO
Vídeo: Afegiu un port de xarxa WIZ820io / USR-ES1 - Wiznet W5500 al vostre Raspberry Pi .: 10 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
En part pel meu interès per fer alguna cosa així, i en part pel meu interès per Codesys, fa temps que tinc al cap la intenció de connectar un segon port d’interfície de xarxa a un Raspberry Pi. Així doncs, mentre feia altres projectes, he estat pensant, llegint, comparant, planificant i comprant per poder, finalment, avançar i construir alguna cosa.
Sí, ho sé. Hi ha uns quants sistemes "clau en mà" disponibles per fer allò que faria alguna cosa similar, però realment cap d'ells era prou atractiu per separar-me dels meus diners.
En realitat, tinc un baix nivell de coneixement i experiència al Raspberry Pi i al Linux / Raspberry Pi IOS (Raspian) (ho faig millor al món Windows i Android), no tinc coneixements profunds de xarxes (puc fer funcionar les coses) i construir xarxes, però més enllà d’això estic una mica per sobre del meu cap), i tot just acabo de començar a fer circuits. Segur que no sóc programador.
Un cop finalment vaig decidir seguir endavant amb aquesta idea de construir alguna cosa i vaig optar per utilitzar el mòdul WIZ820io / USR-ES1, que es basa en el circuit integrat Wiznet - W5500. Aquest mòdul es pot comunicar amb el Raspberry Pi (i altres MCU) mitjançant el bus SPI estàndard. A més, es corre de 3,3 V CC, de manera que comporta ZERO riscos de danys per al meu Raspberry Pi.
En dissenyar la placa de circuit, vaig optar per construir-la amb una configuració adequada "HAT" (forma i capacitat) i, a més d'afegir els circuits per al mòdul "WIZ820io, també vaig afegir una sèrie d'altres elements que NO s'utilitzen en aquest projecte de xarxa, però que puc utilitzar i per a altres projectes en el futur.
El tauler que he dissenyat / construït conté els elements següents.
1 - Un sòcol per contenir el mòdul de port Ethernet Wiznet - WIZ820io - (per això he fet una petjada Eagle personalitzada).
2 - Un ventilador de refrigeració de 30 mm - 5 VDC per a la CPU Raspberry Pi (per a això vaig fer una petjada Eagle personalitzada).
3 - Un xip de memòria "CAT24C32" per mantenir els requisits de compatibilitat HAT (encara no ho he programat) (he creat un bloc de disseny Eagle personalitzat per a això).
4 - Un mini MAX3232 - UART - convertidor de nivell TTL a RS-232 connectat a UART0 (per a això he fet una petjada Eagle personalitzada).
5 - Un LED vermell (GPIO24), un LED groc (GPIO23) i un LED verd (GPIO22) que s’utilitzaran per als exercicis de programació de semàfors - Python.
6 - Un LED verd (GPIO18) i un LED verd (GPIO27): per programar exercicis i solucionar problemes.
7 - Un commutador tàctil connectat a GPIO25 - per a la programació d’exercicis i resolució de problemes (per a això vaig crear una petjada Eagle personalitzada). Tingueu en compte que aquest GPIO també s'utilitzarà amb el WIZ820io.
Així que, com he comentat anteriorment, aquest instructiu només tractarà l’element número 1 d’aquesta llista. La resta d’elements que he afegit al tauler hi són per altres motius que no estan relacionats amb aquest projecte d’interfície de xarxa.
Subministraments
Raspberry Pi: he utilitzat un Raspberry Pi 3B més antic. No passa res amb això. El meu té un port HDMI mort, així que el faig "sense cap" mitjançant TeamViewer per accedir-hi. Funciona. Sospito fermament que la majoria de versions de Raspberry Pi funcionaran amb aquest instructiu SEMPRE que puguin executar versions més recents de Raspberry Pi IOS (Raspian).
Abans de començar tot això, per descomptat, he actualitzat el sistema operatiu:
sudo apt-get update
sudo apt-get upgrade
WIZ820io / USR-ES1: la documentació per a això està disponible en línia al OEM
PC Board - He utilitzat Autodesk Eagle per dissenyar el PCB i he generat els fitxers Gerber necessaris perquè JLCPCB construeixi la placa de circuit. Com es va assenyalar anteriorment, també vaig afegir xip de memòria "CAT24C32" per mantenir el requisit de compatibilitat HAT.
Pas 1: Raspberry Pi 3b
Pel que fa al Raspberry Pi, vaig fer aquest projecte amb un Raspberry Pi 3b estàndard, juntament amb la versió més recent de Raspberry Pi IOS (Raspian) que vaig poder descarregar i instal·lar.
No hi ha res d’especial. Fa pocs anys que sóc propietari d’aquesta unitat i em funciona molt bé (bé, la sortida de vídeo HDMI està morta, així que estic obligat a córrer sense cap amb TeamViewer). No hauríeu de fer-ho.
Sospito que qualsevol RPi hauria de poder connectar-se a un WIZ820io / USR-ES1 - Wiznet W5500 i fer que això funcioni, així com moltes altres marques competeixen al mateix mercat (Beagle Bone, Orange, Tinker, etc.) i utilitzar un dispositiu similar model basat en sistema operatiu Linux.
Tinc ZERO experiència amb qualsevol d’aquests. Tinc poca experiència amb el gerd: mireu on m’ha portat això:)
Pas 2: Interfície del mòdul Wiznet WIZ820io amb el bus GPIO de Raspberry Pi
Reviseu les imatges adjuntes.
El mòdul Wiznet WIZ820io proporciona dues files de 6 pins cadascun per connectar-se.
Les files tenen l'etiqueta "J1 i" J2 "respectivament.
El full de dades que proporcionen té un diagrama de colors molt agradable de cada pin. Aquest diagrama està destinat a ajudar-vos a connectar aquests pins als vostres pins Raspberry PI GPIO. Són força bé un partit NAME per NAME.
Podeu trobar el pinout Raspberry Pi aquí: pinout.xyz
He connectat aquests pins de la següent manera (vegeu la imatge adjunta):
Per descomptat, des que vaig crear una placa de circuit real, tots els terrenys (GND) estaven connectats entre ells. El mateix passa amb els pins de 3,3 V: la meva placa de circuit els va connectar junts.
Algunes coses destacables..
1r - Pin J2 # 5 - RSTn - Ho vaig connectar a RPi GPIO # 17 (Pin # 11): va ser precaució. No crec que s’utilitzi.
2n - J1 Pin # 6 - INTn - Que està connectat a GPIO25 (Pin # 22). Això és obligatori, ja que al pas de configuració de Raspberry Pi IOS, ens referirem a això.
3r - J1- Pin # 5 - SCNn: està connectat al Raspberry Pi "CS0" (Pin # 24). Efectivament, això proporciona a aquest mòdul l'adreça del "mòdul 0" al bus RPi SPI. De nou, al pas de configuració de Raspberry Pi IOS, ens referirem a això.
Pas 3: la meva placa de circuit
S'adjunta l'esquema "Punt a punt" Eagle que he elaborat i amb el qual he generat els fitxers Gerber.
També s'adjunten imatges del "Circuit Board" que havia inventat per a aquest projecte.
Aquest tauler acceptarà diversos productes Wiznet diferents de l’estil WIZ820io.
Pas 4: Configuració del Raspberry Pi IOS (abans Raspian): entrades a la carpeta "d'arrencada"
Perquè Raspberry Pi "vegi" el mòdul WIZ820io acabat d'instal·lar al seu bus SPI, s'ha de tenir en compte l'IOS, de manera que pugui fer-hi front durant "BOOT Up".
Per fer-ho, simplement afegirem dues línies a:../../boot/config.txt
Primer.. Utilitzant una finestra / finestra de Terminal ==> ls
cd../boot, navegueu fins a../boot i llistar (ls) el directori
Feu referència a la imatge adjunta. Allà heu de cercar i confirmar la presència de dues entrades: les he encerclat en vermell.
Un és un fitxer anomenat: "config.txt"
El segon és una carpeta anomenada: "superposicions"
== == == ==
Un cop hàgiu confirmat la presència d'aquestes dues entrades, podeu continuar amb el pas següent
Pas 5: Configuració del Raspberry Pi IOS (abans Raspian): entrades al directori "superposicions"
Canvieu el directori al directori "superposicions"
Tipus: superposicions de CD
Després de prémer la tecla "enter", accedireu a la carpeta "superposicions" (vegeu la imatge adjunta).
Enumereu el contingut del directori.
Tipus: ls
Després de prémer la tecla "enter", hauríeu de veure una llista llarga del contingut d'aquest directori. La llista pot ser alfabètica.
(veure imatges adjuntes (2 de)). Tingueu en compte que gairebé TOTS els fitxers tenen un nom amb una extensió de: *.dtbo, també podeu notar-ne uns quants amb una extensió de: *.dtb
Aquests són TOTS els fitxers de superposició "Arbre de dispositius"
Heu de confirmar la presència de dos fitxers "superposats" (vegeu fitxers d'imatges adjunts).
Primer: un fitxer anomenat: anyspi.dtbo (per a aquest, potser haureu d’utilitzar la barra de desplaçament al marge dret de la finestra per tornar a desplaçar-vos cap a la part superior i trobar l’ordre anyspi.dtbo ordenat alfabèticament).
2n: un fitxer anomenat w5500.dtbo
== == ==
Si podeu confirmar que aquests dos fitxers són presents, esteu en bona forma i podeu tornar al directori../boot.
Escriviu: cd../ després de prémer la tecla ENTER, hauríeu de tornar al directori / boot.
Enumereu el directori per confirmar: escriviu: ls i premeu la tecla ENTRAR
Pas 6: Configuració del Raspberry Pi IOS (abans Raspian): editeu el fitxer amb el nom: Config.txt
Al directori../boot, ara podem treballar per fer un parell de petites modificacions al fitxer anomenat: config.txt
Primer trucarem a l'editor "nano" com a "superusuari" (sudo)
sudo = 'superusuari'
nano és l'editor de text que farem servir
i, tal com es va assenyalar, config.txt és el fitxer que volem editar.
Escriviu: sudo nano config.txt i feu clic a ENTRAR.
Això mostrarà l'editor i mostrarà el contingut del fitxer config.txt. Si l'editor no s'obre o s'obre buit, sortiu (si està en nano) i comproveu l'ortografia.
Si tot va bé, hauríeu de veure alguna cosa semblant a la segona imatge adjunta. "nano" mostrarà la "part superior" del fitxer. haureu de desplaçar-vos cap avall fins a la part inferior.
A la part inferior del fitxer, afegiu les dues "sentències dtoverlay" a continuació:
dtoverlay = anyspi, spi0-0, dev = "w5500", velocitat = 30000000 dtoverlay = w5500
Reviseu tota l'ortografia i, si coincideix, premeu les dues tecles "Ctrl-x" per sortir.. i responeu adequadament per desar i sortir.
== == == ==
A la propera arrencada (i per a totes les arrencades posteriors si aquestes dues sentències romanen allà), el sistema operatiu també cridarà a la superposició anomenada "anyspi" i a la superposició anomenada "w5500".
La superposició "anyspy" prepara el sistema operatiu per utilitzar el bus SPI0-0 (aquí és on prèviament hem connectat físicament el WIZ820io. El "-0" ho especifica per utilitzar l'adreça "0" - recordeu que prèviament hem connectat el pin WIZ820io # J1-6 al "CEO" de RPi GIPO (pin núm. 24).
La superposició "w5500" indica al sistema operatiu com fer front al circuit integrat W5500 situat al mòdul WIZ820io. També defineix utilitzar RPi GPIO25 (Pin # 22) com a senyal INTn. Recordem una vegada més que prèviament hem establert aquesta connexió.
Aquest tipus d'informació es pot trobar a diversos fitxers, com aquest exemple que es troba a GITHub.
== == ==
És hora de reiniciar l'RPI i fer que tot això tingui efecte.
Pas 7: hem tornat a arrencar. Espero que somrigueu
Si tot ha anat bé, el vostre RPi hauria de tornar a arrencar amb normalitat. Somriu.
És hora de comprovar si l'IOS ha carregat els dos fitxers de superposició nous i si reconeix el mòdul WIZ820io adjunt.
Una vegada més obriu una finestra "Ordre".
Aquesta vegada a la sol·licitud, escriviu ifconfig (o utilitzeu l'ordre "ip" més recent) i premeu la tecla Retorn.
Probablement obtindreu una resposta llarga, de manera que haureu de desplaçar-vos fins a la part superior.
A la part superior, cerqueu les dues seccions:
Un anomenat eth0 i un segon anomenat: eth1: vegeu la imatge adjunta.
Al meu sistema, eth0 és el port Ethernet del RPI. eth1 és el nou port Ethernet WIZ820io.
== == ==
Si veieu els dos ports, també ho és el RPI. Avís a la imatge adjunta, eth1 ha enviat paquets i sense errors.
Ho he provat desconnectant el cable del port original i fent servir el navegador per anar a YouTube i a altres llocs web. Funciona. També l'he "fet ping" des de diversos dispositius diferents i funciona.
== == ==
Si no veieu eth1 (o alguna cosa similar), que no sigui eth0 en un RPI3 o RPi4, proveu de tornar enrere i comproveu que el config.txt s'hagi editat i desat correctament. Assegureu-vos que les dues superposicions estan al seu lloc i que l’ortografia és correcta (no hi ha majúscules si no les tinc, les majúscules són importants en aquest sistema).
== == ==
Si els dos ports estan presents, és possible que hi hagi una mica més de tasca de configuració a fer … al següent pas ….
Pas 8: Configuració del Raspberry Pi IOS (abans Raspian): configuració de l'adreça IP
Això és una mica fora de la meva roda, de manera que en aquest moment no puc proporcionar orientació.
Només cal saber que hi ha infinitat de llocs web, vídeos de YouTube i taulers de missatges que proporcionen aquest tipus d’informació.
però.. potser voldreu comprovar i fer algunes coses aquí.
1 - Comproveu de nou l'adreça IP que té actualment el vostre nou port. l'ha assignat el vostre servidor DHP o és la IP per defecte, alguna cosa del rang de: 169.254.xxx.yyy? És una altra cosa ??
2- Voleu una adreça IP estàtica (fixa) o una adreça IP dinàmica (assignada pel vostre servidor DHCP).
Comproveu el commutador / enrutador al qual està connectat el vostre RPI.. veu el vostre nou port? pot "fer ping"? (assegureu-vos de desconnectar el cable del port original si feu això; en cas contrari, l'RPi us enganyarà).
Utilitzeu ifconfig (o l'ordre "ip" més recent) per veure que les dades que vénen i vénen tenen un aspecte "normal" (per dir-ho d'alguna manera) i sense un nombre indegut d'errors.
== == ==
Per últim, crec que és el w5500.dtbo que assigna una adreça MAC al mòdul WIZ820io / W5500 … però no puc dir amb certesa si és on passa. No vaig poder trobar detalls immediatament sobre això.
Per a mi, sembla que s’assigna una adreça MAC diferent cada vegada que arrenca. A mi personalment no m'agrada això i, en conseqüència, es poden fer algunes coses per configurar l'adreça Mac (el programa "macchanger", per exemple, o configurar-lo mitjançant les ordres ip / ifconfig). Si algú de vosaltres troba una solució "arrencada" / "crontab" per a això, estaria encantat de saber com ho feu si esteu obert a compartir.
Podeu veure la meva a la imatge. Quan busco el proveïdor d'adreces de Mac per eth0 ==> b827eb, apareix com a Raspberry Pi Foundation. El proveïdor de eth1 ==> fa9770 apareix com a desconegut, de manera que, òbviament, es va generar al meu Pi en algun moment …
Pas 9: Conclusió
Gràcies per consultar aquest instructiu.
Vaig aprendre força treballant aquest petit projecte.
Si teniu cap pregunta o us interessa comprar algun dels taulers que he compost (poblat o no), tinc alguns extres que estan a la venda i que podem comentar.
En qualsevol cas, us insto a deixar comentaris, suggerir correccions (errors tipogràfics o mètodes o ??)
Sens dubte, si ho feu per vosaltres mateixos, estaria molt content de veure fotos de com l’heu abordat i dels vostres resultats finals / propòsit.
Gràcies.
P. S.: Gràcies a aquest company per l’orientació i les idees.
Pas 10: fitxers DTBO
Dos fitxers per afegir a la vostra carpeta de superposicions: necessaris per als passos núm. 4 i núm. 5
Recomanat:
Afegiu Bluetooth al sistema de música del vostre cotxe antic: 5 passos
Afegiu Bluetooth al vostre equip de música antic: Hola a tothom! Aquesta és la meva primera vegada que comparteixo alguns d’aquests projectes, espero que pugueu tenir almenys algunes idees per tornar a la vida del vostre antic equip estèreo. no està bé
Bloqueig d’anuncis a tota la xarxa amb el vostre Raspberry Pi: 4 passos
Bloqueig d’anuncis a tota la xarxa amb el vostre Raspberry Pi: experimenteu un web més net i ràpid i bloquegeu anuncis molestos a tota la vostra xarxa domèstica amb Pi-hole i el vostre Raspberry Pi
Afegiu Bluetooth al sistema de música del vostre cotxe antic: 11 passos
Afegiu Bluetooth al vostre estèreo de cotxe antic: tinc un equip de música al meu cotxe, però no té bluetooth, així que, bé, per què no afegir-lo?
Afegiu llums i música fantasmagòrica al vostre fanal Jack-O-Lantern: sense soldadura ni programació (tret que vulgueu): 9 passos (amb imatges)
Afegiu llums i música fantasmagòrica al vostre Jack-O-Lantern: sense soldadura ni programació (tret que vulgueu): teniu el Jack-O-Lantern més aterrador al vostre carrer afegint llums brillants i música fantasmagòrica. Aquesta també és una manera fantàstica de provar Arduino i l'electrònica programable, ja que tot el projecte es pot completar sense escriure codi ni soldar - tot
Inversor lligat a la xarxa (no alimenta la xarxa) Alternativa UPS: 7 passos (amb imatges)
Inversor lligat a la quadrícula de bricolatge (no alimenta la xarxa) Alternativa de SAI: aquest és un missatge de seguiment de la meva altra instrucció sobre com fer un inversor de connexió a la xarxa que no es retroalimenta, ja que ara sempre és possible fer-ho en certes àrees com a projecte de bricolatge i en alguns llocs no es permet alimentar-s’hi