Table des matières:

Ajoutez un port réseau WIZ820io / USR-ES1 - Wiznet W5500 à votre Raspberry Pi. : 10 étapes
Ajoutez un port réseau WIZ820io / USR-ES1 - Wiznet W5500 à votre Raspberry Pi. : 10 étapes

Vidéo: Ajoutez un port réseau WIZ820io / USR-ES1 - Wiznet W5500 à votre Raspberry Pi. : 10 étapes

Vidéo: Ajoutez un port réseau WIZ820io / USR-ES1 - Wiznet W5500 à votre Raspberry Pi. : 10 étapes
Vidéo: Ajouter un port série sur un routeur dans Packet Tracer 2024, Novembre
Anonim
Ajoutez un port réseau WIZ820io / USR-ES1 - Wiznet W5500 à votre Raspberry Pi
Ajoutez un port réseau WIZ820io / USR-ES1 - Wiznet W5500 à votre Raspberry Pi

En partie à cause de mon intérêt à faire quelque chose comme ça, et en partie à cause de mon intérêt pour Codesys, j'ai en tête depuis un moment maintenant d'essayer de connecter un deuxième port d'interface réseau à un Raspberry Pi. Donc, tout en faisant d'autres projets, j'ai réfléchi, lu, comparé, planifié et acheté pour pouvoir enfin aller de l'avant et construire quelque chose.

Ouais - je sais… il y a quelques systèmes "clés en main" prêts à l'emploi qui feraient quelque chose de similaire, mais vraiment aucun d'entre eux n'était assez attrayant pour me séparer de mon argent.

En réalité, j'ai un faible niveau de connaissances et d'expérience sur le Raspberry Pi et Linux / Raspberry Pi IOS (Raspian) (je fais mieux dans les mondes Windows et Android), aucune connaissance approfondie du Networking (je peux faire fonctionner les choses et construire des réseaux, mais au-delà de ça, je suis un peu au-dessus de ma tête), et je viens juste de commencer à faire des circuits imprimés. Bien sûr, je ne suis pas un programmeur.

Une fois, j'ai finalement décidé d'aller de l'avant avec cette idée de construire quelque chose et j'ai choisi d'utiliser le module WIZ820io / USR-ES1, basé sur le circuit intégré Wiznet - W5500. Ce module peut communiquer avec le Raspberry Pi (et d'autres MCU) en utilisant le bus SPI standard. De plus, il fonctionne à 3,3 VDC, il ne présente donc aucun risque de dommage pour mon Raspberry Pi.

Lors de la conception du circuit imprimé, j'ai choisi de le construire dans une configuration "HAT" appropriée (forme et capacité), et en plus d'ajouter les circuits pour le "module WIZ820io, j'ai également ajouté un certain nombre d'autres éléments qui ne sont PAS utilisés dans ce projet de réseautage, mais que je peux et serai utilisé pour d'autres projets à l'avenir.

La carte que j'ai conçue/construite contient les éléments suivants.

1 - Une prise pour contenir le Wiznet - WIZ820io - module de port Ethernet (j'ai fait un Eagle Footprint personnalisé pour cela).

2 - Un ventilateur de refroidissement 30 mm - 5 VDC pour le processeur Raspberry Pi (j'ai fait une empreinte d'aigle personnalisée pour cela).

3 - Une puce mémoire "CAT24C32" pour maintenir les exigences de compatibilité HAT (ce n'est pas encore programmé par moi) (j'ai fait un Eagle Design Block personnalisé pour cela).

4 - Un mini convertisseur de niveau MAX3232 - UART - TTL vers RS-232 connecté à UART0 (j'ai fait une empreinte d'aigle personnalisée pour cela).

5 - Une LED Rouge (GPIO24), Une LED Jaune (GPIO23) et une LED Verte (GPIO22) à utiliser pour les exercices de programmation Traffic Light - Python.

6 - Une LED verte (GPIO18) et une LED verte (GPIO27) - pour les exercices de programmation et de dépannage.

7 - Un interrupteur tactile connecté au GPIO25 - pour les exercices de programmation et le dépannage (j'ai fait un Eagle Footprint personnalisé pour cela). NOTEZ que ce GPIO sera également utilisé avec le WIZ820io.

Donc, comme je l'ai noté précédemment, ce Instructable ne traitera que de l'article n ° 1 de cette liste. Tous les autres éléments que j'ai ajoutés au tableau sont là pour d'autres raisons non liées à ce projet d'interface réseau.

Fournitures

Raspberry Pi - J'ai utilisé un ancien Raspberry Pi 3B. Rien de mal à cela. Le mien a un port HDMI mort, donc je l'exécute "sans tête" en utilisant TeamViewer pour y accéder. Ça marche. Je soupçonne fortement que la plupart des versions de Raspberry Pi fonctionneront avec ce Instructable À FOURNIR qu'elles peuvent exécuter des versions plus récentes de Raspberry Pi IOS (Raspian).

Avant de commencer tout ça, j'ai bien sûr mis à jour le système d'exploitation:

sudo apt-get mise à jour

sudo apt-get mise à niveau

WIZ820io / USR-ES1 - La documentation à ce sujet est disponible en ligne auprès de l'OEM

Carte de circuit imprimé - J'ai utilisé Autodesk Eagle pour concevoir le circuit imprimé et générer les fichiers Gerber nécessaires à JLCPCB pour construire la carte de circuit imprimé. Comme indiqué précédemment, j'ai également ajouté la puce mémoire "CAT24C32" pour maintenir l'exigence de compatibilité HAT.

Étape 1: Raspberry Pi 3b

Framboise Pi 3b
Framboise Pi 3b

Quant au Raspberry Pi, j'ai réalisé ce projet en utilisant un Raspberry Pi 3b standard, accompagné de la dernière version de Raspberry Pi IOS (Raspian) que j'ai pu télécharger et installer.

Rien de spécial là-bas. Je possède cette unité depuis quelques années et elle a plutôt bien fonctionné pour moi (enfin - la sortie vidéo HDMI est morte, je suis donc obligé de fonctionner sans tête avec TeamViewer). Vous ne devriez pas avoir besoin de le faire.

Je soupçonne que n'importe quel RPi devrait pouvoir se connecter à un WIZ820io / USR-ES1 - Wiznet W5500 et faire fonctionner cela, ainsi que de nombreuses autres marques concurrentes sur le même marché (Beagle Bone, Orange, Tinker, etc.) et utiliser un similaire modèle de système d'exploitation basé sur Linux.

J'ai ZÉRO expérience avec aucun de ceux-ci. J'ai peu d'expérience avec le Raspberry - regardez où cela m'a mené:)

Étape 2: interfacer le module Wiznet WIZ820io avec le bus GPIO Raspberry Pi

Interfaçage du module Wiznet WIZ820io avec le bus GPIO Raspberry Pi
Interfaçage du module Wiznet WIZ820io avec le bus GPIO Raspberry Pi
Interfaçage du module Wiznet WIZ820io avec le bus GPIO Raspberry Pi
Interfaçage du module Wiznet WIZ820io avec le bus GPIO Raspberry Pi
Interfaçage du module Wiznet WIZ820io avec le bus GPIO Raspberry Pi
Interfaçage du module Wiznet WIZ820io avec le bus GPIO Raspberry Pi

Consultez les images jointes.

Le module Wiznet WIZ820io fournit deux rangées de 6 broches chacune avec lesquelles s'interfacer.

Les lignes sont étiquetées "J1 et "J2" respectivement.

La fiche technique qu'ils fournissent a un très beau diagramme codé par couleur de chaque broche. Ce schéma est destiné à vous aider à connecter ces broches aux broches GPIO de votre Raspberry PI. Ils sont assez bien une correspondance NOM pour NOM.

Le brochage du Raspberry Pi se trouve ici: pinout.xyz

J'ai connecté ces broches comme suit (voir image ci-jointe):

Bien sûr, depuis que j'ai fait un véritable circuit imprimé, toutes les masses (GND) étaient connectées ensemble. Il en va de même avec les broches à 3,3 V - ma carte de circuit imprimé les a connectées ensemble.

Quelques points à noter..

1er - J2 Pin #5 - RSTn - Je l'ai connecté au RPi GPIO #17 (Broche #11) - C'était un avertissement. Je ne crois pas qu'il soit utilisé.

2ème - J1 Broche #6 - INTn - Qui est connecté à GPIO25 (Broche # 22). Ceci est nécessaire, car dans l'étape de configuration de l'IOS Raspberry Pi, nous y ferons référence.

3ème - J1- Broche #5 - SCNn - Qui est connecté au Raspberry Pi "CS0" (Broche # 24). Effectivement cela donne à ce module l'adresse du "Module 0" sur le bus RPi SPI. Encore une fois, dans l'étape de configuration Raspberry Pi IOS, nous y ferons référence.

Étape 3: Mon circuit imprimé

Mon circuit imprimé
Mon circuit imprimé
Mon circuit imprimé
Mon circuit imprimé
Mon circuit imprimé
Mon circuit imprimé

Ci-joint le schéma Eagle "Point to Point" que j'ai créé et avec lequel j'ai généré les fichiers Gerber.

Sont également jointes des images du "Circuit Board" que j'avais composé pour ce projet.

Cette carte accepte un certain nombre de produits Wiznet différents du style WIZ820io.

Étape 4: Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le dossier "boot"

Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le
Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le

Pour que le Raspberry Pi "voit" le module WIZ820io nouvellement installé sur son bus SPI, l'IOS doit être mis au courant, afin qu'il puisse le gérer pendant le "BOOT Up".

Pour ce faire, nous allons simplement ajouter deux lignes à:../../boot/config.txt

Tout d'abord.. Utilisation d'un terminal / fenêtre ==> ls

cd../boot, naviguez jusqu'à../boot et listez (ls) le répertoire

Référencez l'image ci-jointe. Là, vous devez rechercher et confirmer la présence de deux entrées - je les ai encerclées en rouge.

L'un est un fichier nommé: "config.txt"

Le second est un dossier nommé: "overlays"

== == == ==

Une fois que vous avez confirmé la présence de ces deux entrées, vous pouvez passer à l'étape suivante

Étape 5: Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le répertoire "overlays"

Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le
Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le
Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le
Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le
Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le
Configuration Raspberry Pi IOS (anciennement Raspian) - Entrées dans le

Changer de répertoire pour le répertoire "overlays""

Type: incrustations de CD

Après avoir appuyé sur la touche "enter", cela vous amènera au dossier "overlays" (voir image ci-jointe).

Lister le contenu du répertoire.

Type: ls

Après avoir appuyé sur la touche "Entrée", vous devriez voir une longue liste du contenu de ce répertoire. La liste peut-être alphabétique.

(voir images ci-jointes (2 de)). Notez que presque TOUS les fichiers sont nommés avec une extension de: *.dtbo vous pouvez également remarquer quelques-uns nommés avec une extension de: *.dtb

Ce sont TOUS les fichiers de superposition "Device Tree"

Vous devez confirmer la présence de deux fichiers "overlay" (voir fichiers images joints).

1er - un fichier nommé: anyspi.dtbo (pour celui-ci, vous devrez peut-être utiliser la barre de défilement dans la marge droite de la fenêtre pour revenir en haut et trouver le anyspi.dtbo classé par ordre alphabétique).

2ème - un fichier nommé w5500.dtbo

== == ==

Si vous pouvez confirmer que ces deux fichiers sont présents, alors vous êtes en forme et pouvez retourner dans le répertoire../boot.

Tapez: cd../ après avoir appuyé sur la touche ENTER, vous devriez être ramené au répertoire /boot.

Lister le répertoire à valider: taper: ls et taper la touche ENTER

Étape 6: Configuration Raspberry Pi IOS (anciennement Raspian) - Modifier le fichier nommé: Config.txt

Configuration Raspberry Pi IOS (anciennement Raspian) - Modifier le fichier nommé: Config.txt
Configuration Raspberry Pi IOS (anciennement Raspian) - Modifier le fichier nommé: Config.txt
Configuration Raspberry Pi IOS (anciennement Raspian) - Modifier le fichier nommé: Config.txt
Configuration Raspberry Pi IOS (anciennement Raspian) - Modifier le fichier nommé: Config.txt
Configuration Raspberry Pi IOS (anciennement Raspian) - Modifier le fichier nommé: Config.txt
Configuration Raspberry Pi IOS (anciennement Raspian) - Modifier le fichier nommé: Config.txt

Dans le répertoire../boot, nous pouvons maintenant travailler pour apporter quelques petites modifications au fichier nommé: config.txt

On fera d'abord appel à l'éditeur "nano" en tant que "super utilisateur" (sudo)

sudo = 'superutilisateur'

nano est l'éditeur de texte que nous utiliserons

et comme indiqué, config.txt est le fichier que nous voulons éditer.

Tapez: sudo nano config.txt et appuyez sur ENTER.

Cela fera apparaître l'éditeur et affichera le contenu du fichier config.txt. Si l'éditeur ne s'ouvre pas ou s'ouvre vide, quittez (si dans nano) et vérifiez votre orthographe.

Si tout s'est bien passé, vous devriez voir quelque chose comme dans la deuxième image ci-jointe. "nano" affichera le tout "haut" du fichier. vous devrez faire défiler jusqu'en bas.

Tout en bas du fichier, ajoutez les deux "instructions dtoverlay" ci-dessous:

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

Vérifiez bien l'orthographe et, si elle correspond, appuyez sur les deux touches "Ctrl-x" pour quitter… et répondez de manière appropriée pour enregistrer et quitter.

== == == ==

Au prochain démarrage (et pour tous les démarrages ultérieurs si ces deux instructions restent là), le système d'exploitation appellera désormais également l'overlay nommé "anyspi" et le overlay nommé "w5500".

L'overlay "anyspy" prépare le système d'exploitation à utiliser le bus SPI0-0 (c'est là que nous avons précédemment connecté physiquement le WIZ820io. Le "-0" le spécifie pour utiliser l'adresse "0" - rappelons que nous avons précédemment connecté la broche WIZ820io #J1-6 au "PDG" de RPi GIPO (broche #24).

La superposition "w5500" indique au système d'exploitation comment traiter le circuit intégré W5500 situé dans le module WIZ820io. Il définit également l'utilisation du RPi GPIO25 (broche #22) comme signal INTn. Rappelons encore une fois que nous avons déjà fait cette connexion.

Ce type d'informations peut être trouvé dans divers fichiers, comme cet exemple trouvé sur GITHub.

== == ==

Il est temps de redémarrer le RPI et de faire en sorte que tout cela prenne effet.

Étape 7: Nous avons redémarré. J'espère que vous souriez

Nous avons redémarré. J'espère que vous souriez
Nous avons redémarré. J'espère que vous souriez
Nous avons redémarré. J'espère que vous souriez
Nous avons redémarré. J'espère que vous souriez

Si tout s'est bien passé, votre RPi aurait dû redémarrer normalement. Le sourire.

Il est temps de vérifier si l'IOS a chargé les deux nouveaux fichiers de superposition, et s'il reconnaît le module WIZ820io attaché.

Ouvrez à nouveau une fenêtre "Commande".

Cette fois, à l'invite, tapez ifconfig (ou utilisez la nouvelle commande "ip") et appuyez sur la touche Entrée.

Vous obtiendrez probablement une longue réponse, vous devrez donc revenir en haut.

De retour en haut, recherchez les deux sections:

Un nommé eth0 et un second nommé: eth1 - voir l'image ci-jointe.

Dans mon système, eth0 est le port Ethernet sur le RPI. eth1 est le nouveau port Ethernet WIZ820io.

== == ==

Si vous voyez les deux ports, le RPI l'est aussi. Remarquez dans l'image ci-jointe, eth1 a envoyé des paquets, et sans erreurs.

J'ai testé cela en débranchant le câble du port d'origine et en utilisant le navigateur pour accéder à YouTube et à d'autres sites Web. Cela fonctionne. Je l'ai également "ping'd" à partir de quelques appareils différents et cela fonctionne.

== == ==

Si vous ne voyez pas eth1 (ou quelque chose de similaire) - autre que eth0 sur un RPI3 ou RPi4, essayez de revenir en arrière et de vérifier que le config.txt a été correctement édité et enregistré. Assurez-vous que les deux superpositions sont en place et que l'orthographe est correcte (pas de majuscules là où je n'en ai pas - les majuscules sont importantes dans ce système).

== == ==

Si les deux ports sont présents, il peut y avoir un peu plus de travail de configuration à faire… à l'étape suivante….

Étape 8: Configuration Raspberry Pi IOS (anciennement Raspian) - Définition de l'adresse IP

C'est un peu en dehors de ma timonerie, donc pour le moment je ne suis pas en mesure de fournir des conseils.

Sachez simplement qu'il existe d'innombrables sites Web, vidéos YouTube et babillards électroniques qui fournissent ce type d'informations.

mais.. vous voudrez peut-être vérifier et faire quelques choses ici.

1 - Vérifiez l'adresse IP que votre nouveau port possède actuellement. a-t-il été attribué par votre serveur DHP, ou s'agit-il de l'adresse IP par défaut - quelque chose dans la plage de: 169.254.xxx.yyy ? C'est autre chose ??

2- Voulez-vous une adresse IP statique (fixe) ou une adresse IP dynamique (assignée par votre serveur DHCP).

Vérifiez le commutateur/routeur auquel votre RPI est connecté. voit-il votre nouveau port ? peut-il le "pinger" ? (assurez-vous de déconnecter le câble du port d'origine si vous faites cela - sinon le RPi peut vous tromper).

Utilisez ifconfig (ou la nouvelle commande "ip") pour voir que les données entrantes et sortantes semblent "normales" (pour ainsi dire) et sans un nombre excessif d'erreurs.

== == ==

Enfin.. Je crois que c'est le w5500.dtbo qui attribue une adresse MAC au module WIZ820io / W5500.. mais je ne peux pas dire avec certitude si c'est là que cela se produit. Je n'ai pas pu trouver immédiatement de détails à ce sujet.

Pour moi, il semble qu'une adresse MAC différente soit attribuée à chaque démarrage. Personnellement, je n'aime pas ça, et par conséquent il y a des choses qui peuvent être faites pour régler l'adresse Mac (le programme "macchanger" par exemple ou le régler via les commandes ip/ifconfig). Si l'un d'entre vous trouve une solution de "démarrage" / "crontab" à cela, je serais heureux de savoir comment vous le faites si vous êtes ouvert au partage.

Vous pouvez voir le mien dans l'image. Lorsque je recherche le fournisseur d'adresses Mac pour eth0 ==> b827eb, il s'agit de la Fondation Raspberry Pi. Le fournisseur pour eth1 ==> fa9770 apparaît comme inconnu, donc évidemment, il a été généré sur mon Pi à un moment donné.

Étape 9: Conclusion

Merci d'avoir consulté ce Instructable.

J'ai beaucoup appris grâce à ce petit projet.

Si vous avez des questions ou si vous êtes intéressé par l'achat d'une des planches que j'ai composées (peuplées ou non), j'ai quelques extras qui sont à vendre et dont nous pouvons discuter.

Dans tous les cas, je vous invite à laisser des commentaires, suggérer des corrections (fautes de frappe ou méthodes ou ??)

Très certainement, si vous faites cela pour vous-même, je serais très heureux de voir des photos de la façon dont vous l'avez abordé et de vos résultats finaux / objectif.

Merci.

P. S.: Merci à cet homme pour les conseils et les idées.

Étape 10: Fichiers DTBO

Deux fichiers à ajouter à votre dossier de superpositions - Nécessaire pour les étapes 4 et 5

Conseillé: