Inhaltsverzeichnis:

Fügen Sie Ihrem Raspberry Pi einen WIZ820io / USR-ES1 - Wiznet W5500-Netzwerkport hinzu. - Gunook
Fügen Sie Ihrem Raspberry Pi einen WIZ820io / USR-ES1 - Wiznet W5500-Netzwerkport hinzu. - Gunook

Video: Fügen Sie Ihrem Raspberry Pi einen WIZ820io / USR-ES1 - Wiznet W5500-Netzwerkport hinzu. - Gunook

Video: Fügen Sie Ihrem Raspberry Pi einen WIZ820io / USR-ES1 - Wiznet W5500-Netzwerkport hinzu. - Gunook
Video: Home Assistant auf dem Raspberry Pi 4 installieren | Deutsch - German | DigitaleWelt 2024, November
Anonim
Fügen Sie Ihrem Raspberry Pi einen WIZ820io / USR-ES1 - Wiznet W5500-Netzwerkport hinzu
Fügen Sie Ihrem Raspberry Pi einen WIZ820io / USR-ES1 - Wiznet W5500-Netzwerkport hinzu

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

Raspberry Pi 3b
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

Anschließen des Wiznet WIZ820io-Moduls an den Raspberry Pi GPIO-Bus
Anschließen des Wiznet WIZ820io-Moduls an den Raspberry Pi GPIO-Bus
Anschließen des Wiznet WIZ820io-Moduls an den Raspberry Pi GPIO-Bus
Anschließen des Wiznet WIZ820io-Moduls an den Raspberry Pi GPIO-Bus
Anschließen des Wiznet WIZ820io-Moduls an den Raspberry Pi GPIO-Bus
Anschließen des Wiznet WIZ820io-Moduls an den 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

Meine Platine
Meine Platine
Meine Platine
Meine Platine
Meine Platine
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

Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im

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

Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Einträge im

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

Raspberry Pi IOS (ehemals Raspian) Konfiguration - Bearbeiten Sie die Datei mit dem Namen: Config.txt
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Bearbeiten Sie die Datei mit dem Namen: Config.txt
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Bearbeiten Sie die Datei mit dem Namen: Config.txt
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Bearbeiten Sie die Datei mit dem Namen: Config.txt
Raspberry Pi IOS (ehemals Raspian) Konfiguration - Bearbeiten Sie die Datei mit dem Namen: Config.txt
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

Wir haben neu gestartet. Ich hoffe, Sie lächeln
Wir haben neu gestartet. Ich hoffe, Sie lächeln
Wir haben neu gestartet. Ich hoffe, Sie lächeln
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: