Tipsy Tinker Geschrieben April 22, 2020 at 12:02 Geschrieben April 22, 2020 at 12:02 (bearbeitet) Moin Leute, ich hab hier aktuell 3 Stacks stehen, alle mit Lan.PoE und ein PoE-fähiges Switch. Ethernet Master Extension (mit PoE) + Thermocouple Ethernet Master Extension (mit PoE) + Thermocouple 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.. bearbeitet April 22, 2020 at 12:28 von Tipsy Tinker Zitieren
rtrbt Geschrieben April 22, 2020 at 12:21 Geschrieben April 22, 2020 at 12:21 Moin, Was hast du denn genau konfiguriert? Folgendermaßen sollte es klappen: 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. 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. 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. 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) Das Gateway ist die IP deiner FritzBox, also vermutlich die 192.168.178.1 Edit: Subnetzmaske war falsch herum Zitieren
Tipsy Tinker Geschrieben April 22, 2020 at 12:29 Autor Geschrieben April 22, 2020 at 12:29 Hi, es soll ja gerade ohne FritzBox funktionieren (Habs nochmal dazueditiert, sorry für die möglichweise unpräzise Fragestellung)... quasi Stand-Alone ... Nur die Stacks und der Switch ... Hast du da auch einen Lösungsansatz? Vielen Dank Zitieren
rtrbt Geschrieben April 22, 2020 at 12:36 Geschrieben April 22, 2020 at 12:36 Dann kannst du eigentlich das selbe machen: Solange die Extensions sich einig sind, wie das Netz funktioniert, können sie auch untereinander kommunizieren. Zitieren
Tipsy Tinker Geschrieben April 22, 2020 at 13:47 Autor Geschrieben April 22, 2020 at 13:47 (bearbeitet) Hi, also mit dieser Config RED Brick: Master Extension: 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 ? bearbeitet April 22, 2020 at 13:50 von Tipsy Tinker Zitieren
rtrbt Geschrieben April 22, 2020 at 13:53 Geschrieben April 22, 2020 at 13:53 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? Zitieren
Tipsy Tinker Geschrieben April 23, 2020 at 06:17 Autor Geschrieben April 23, 2020 at 06:17 (bearbeitet) 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... bearbeitet April 23, 2020 at 06:45 von Tipsy Tinker Zitieren
rtrbt Geschrieben April 23, 2020 at 07:52 Geschrieben April 23, 2020 at 07:52 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. Zitieren
Tipsy Tinker Geschrieben April 23, 2020 at 12:43 Autor Geschrieben April 23, 2020 at 12:43 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. 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 Zitieren
rtrbt Geschrieben April 23, 2020 at 13:02 Geschrieben April 23, 2020 at 13:02 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? Switch an, RED-Brick bootet über PoE, Netzwerkverbindung funktioniert Dann USB-Kabel eingesteckt, dann verlierst du die Netzwerkverbindung zum anderen Stapel Alles aus, USB-Kabel eingesteckt gelassen, dann alles wieder gebootet, dann funktioniert es nur, wenn du die Thermofühler an den Bricklets angeschlossen hast? Zitieren
Tipsy Tinker Geschrieben April 23, 2020 at 13:40 Autor Geschrieben April 23, 2020 at 13:40 Switch an, RED-Brick bootet über PoE, Netzwerkverbindung funktioniert >> wenn die Thermocouple nicht angeschlossen sind oder Thermocouple und Thermofühler angeschlossen sind Dann USB-Kabel eingesteckt, dann verlierst du die Netzwerkverbindung zum anderen Stapel >> wenn keine Thermofühler an den Thermocouple eingesteckt sind 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. Zitieren
rtrbt Geschrieben April 24, 2020 at 08:41 Geschrieben April 24, 2020 at 08:41 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: Stapel 1: RED-Brick + Ethernet-Extension (ohne Master Brick), Stapel 2: Master Brick + Ethernet Extension. Beide Stapel ohne Thermocouple-Bricklets. Stapel 1: RED-Brick + Ethernet-Extension (mit Master Brick), Stapel 2: Master Brick + Ethernet Extension. Beide Stapel ohne Thermocouple-Bricklets. Stapel 1: RED-Brick + Ethernet-Extension (mit Master Brick), Stapel 2: Master Brick + Ethernet Extension. Beide Stapel mit Thermocouple-Bricklets ohne Thermofühler. Stapel 1: RED-Brick + Ethernet-Extension (mit Master Brick), Stapel 2: Master Brick + Ethernet Extension. Beide Stapel mit Thermocouple-Bricklets mit Thermofühler. 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. 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: Ohne USB-Kabel booten Warten bis die rote LED am RED-Brick einen Heartbeat macht Zeit aufschreiben (das ist wichtig, damit ich das Log der Ausführung zuordnen kann, die Logs werden hintereinander geschrieben) Warten bis die rote LED am RED-Brick dauerhaft leuchtet USB-Kabel anschließen Warten bis die rote LED am RED-Brick einen Heartbeat macht Zeit aufschreiben Warten bis die rote LED am RED-Brick dauerhaft leuchtet. Runterfahren/Strom trennen USB-Kabel angeschlossen lassen, wieder booten Warten bis die rote LED am RED-Brick einen Heartbeat macht Zeit aufschreiben Warten bis die rote LED am RED-Brick dauerhaft leuchtet USB-Kabel abziehen Warten bis die rote LED am RED-Brick einen Heartbeat macht Zeit aufschreiben Warten bis die rote LED am RED-Brick dauerhaft leuchtet. 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 Zitieren
Tipsy Tinker Geschrieben April 27, 2020 at 11:07 Autor Geschrieben April 27, 2020 at 11:07 Hi, hab dir die Logs, von diesem komplizierten Test aufgrund des komplizierten Problems ☺️, angefertigt und direkt geschickt. Besten Dank für deine Unterstützung! Vielen Dank Zitieren
Tipsy Tinker Geschrieben April 27, 2020 at 14:02 Autor Geschrieben April 27, 2020 at 14:02 Randnotiz: Was passiert eigentlich mit der Config einer Ethernet Extension (PoE), wenn ich sie ohne RED Brick, direkt per USB konfiguriere, und dann auf den RED Brick stecke ? Welche Config gilt dann? Diejenige im BrickViewer RED Brick Tab, oder die zuvor auf der Ethernet Extension abgespeicherte? Zitieren
rtrbt Geschrieben April 27, 2020 at 14:43 Geschrieben April 27, 2020 at 14:43 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. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.