Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Raspberry Pi 3b
- Schritt 2: Verbinden des Wiznet WIZ820io-Moduls mit dem Raspberry Pi GPIO-Bus
- Schritt 3: Meine Platine
- Schritt 4: Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im "boot" Ordner
- Schritt 5: Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im "overlays" Verzeichnis
- Schritt 6: Raspberry Pi IOS (ehemals Raspian) Konfiguration - Bearbeiten Sie die Datei mit dem Namen: Config.txt
- Schritt 7: Wir haben neu gestartet. Ich hoffe, Sie lächeln
- Schritt 8: Raspberry Pi IOS (ehemals Raspian) Konfiguration - IP-Adresse einstellen
- Schritt 9: Fazit
- Schritt 10: DTBO-Dateien
Video: Fügen Sie Ihrem Raspberry Pi einen WIZ820io / USR-ES1 - Wiznet W5500-Netzwerkport hinzu. - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Teils wegen meines Interesses, so etwas zu tun, und teils wegen meines Interesses an Codesys, habe ich schon seit einiger Zeit im Kopf, einen zweiten Netzwerkschnittstellen-Port an einen Raspberry Pi anzuschließen. Während ich andere Projekte durchführte, habe ich überlegt, gelesen, verglichen, geplant und eingekauft, um endlich etwas aufzubauen.
Ja - ich weiß.. es gibt ein paar "schlüsselfertige" einsatzbereite Systeme, die etwas Ähnliches tun würden, aber wirklich keines davon war verlockend genug, um mich von meinem Geld zu trennen.
In Wirklichkeit habe ich ein geringes Maß an Wissen und Erfahrung auf dem Raspberry Pi und Linux / Raspberry Pi IOS (Raspian) (ich mache es besser in der Windows- und Android-Welt), keine vertieften Kenntnisse in Netzwerken (ich kann Dinge zum Laufen bringen und Netzwerke aufbauen, aber darüber hinaus bin ich etwas überfordert) und ich habe gerade erst angefangen, Leiterplatten zu bauen. Natürlich bin ich kein Programmierer.
Einmal entschied ich mich schließlich, mit dieser Idee, etwas aufzubauen, voranzukommen und entschied mich für das WIZ820io / USR-ES1-Modul, das auf dem Wiznet - W5500 Integrated Circuit basiert. Dieses Modul kann über den Standard-SPI-Bus mit dem Raspberry Pi (und anderen MCUs) kommunizieren. Darüber hinaus läuft es mit 3,3 VDC, so dass mein Raspberry Pi NULL Schadensrisiken auslöst.
Beim Entwerfen der Platine habe ich mich dafür entschieden, sie in einer richtigen "HAT" -Konfiguration (Form und Fähigkeit) zu bauen, und zusätzlich zum Hinzufügen der Schaltung für das "WIZ820io-Modul" habe ich auch eine Reihe anderer Elemente hinzugefügt, die hier NICHT verwendet werden Netzwerkprojekt, das ich aber in Zukunft für andere Projekte nutzen kann und werde.
Das von mir entworfene / gebaute Board hat die folgenden Elemente.
1 - Eine Buchse zum Halten des Wiznet - WIZ820io - Ethernet-Port-Moduls (ich habe dafür einen benutzerdefinierten Eagle Footprint erstellt).
2 - Ein 30 mm - 5 VDC Lüfter für die Raspberry Pi CPU (ich habe dafür einen benutzerdefinierten Eagle Footprint erstellt).
3 - Ein "CAT24C32"-Speicherchip zur Einhaltung der HAT-Kompatibilitätsanforderungen (dieser wurde noch nicht von mir programmiert) (ich habe dafür einen benutzerdefinierten Eagle Design Block erstellt).
4 - Ein Mini-MAX3232 - UART - TTL-zu-RS-232-Pegelwandler, der an UART0 angeschlossen ist (ich habe dafür einen benutzerdefinierten Eagle Footprint erstellt).
5 - Eine rote LED (GPIO24), eine gelbe LED (GPIO23) und eine grüne LED (GPIO22) für die Ampel - Python-Programmierübungen.
6 - Eine grüne LED (GPIO18) und eine grüne LED (GPIO27) - für Programmierübungen und Fehlersuche.
7 - Ein an GPIO25 angeschlossener taktiler Schalter - für Programmierübungen und Fehlerbehebung (ich habe dafür einen benutzerdefinierten Eagle Footprint erstellt). Beachten Sie, dass dieser GPIO auch mit dem WIZ820io verwendet wird.
Wie ich bereits erwähnt habe, wird sich dieses Instructable nur mit Artikel # 1 auf dieser Liste befassen. Alle anderen Elemente, die ich dem Board hinzugefügt habe, sind aus anderen Gründen vorhanden, die nicht mit diesem Netzwerkschnittstellenprojekt zusammenhängen.
Lieferungen
Raspberry Pi - Ich habe einen älteren Raspberry Pi 3B verwendet. Daran ist nichts auszusetzen. Meiner hat einen toten HDMI-Anschluss, also lasse ich ihn "kopflos" mit TeamViewer laufen, um darauf zuzugreifen. Es klappt. Ich vermute stark, dass die meisten Versionen von Raspberry Pi mit diesem Instructable funktionieren, sofern sie neuere Versionen von Raspberry Pi IOS (Raspian) ausführen können.
Bevor ich mit all dem angefangen habe, habe ich natürlich das Betriebssystem aktualisiert:
sudo apt-get update
sudo apt-get upgrade
WIZ820io / USR-ES1 - Die Dokumentation dazu ist online beim OEM erhältlich
Leiterplatte - Ich habe Autodesk Eagle verwendet, um die Leiterplatte zu entwerfen und die Gerber-Dateien zu generieren, die für JLCPCB zum Bau der Leiterplatte erforderlich sind. Wie bereits erwähnt, habe ich auch den Speicherchip "CAT24C32" hinzugefügt, um die Anforderungen an die HAT-Kompatibilität zu erfüllen.
Schritt 1: Raspberry Pi 3b
Was den Raspberry Pi betrifft, habe ich dieses Projekt mit einem Standard-Raspberry Pi 3b zusammen mit der neuesten Version von Raspberry Pi IOS (Raspian) erstellt, die ich herunterladen und installieren konnte.
Da ist nichts besonderes. Ich besitze dieses Gerät seit ein paar Jahren und es hat für mich größtenteils gut funktioniert (na ja - der HDMI-Videoausgang ist tot, also bin ich gezwungen, mit TeamViewer kopflos zu laufen). Sie sollten dies nicht tun müssen.
Ich vermute, dass jedes RPi in der Lage sein sollte, sich mit einem WIZ820io / USR-ES1 - Wiznet W5500 zu verbinden und dies zum Laufen zu bringen, sowie viele andere Marken, die auf demselben Markt konkurrieren (Beagle Bone, Orange, Tinker usw.) und ein ähnliches verwenden Modell Linux-basiertes Betriebssystem.
Mit sowas habe ich NULL Erfahrung. Ich habe wenig Erfahrung mit der Himbeere - schau, wo mich das hingebracht hat:)
Schritt 2: Verbinden des Wiznet WIZ820io-Moduls mit dem Raspberry Pi GPIO-Bus
Sehen Sie sich die angehängten Bilder an.
Das Wiznet WIZ820io-Modul bietet zwei Reihen mit jeweils 6 Pins als Schnittstelle.
Die Reihen sind mit "J1 bzw. "J2" gekennzeichnet.
Das von ihnen bereitgestellte Datenblatt enthält ein sehr schönes farbcodiertes Diagramm jedes Pins. Dieses Diagramm soll Ihnen helfen, diese Pins mit Ihren Raspberry PI GPIO-Pins zu verbinden. Sie sind ziemlich gut ein NAME für NAME-Match.
Die Pinbelegung des Raspberry Pi finden Sie hier: pinout.xyz
Ich habe diese Pins wie folgt angeschlossen (siehe angehängtes Bild):
Da ich eine echte Platine gemacht habe, wurden natürlich alle Grounds (GND) miteinander verbunden. Das gleiche gilt für die 3,3-V-Pins - meine Platine hat diese miteinander verbunden.
Ein paar Dinge zu beachten..
1. - J2 Pin # 5 - RSTn - Ich habe das mit RPi GPIO # 17 (Pin # 11) verbunden - Das war Vorsicht. Ich glaube nicht, dass es verwendet wird.
2. - J1 Pin #6 - INTn - Das ist mit GPIO25 (Pin #22) verbunden. Dies ist erforderlich, da wir uns im Konfigurationsschritt des Raspberry Pi IOS darauf beziehen.
3. - J1- Pin #5 - SCNn - Das ist mit dem Raspberry Pi "CS0" (Pin # 24) verbunden. Das gibt diesem Modul effektiv die Adresse von "Module 0" auf dem RPi SPI Bus. Auch hier beziehen wir uns im Raspberry Pi IOS-Konfigurationsschritt darauf.
Schritt 3: Meine Platine
Anbei das Eagle "Point to Point" Schema, das ich erstellt habe und mit dem ich die Gerber-Dateien generiert habe.
Anbei sind auch Bilder des "Circuit Boards", das ich für dieses Projekt erstellt habe.
Dieses Board akzeptiert eine Reihe verschiedener Wiznet-Produkte des WIZ820io-Stils.
Schritt 4: Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im "boot" Ordner
Damit der Raspberry Pi das neu installierte WIZ820io-Modul auf seinem SPI-Bus "sieht", muss das IOS darauf aufmerksam gemacht werden, damit es beim "BOOT-Up" damit umgehen kann.
Dazu fügen wir einfach zwei Zeilen hinzu:../../boot/config.txt
Zuerst.. Verwenden eines Terminalfensters / -fensters ==> ls
cd../boot, navigieren Sie zu../boot und listen Sie (ls) das Verzeichnis auf
Verweisen Sie auf das angehängte Bild. Dort müssen Sie nach zwei Einträgen suchen und das Vorhandensein bestätigen - ich habe sie rot eingekreist.
Eine ist eine Datei namens: "config.txt"
Der zweite ist ein Ordner mit dem Namen: "overlays"
== == == ==
Sobald Sie das Vorhandensein dieser beiden Einträge bestätigt haben, können Sie mit dem nächsten Schritt fortfahren
Schritt 5: Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im "overlays" Verzeichnis
Wechseln Sie in das Verzeichnis "Overlays"
Typ: CD-Overlays
Nach Drücken der "Enter"-Taste gelangen Sie in den Ordner "Overlays" (siehe angehängtes Bild).
Listen Sie den Inhalt des Verzeichnisses auf.
Typ: ls
Nachdem Sie die Eingabetaste gedrückt haben, sollten Sie eine lange Liste des Inhalts dieses Verzeichnisses sehen. Die Auflistung vielleicht alphabetisch.
(Siehe angehängte Bilder (2 von)). Beachten Sie, dass fast ALLE Dateien mit der Erweiterung: *.dtbo benannt sind. Einige wenige haben die Erweiterung *.dtb
Dies sind ALLE "Gerätebaum"-Overlay-Dateien
Sie müssen das Vorhandensein von zwei "Overlay"-Dateien bestätigen (siehe angehängte Bilddateien).
Erstens - eine Datei namens anyspi.dtbo (für diese müssen Sie möglicherweise die Bildlaufleiste am rechten Rand des Fensters verwenden, um nach oben zu scrollen und die alphabetisch geordnete anyspi.dtbo zu finden).
2. - eine Datei namens w5500.dtbo
== == ==
Wenn Sie bestätigen können, dass diese beiden Dateien vorhanden sind, sind Sie in guter Verfassung und können zum Verzeichnis../boot zurückkehren.
Geben Sie: cd../ ein, nachdem Sie die ENTER-Taste gedrückt haben, sollten Sie in das /boot-Verzeichnis zurückkehren.
Listen Sie das zu bestätigende Verzeichnis auf: Geben Sie: ls ein und drücken Sie die EINGABETASTE
Schritt 6: Raspberry Pi IOS (ehemals Raspian) Konfiguration - Bearbeiten Sie die Datei mit dem Namen: Config.txt
Im Verzeichnis../boot können wir nun einige kleine Änderungen an der Datei mit dem Namen config.txt vornehmen
Wir rufen zuerst den "nano"-Editor als "Superuser" auf (sudo)
sudo = 'Superuser'
nano ist der Texteditor, den wir verwenden werden
und wie bereits erwähnt, ist config.txt die Datei, die wir bearbeiten möchten.
Geben Sie Folgendes ein: sudo nano config.txt und drücken Sie die EINGABETASTE.
Dadurch wird der Editor geöffnet und der Inhalt der Datei config.txt angezeigt. Wenn der Editor nicht oder leer geöffnet wird, beenden Sie (wenn in Nano) und überprüfen Sie Ihre Rechtschreibung.
Wenn alles gut gelaufen ist, sollten Sie etwas wie im zweiten angehängten Bild sehen. "nano" zeigt ganz "oben" der Datei an. Sie müssen ganz nach unten scrollen.
Fügen Sie ganz unten in der Datei die beiden folgenden "dtoverlay-Anweisungen" hinzu:
dtoverlay=anyspi, spi0-0, dev="w5500", speed=30000000dtoverlay=w5500
Überprüfen Sie alle Rechtschreibung, und wenn sie übereinstimmt, drücken Sie die beiden Tasten "Strg-x", um zu beenden.. und antworten Sie entsprechend, um zu speichern und zu beenden.
== == == ==
Beim nächsten Boot-Up (und für alle Boot-Ups danach, wenn diese beiden Anweisungen dort verbleiben) ruft das Betriebssystem nun auch das Overlay namens "anyspi" und das Overlay namens "w5500" auf.
Das Overlay "anyspy" bereitet das Betriebssystem auf die Verwendung des SPI0-0-Busses vor (dort haben wir das WIZ820io zuvor physisch angeschlossen. Das "-0" gibt an, dass es die Adresse "0" verwendet - erinnern Sie sich daran, dass wir zuvor den WIZ820io-Pin angeschlossen haben #J1-6 zum RPi GIPO "CEO" (Pin #24).
Das Overlay "w5500" teilt dem Betriebssystem mit, wie es mit der integrierten Schaltung W5500 im WIZ820io-Modul umzugehen hat. Es definiert auch, RPi GPIO25 (Pin #22) als INTn-Signal zu verwenden. Erinnern Sie sich noch einmal daran, dass wir diese Verbindung zuvor hergestellt haben.
Diese Art von Informationen finden Sie in verschiedenen Dateien, wie in diesem Beispiel auf GITHub.
== == ==
Es ist an der Zeit, das RPI neu zu starten und all dies wirksam zu machen.
Schritt 7: Wir haben neu gestartet. Ich hoffe, Sie lächeln
Wenn alles gut gelaufen ist, sollte Ihr RPi normal neu gestartet werden. Lächeln.
Zeit zu überprüfen, ob das IOS die beiden neuen Overlay-Dateien geladen hat und das angeschlossene WIZ820io-Modul erkennt.
Öffnen Sie erneut ein "Befehl"-Fenster.
Geben Sie diesmal an der Eingabeaufforderung ifconfig ein (oder verwenden Sie den neueren Befehl "ip") und drücken Sie die Eingabetaste.
Sie werden wahrscheinlich eine lange Antwort erhalten, daher müssen Sie zurück nach oben scrollen.
Suchen Sie oben nach den beiden Abschnitten:
Eine namens eth0 und eine zweite namens: eth1 - siehe angehängtes Bild.
In meinem System ist eth0 der Ethernet-Port des RPI. eth1 ist der neue WIZ820io Ethernet-Port.
== == ==
Wenn Sie die beiden Ports sehen, ist dies auch der RPI. Beachten Sie im angehängten Bild, dass eth1 Pakete gesendet hat, und zwar ohne Fehler.
Ich habe dies getestet, indem ich das ursprüngliche Portkabel abgezogen und den Browser verwendet habe, um zu YouTube und anderen Websites zu gehen. Es funktioniert. Ich habe es auch von einigen verschiedenen Geräten "ping'd" und es funktioniert.
== == ==
Wenn Sie eth1 (oder etwas Ähnliches) nicht sehen - außer eth0 auf einem RPI3 oder RPi4, versuchen Sie, zurückzugehen und zu überprüfen, ob die config.txt richtig bearbeitet und gespeichert wurde. Stellen Sie sicher, dass die beiden Überlagerungen vorhanden sind und die Schreibweise korrekt ist (keine Großbuchstaben, wo ich sie nicht habe - Großbuchstaben sind in diesem System wichtig).
== == ==
Wenn die beiden Ports vorhanden sind, kann es noch etwas Konfigurationsarbeit geben… weiter zum nächsten Schritt….
Schritt 8: Raspberry Pi IOS (ehemals Raspian) Konfiguration - IP-Adresse einstellen
Dies ist etwas außerhalb meines Steuerhauses, daher kann ich derzeit keine Anleitung geben.
Wissen Sie nur, dass es unzählige Websites, YouTube-Videos und Message Boards gibt, die diese Art von Informationen bereitstellen.
aber.. vielleicht möchten Sie hier ein paar Dinge überprüfen und tun.
1 - Überprüfen Sie die IP-Adresse, die Ihr neuer Port derzeit hat. wurde es von Ihrem DHP-Server zugewiesen oder ist es die Standard-IP - etwas im Bereich von: 169.254.xxx.yyy ? Ist es etwas anderes??
2- Möchten Sie eine statische (feste) IP-Adresse oder eine dynamische IP-Adresse (von Ihrem DHCP-Server zugewiesen).
Überprüfen Sie den Switch / Router, mit dem Ihr RPI verbunden ist. Wird Ihr neuer Port angezeigt? kann es "pingen"? (Stellen Sie sicher, dass Sie in diesem Fall das Original-Portkabel trennen - sonst kann das RPi Sie täuschen).
Verwenden Sie ifconfig (oder den neueren "ip"-Befehl), um zu sehen, dass die ein- und ausgehenden Daten "normal" (sozusagen) und ohne übermäßig viele Fehler aussehen.
== == ==
Zu guter Letzt.. Ich glaube, dass es das w5500.dtbo ist, das dem WIZ820io / W5500-Modul eine MAC-Adresse zuweist.. aber ich kann nicht mit Sicherheit sagen, ob es dort passiert. Details dazu konnte ich auf Anhieb nicht finden.
Für mich scheint es, dass bei jedem Hochfahren eine andere MAC-Adresse zugewiesen wird. Ich persönlich mag das nicht, und folglich gibt es Dinge, die getan werden können, um die Mac-Adresse einzustellen (zum Beispiel das Programm "macchanger" oder die Einstellung über die ip / ifconfig-Befehle). Wenn einer von Ihnen eine "Boot-up" / "crontab"-Lösung dafür findet, würde ich mich freuen, zu hören, wie Sie es machen, wenn Sie offen für das Teilen sind.
Sie können meine im Bild sehen. Wenn ich den Mac-Adressanbieter für eth0 ==> b827eb suche, wird er als Raspberry Pi Foundation angezeigt. Der Anbieter für eth1 ==> fa9770 wird als unbekannt angezeigt, also wurde er offensichtlich irgendwann auf meinem Pi generiert.
Schritt 9: Fazit
Vielen Dank für das Auschecken dieses Instructable.
Durch dieses kleine Projekt habe ich einiges gelernt.
Wenn Sie Fragen haben oder daran interessiert sind, eines der von mir hergestellten Boards (bestückt oder nicht) zu kaufen, habe ich einige Extras, die zum Verkauf stehen und die wir besprechen können.
In jedem Fall fordere ich Sie auf, Kommentare zu hinterlassen, Korrekturen vorzuschlagen (Tippfehler oder Methoden oder??)
Wenn Sie dies selbst machen, würde ich mich sehr über Fotos von Ihrer Vorgehensweise und Ihren Endergebnissen / Zweck freuen.
Vielen Dank.
P. S.: Danke an diesen Kollegen für die Anleitung und Ideen.
Schritt 10: DTBO-Dateien
Zwei Dateien zum Hinzufügen zu Ihrem "Overlays-Ordner - Erforderlich für die Schritte 4 und 5"
Empfohlen:
So fügen Sie einen interaktiven Bot in Discord hinzu – wikiHow
Wie man einen interaktiven Bot in Discord hinzufügt: In diesem Tutorial werde ich zeigen, wie man einen eigenen interaktiven Bot erstellt, der mit einigen wenigen Kommandos funktioniert. Discord ist eine Skype/Whats-App-Social-Media-App, die Gamer zusammenbringt. Sie können einen eigenen Kanal haben, überprüfen, welches Spiel jedes Mitglied spielt
So fügen Sie Ihrem Projekt ein E-Ink-Display hinzu: 12 Schritte (mit Bildern)
So fügen Sie Ihrem Projekt ein E-Ink-Display hinzu: Viele Projekte beinhalten die Überwachung irgendeiner Art von Daten, wie z. B. Umgebungsdaten, wobei häufig ein Arduino zur Steuerung verwendet wird. In meinem Fall wollte ich den Salzgehalt in meinem Wasserenthärter überwachen. Vielleicht möchten Sie über Ihr Heimnetzwerk auf die Daten zugreifen
So fügen Sie Videos von Ubuntu zu Ihrem iPhone hinzu – wikiHow
So fügen Sie Videos von Ubuntu zu Ihrem iPhone hinzu: Wenn Sie Ubuntu und das iPhone verwenden, möchten Sie möglicherweise einige Videos mit Ihrem Computer zu Ihrem Gerät hinzufügen. Keine Sorge, es ist ganz einfach und erfordert keinen Jailbreak iPhone
So fügen Sie einer CRPSHARE-Karte (CommunityWalk) einen Marker hinzu – wikiHow
So fügen Sie einer CRPSHARE-Karte (CommunityWalk) eine Markierung hinzu: Diese Anleitung führt Sie durch das Hinzufügen einer Markierung zu einer CRPSHARE-Karte. Diese Karten werden von CommunityWalk gehostet und werden von der Google Maps-Technologie unterstützt. Du benötigst ein CommunityWalk-Konto (kostenlos), um zu CRPSHARE-Karten beizutragen
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für