Jump to content

Konfiguration LAN ohne DHCP


Tipsy Tinker

Recommended Posts

Moin Leute,

 

ich hab hier aktuell 3 Stacks stehen, alle mit Lan.PoE und ein PoE-fähiges Switch.

  1. Ethernet Master Extension (mit PoE) + Thermocouple
  2. Ethernet Master Extension (mit PoE) + Thermocouple
  3. Ethernet Master Extension (mit PoE) + Thermocouple + RED Brick

 

Ein auf dem RED Brick laufendes Programm soll von allen 3 Thermocouples die Werte runter schreiben.

Allerdings bekomme ich die Teilnehmer ohne DHCP nicht verbunden.

 

Irgendwo hab ich einen Logikfehler, der sich mir nicht offenbart. Aus der Doku heraus bekomme ich ihn auch nicht gelöst.

Zugegebenermaßen beschäftige ich mich erstmalig mit Netzwerken.

Mein Grundgedanke war, jede Master Extension bekommt manuell im Brickviewer ne IP zugewiesen, diese kann ich dann entsprechend aus dem BrickViewer

oder aus dem Programm heraus ansprechen. Aber aus Gründen die sich mir nicht offenbaren, bekomm ich das ohne DHCP nicht auf die Kette.

Häng ich alles an ne FritzBox, krieg ichs irgendwie hin. Weil die ja DHCP zur Verfügung stellt.

 

Wo liegt der Hund begraben?

Wie konfiguriere ich das Richtig?

 

Ziel ist, ich habe am PoE-Switch den Redbrick per PoE Lan und kann dann entsprechend am Switch

Stack um Stack einstecken und somit meine Messstellen entsprechend bei Bedarf erweitern. Das ganze

als in sich geschlossenes Netzwerk. Edit2: Also ohne FritzBox.

 

Vielleicht hat jemand den entscheidenden Tip!

Vielen Dank, Grüße Tipsy

 

Edit:

Geil wäre, wenn der RED Brick DHCP könnte..

Edited by Tipsy Tinker
Link to comment
Share on other sites

Moin,

Was hast du denn genau konfiguriert? Folgendermaßen sollte es klappen:

  1. Sieh mal nach was der IP-Präfix ist, den deine FritzBox verwendet (Das siehst du in deren Einstellungen, oder indem du eine der Extensions auf DHCP stellst und dir dann die IP ansiehst, die sie bekommt). Standardmäßig ist das 192.168.178., wenn es was anderes ist musst du den Rest anpassen.
  2. Die statischen IPs sollten nicht mit denen kollidieren, die die FritzBox vergibt. Normalerweise vergibt sie IPs bis .200, also sollten 192.168.178.201 usw. gefahrlos nutzbar sein.
  3. Dann kannst du pro Extension eine IP vergeben, z.b. 192.168.178.201 für die erste ....202 für die zweite usw. Wenn du sicher gehen willst, dass die IPs frei sind, kannst du auf der Konsole die IP mit "ping 192.168.178.201" oder so anpingen, wenn keine Antwort kommt ist die IP noch nicht vergeben.
  4. Die Subnetzmaske ist typischerweise 255.255.255.0 (das heißt, dass dein Netz, einen festen Präfix auf den ersten drei Blöcken hat, der vierte Block ist dann die Adressierung im Netz, das wird hier ganz gut erklärt)
  5. Das Gateway ist die IP deiner FritzBox, also vermutlich die 192.168.178.1

Edit: Subnetzmaske war falsch herum

Link to comment
Share on other sites

Hi,

also mit dieser Config

RED Brick:IPs_RB.jpg.3addccccd5077f36ed2947a96b08427a.jpg

 

Master Extension:IPs_TF2.jpg.b8ae19420f58cfb71a7a6c5bfd65dfda.jpg

 

bekomm ich

"""

Traceback (most recent call last):
  File "PoE_IP_Test.py", line 16, in <module>
    ipcon.connect(HOST, PORT) # Connect to brickd
  File "/usr/local/lib/python3.5/dist-packages/tinkerforge/ip_connection.py", line 581, in connect
    self.connect_unlocked(False)
  File "/usr/local/lib/python3.5/dist-packages/tinkerforge/ip_connection.py", line 784, in connect_unlocked
    tmp.connect((self.host, self.port))
OSError: [Errno 113] No route to host

"""

 

bekomms nicht geregelt ...

Hab ich was übersehen ?

 

 

Edited by Tipsy Tinker
Link to comment
Share on other sites

Was hast du in deinem Python-Programm als HOST eingetragen? Das steht leider nicht in der Fehlermeldung mit drin.

Ansonsten fällt mir nur auf, dass ein paar deiner Subnetzmasken nicht ganz passen: Das sollte eigentlich immer 255.255.255.0 sein.

Edit: Wo führst du das Programm aus? Auf dem RED-Brick? Und mit dem PC bist du per USB an den Stacks verbunden?

Link to comment
Share on other sites

Moin,

 

ja hab den Edit von dir nicht rechtzeitig mitbekommen.

Aber auch mit 255.255.255.0 läuft es nicht. Im Programm habe ich als HOST 192.168.0.3, also die IP von demjenigen Stack in dem der Thermocouple steckt, den ich mit der richtigen UID anspreche. Führe ich das Programm mit "localhost" aus, funktioniert es, die Temperatur wird in die Logfiles ausgegeben. Führe ich es auf dem RED Brick aus, bekomme ich den o.g. Eintrag in den Logs..

Ich habe jeweils die Stacks am Switch, und den RED Brick per USB am Rechner.

 

Nochmal zur Konfiguration:

  • Stack mit PoE Ethernet Extension:

               IP: 192.168.0.3

               Sub: 255.255.255.0

 

  • Stack mit PoE Ethernet Extension und RED Brick

               IP: 192.168.0.2

               Sub: 255.255.255.0

              Gateway: 192.168.0.1

 

  • PoE Switch

                IP: 192.168.0.1

                Sub: 255.255.255.0

Korrekt?

 

So langsam setzt Verzweiflung ein... :)

Kurze Randnotiz noch: Ich hatte in der Vergangenheit einmal den Fall, das die auf beiden Stacks verfügbaren Bricks alle als Tabs im BrickViewer aufgeführt waren... Wie kommt das Zustande?

Beste Grüße & erneut vielen Dank

Tipsy

Edit: Mir fällt gerade auf, das im BrickViewer beim RED Brick Settings//Network "connected" angezeigt wird, obwohl offensichtlich kein Netzwerkkabel angeschlossen ist. Verwirrt mich zusätzlich...          

Edited by Tipsy Tinker
Link to comment
Share on other sites

Moin,

Das klingt alles sehr verwirrend. Mich würde mal ein Foto vom Aufbau interessieren. Zusätzlich kannst du auf der RED-Brick-Konsole mal versuchen, die IP des Switches und der Stapel jeweils anzupingen (mit

ping 192.168.0.1

usw.)

Edit: Wenn du beim Switch die IP konfigurieren kannst, ist das ein Managed Switch, d.h. mit eigener Konfiguration per Web-Interface oder so? Eventuell ist da auch etwas falsch konfiguriert.

Link to comment
Share on other sites

Ahoi,

PoE-Switch hatte ich die letzten Tage mehrfach zurückgesetzt. Der ist auch ok mit seiner Config, denke ich (Begründet, keine Vermutung).

Zunächst habe ich alle (Netzwerk-)Kabel getauscht.  Anschließend alle 7p-10p Kabel.

Aktuell habe ich 2 (eigentlich unbeteiligte, und erst für spätere Umfänge benötigte) Thermocouple am Stack mit dem RED Brick (192.168.0.2) eingegrenzt. Wenn die angeschlossen sind, funktioniert unter der Vorraussetzung, das die Stromversorgung für den Bootvorgang ausschließlich über PoE anliegt, die Kommunikation nach 192.168.0.3 nicht. Egal ob mit oder ohne Thermofühler am Thermocouple.

 

Es gibt ein Lichtblick

Aber es funktioniert auch nicht dauerhaft.

 

Siehe Screen.

IP_Log.jpg.67c403b57edc59a507531a52237d3b5b.jpg

 

 

Wenn es läuft, kann ich auf alle Beteiligten pingen, wenn es nicht läuft, logischerweise nicht.

 

Eine weitere Eingrezung brachte die USB Verbindung mit in den engeren Kreis.

Aller Wahrscheinlichkeit nach, bricht irgendwo etwas ab/zusammen/ein, wenn zusätzlich zu PoE der USB an den RED Brick kommt.

Und zwar nur unter der Vorraussetzung, das keine Thermofühler an den Thermocouple hängen.

 

In welchen (internen Event-)Logs kann man das genauer nachschauen? USB gesteckt/nicht gesteckt zB. ?

 

Überraschend empfindlich...

Muss ich mir was überlegen, wie ich das im Produktivsystem später absichern kann...

 

Grüßle, Tipsy

 

 

 

 

Link to comment
Share on other sites

Damit ich da den Überblick nicht verliere, du hast folgendes Ausgangszenario: LAN-Kabel sind alle eingesteckt, das USB-Kabel am RED-Brick nicht, Switch ist aus.

Und dann folgende Tests gemacht?

  1. Switch an, RED-Brick bootet über PoE, Netzwerkverbindung funktioniert
  2. Dann USB-Kabel eingesteckt, dann verlierst du die Netzwerkverbindung zum anderen Stapel
  3. Alles aus, USB-Kabel eingesteckt gelassen, dann alles wieder gebootet, dann funktioniert es nur, wenn du die Thermofühler an den Bricklets angeschlossen hast?
Link to comment
Share on other sites

  1. Switch an, RED-Brick bootet über PoE, Netzwerkverbindung funktioniert >> wenn die Thermocouple nicht angeschlossen sind oder Thermocouple und Thermofühler angeschlossen sind
  2. Dann USB-Kabel eingesteckt, dann verlierst du die Netzwerkverbindung zum anderen Stapel >> wenn keine Thermofühler an den Thermocouple eingesteckt sind
  3. Alles aus, USB-Kabel eingesteckt gelassen, dann alles wieder gebootet, dann funktioniert es nur, wenn du die Thermofühler an den Bricklets angeschlossen hast? >> oder die Couple garnicht angeschlossen sind

 

Auffällig wäre noch die enorme Wärmeentwicklung am Stack mit dem RED Brick an der PoE-Extension (192.168.0.2). Die wird sehr deutlich über Handwarm, wenn ich das mal logge 😂 , kommen da

48-52 °C an den "Platine-zu-Platine" an der Oberfläche zustande...

Beim 2ten (192.168.0.3) Stack ist es ok.

Link to comment
Share on other sites

Die Wärmeentwicklung ist erwartet: Die Ethernet-Extension muss von 48 Volt auf 5 Volt Spannungswandeln und der RED-Brick zieht deutlich mehr Strom als der andere Stapel. Außerdem erzeugt er selbst einiges an Abwärme.

Ansonsten bin ich mir noch nicht sicher, was genau das Problem ist.

Stell als erstes mal mit dem Brick Viewer die Systemzeit des RED-Bricks ein: Das geht unter RED Brick->Settings->Date/Time da gibt es den Update Brick to Local Time Button.

Ich habe dir mal ein Testskript gebaut, den Anhang kannst du im Import/Export-Tab des RED-Bricks importieren. Das Programm läuft einmal pro Minute und schreibt in die Log-Dateien des Program-Tabs. Damit du auch wenn das USB-Kabel nicht angeschlossen ist, siehst ob das Programm durchgelaufen ist, habe ich eingebaut, dass es die rote LED des RED-Bricks kontrolliert:

  • LED aus: Programm lief noch nicht (Die LED flackert beim Booten kurz, das macht der Brick selbst)
  • LED an: Programm ist mindestens einmal durchgelaufen
  • LED macht Heartbeat (wie die grüne LED daneben): Programm läuft gerade

Im Idealfall probierst du zuerst aus, ob das Programm bei dir funktioniert, indem du einen Aufbau baust, bei dem du den anderen Stack erreichst und es dann ausführen lässt. Im Brick Viewer unter RED Brick->Program->Logs sollte dann unter Continuous eine stderr.log und eine stdout.log liegen, die stderr.log sollte nur die Zeit der Ausführung enthalten, die stdout.log hat die Zeit, die Ping-Tests und die IP-Connection-Tests mit jeweils den Enumerate-Ergebnissen (also die Hardware die an dieser IP angeschlossen ist) und falls Thermocouple-Bricklets gefunden wurden deren Zustand.

Teste dann mal bitte folgende Aufbauten:

  1. Stapel 1: RED-Brick + Ethernet-Extension (ohne Master Brick), Stapel 2: Master Brick + Ethernet Extension. Beide Stapel ohne Thermocouple-Bricklets.
  2. Stapel 1: RED-Brick + Ethernet-Extension (mit Master Brick), Stapel 2: Master Brick + Ethernet Extension. Beide Stapel ohne Thermocouple-Bricklets.
  3. Stapel 1: RED-Brick + Ethernet-Extension (mit Master Brick), Stapel 2: Master Brick + Ethernet Extension. Beide Stapel mit Thermocouple-Bricklets ohne Thermofühler.
  4. Stapel 1: RED-Brick + Ethernet-Extension (mit Master Brick), Stapel 2: Master Brick + Ethernet Extension. Beide Stapel mit Thermocouple-Bricklets mit Thermofühler.
  5. Stapel 1: RED-Brick + Ethernet-Extension (mit Master Brick), Stapel 2: Master Brick + Ethernet Extension. Stapel mit Thermocouple-Bricklets ohne Thermofühler. Stapel 2 mit Thermocouple-Bricklets mit Thermofühler.
  6. Stapel 1: RED-Brick + Ethernet-Extension (mit Master Brick), Stapel 2: Master Brick + Ethernet Extension. Stapel mit Thermocouple-Bricklets mit Thermofühler. Stapel 2 mit Thermocouple-Bricklets ohne Thermofühler.

Folgende Tests dann für jeden der Aufbauten durchführen:

  1. Ohne USB-Kabel booten
  2. Warten bis die rote LED am RED-Brick einen Heartbeat macht
  3. Zeit aufschreiben (das ist wichtig, damit ich das Log der Ausführung zuordnen kann, die Logs werden hintereinander geschrieben)
  4. Warten bis die rote LED am RED-Brick dauerhaft leuchtet
  5. USB-Kabel anschließen
  6. Warten bis die rote LED am RED-Brick einen Heartbeat macht
  7. Zeit aufschreiben
  8. Warten bis die rote LED am RED-Brick dauerhaft leuchtet.
  9. Runterfahren/Strom trennen
  10. USB-Kabel angeschlossen lassen, wieder booten
  11. Warten bis die rote LED am RED-Brick einen Heartbeat macht
  12. Zeit aufschreiben
  13. Warten bis die rote LED am RED-Brick dauerhaft leuchtet
  14. USB-Kabel abziehen
  15. Warten bis die rote LED am RED-Brick einen Heartbeat macht
  16. Zeit aufschreiben
  17. Warten bis die rote LED am RED-Brick dauerhaft leuchtet.
  18. Runterfahren/Strom trennen

Wenn du das für alle Aufbauten gemacht hast, häng hier mal die Logs an. Die kannst du mit dem Brick Viewer im Programs-Tab des RED-Bricks unter Logs runterladen. Dazu brauche ich dann noch die Zeit->Test-Aufschlüsselung.

Sorry, dass das so ein komplizierter Test ist, aber es ist ja auch ein kompliziertes Problem ;)

thermotester.tfrba

Link to comment
Share on other sites

Der RED-Brick verwendet aus der Konfiguration der Ethernet Extension nur die MAC-Adresse.

Dir kann aber folgendes passieren: Wenn du den Stack per PoE bootest, startet der Master Brick relativ schnell, verwendet die Konfiguration, nach einer Weile ist der RED-Brick gebootet, der resettet den Stack und benutzt dann seine eigene Konfiguration. Das heißt, dass du, wenn du a) auf dem Master und dem RED-Brick die selbe statische IP-Konfiguration hast und b) schnell genug bist, dich auf den Master Brick verbinden kannst, der dir dann nach ein paar Sekunden weg-resettet wird. Davon nicht verwirren lassen.

Wenn du willst, dass dieser Effekt nicht auftreten kann, kannst du die Ethernet Extension auf statische IPs konfigurieren und alle IPs auf 0.0.0.0 setzen, dann siehst du die erst im Netz, wenn der RED-Brick damit läuft.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...