Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Da immer mehr Zusi User von einem 1:1 Führerstand mit träumen, soll es zumindest an Datenaustausch nicht hapern.
Nachricht
Autor
trainboy12
Beiträge: 55
Registriert: 27.06.2012 20:02:45

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#61 Beitrag von trainboy12 »

Ich habe schon alles mögliche probiert, der Screenshot ist halt bei dem versuch entstanden.

Benutzeravatar
Daniel Rüscher aka Merlin
Beiträge: 2294
Registriert: 23.01.2003 02:25:50
Aktuelle Projekte: Aktuell keine
Wohnort: Traunreut
Kontaktdaten:

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#62 Beitrag von Daniel Rüscher aka Merlin »

Welche IP Adresse hat denn der Arduino?
Gib deiner LAN Karte im PC mal eine fixe IP Adresse im Bereich des schield (zu erkennen an der Subnet Maske) dann dürfte es funktionieren
How to waste bits in a My SQL Database?

Like this.....

trainboy12
Beiträge: 55
Registriert: 27.06.2012 20:02:45

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#63 Beitrag von trainboy12 »

Aber wenn ich in den Netzwerkverbindungen die IP festlege, dann wird das ja auch dann die IP vom Shield ?(

Edith: Kann der Arduino eine eigene IP kriegen? Oder falls du den Anschluss meinst ist das bei mir COM3.
Zuletzt geändert von trainboy12 am 31.01.2014 20:03:46, insgesamt 1-mal geändert.

Benutzeravatar
F. Schn.
Beiträge: 6675
Registriert: 24.10.2011 18:58:26

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#64 Beitrag von F. Schn. »

@Dude:
Noch ein paar Vorschläge: @trainboy 169.254.?.? (insbesondere mit der Subnetzmaske 255.255.0.0) ist eine recht ungewöhnliche IP. (Nicht, das es nicht denkbar wäre, aber...) Noch seltsamer ist, das das WLAN dir eine IP aus einem anderen Adressraum zuweist (192.168.?.?). Vielleicht solltest du erst einmal schauen, was mit deinem Heimneztwerk los ist. (Denkbar wäre beispielsweise ein virtuelles Privates Netzwerk.) Eventuell solltest du auch mal prüfen, welche IP dem Arduino über DHCP zugetielt wurde. (Befehl Serial.println(Ethernet.localIP()); hinter den delay(1000);-Befehl (Zeile 60) einfügen.) Abschalten von DHCP und manuelle IP im Arduino-Script hast du auch schon mal probiert? (#define dhcp 0)

Nachtrag: Du hast den PC direkt mit dem Arduino verbuden? Ok, da kann es sein, dass DHCP überhaupt nicht funktioniert. Denkbar ist auch, dass dir die alte Problematik bei direkten Verbindungen zum Tragen kommt (Früher mussten bei direkten Verbindungen spezielle Kabel mit vertauschten Adern eingesetzt werden. Heute kann das möglicherweise die Hadware ausgleichen, aber ich weiß nicht, wie intelligent der Arduino-Ehernet-Shield da handelt, bzw. ob die Hardware auf diesen Fall ausgelegt ist).
Zuletzt geändert von F. Schn. am 31.01.2014 20:23:56, insgesamt 2-mal geändert.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#65 Beitrag von Arne aus dem Norden »

F. Schn. hat geschrieben:@trainboy 169.254.?.? (insbesondere mit der Subnetzmaske 255.255.0.0) ist eine recht ungewöhnliche IP. (Nicht, das es nicht denkbar wäre, aber...) Noch seltsamer ist, das das WLAN dir eine IP aus einem anderen Adressraum zuweist (192.168.?.?). Vielleicht solltest du erst einmal schauen, was mit deinem Heimneztwerk los ist.
Ich hab das jetzt auch mal annähernd so probiert. Seinen genauen "Aufbau" kann ich mangels W-LAN nicht nachvollziehen.

Ich denke er hat einen W-LAN Router über DHCP mit seinem PC verbunden via eines USB-Adapters und dann gleichzeitig den PC parallel mit dem Arduino über ein uns vom Typ unbekanntes Kabel.

Fall 1: wenn ich meinen PC mit meinem Kabelrouter verbinde, bekomme ich -ganz klar- eine ähnliche Adresse wie er (192, 168, 178, 33) am PC zugeteilt. Wenn ich jetzt den Arduino ebenfalls an den Router hänge kann ich mich sofort mit #define dhcp 1 verbinden.
-> heißt: wenn am W-LAN Router zusätzliche RJ45-Buchsen für Kabelanschluß wären und er DORT den Arduino mit dhcp 1 anschließt, müßte es mit 192.168.178.35 als Zusi-Server bei ihm gehen.
Mit dhcp 0 geht es bei mir immer noch, wenn ich eine Adresse aus dem selben Adressraum verwende, in meinem Fall 192, 168, 178, 177

Fall 2: wenn ich mich DIREKT mit dem PC mit Kabel verbinde, bekomme ich auch eine ähnliche IP, (169, 254, 227, 228) unter ipconfig von meinem Win 7 angezeigt. Jeglicher Versuch sich mit DHCP 1 zu verbinden schlägt nun -genau wie bei Maurice- fehl.
Wenn ich DHCP 0 setze und die shield_ip auf 169, 254, 227, 229 setze kann ich mich aber sofort verbinden.
-> heißt: bei deaktivertem W-LAN und unter ipconfig angezeigter Adresse 169.254.240.56 müßte sich der Arduino unter dhcp 0 und shield_ip 169.254.240.57 sofort verbinden.

Ich würde jetzt also zuerst mal letzteren Weg GENAU SO probieren:

Code: Alles auswählen

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE,0xED};

byte server_ip[] = { 169, 254, 227, 56 };

int port = 1435;

byte shield_ip[] = { 169, 254, 227, 57 };

#define dhcp 0
Vorrausgesetzt natürlich, W-LAN deaktiviert und ipconfig zeigt immer noch die 169, 254, 227, 56 so an...
Und da würde ich jetzt gerne wissen was passiert...
Zuletzt geändert von Arne aus dem Norden am 31.01.2014 22:23:49, insgesamt 1-mal geändert.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Andreas Karg
Beiträge: 4718
Registriert: 28.04.2002 12:56:00
Kontaktdaten:

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#66 Beitrag von Andreas Karg »

Die 169er-IPs würfelt Windows sich selber aus, wenn der Netzwerkadapter auf "IP automatisch beziehen" gestellt ist und es kein funktionierendes DHCP gibt. Theoretisch sollte das automatisch für ein funktionierendes Netz unter Windows-Rechnern sorgen; das hat zumindest in meinem Dunstkreis aber noch nie geklappt

Gehe ich recht in der Annahme, dass irgendwo im Arduino-Programm eine IP fest eingestellt ist? In dem Falle würde ich dem Netzwerkadapter im Windows von Hand eine IP zuweisen, die bis auf die letzte Zifferngruppe identisch ist; und dazu eine Subnetzmaske von 255.255.255.0. Dann *müsste* es klappen. :)

trainboy12
Beiträge: 55
Registriert: 27.06.2012 20:02:45

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#67 Beitrag von trainboy12 »

Vielen Dank Arne. Funktioniert jetzt tadellos.
Ist das bei euch auch so, das blinkende LM - z.B. Wechselblinken, Geschwindigkeitsüberwachung etc. - unregelmäßig blinken?
Also ab und zu leuchtet er mal etwas länger auf, ein bisschen später nur ganz kurz usw. .
Damit kann man/ich natürlich leben, ist halt nur interessehalber.

Gruß
Maurice

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#68 Beitrag von Arne aus dem Norden »

Na also, geht doch :D
trainboy12 hat geschrieben:Ist das bei euch auch so, das blinkende LM - z.B. Wechselblinken, Geschwindigkeitsüberwachung etc. - unregelmäßig blinken?
Also ab und zu leuchtet er mal etwas länger auf, ein bisschen später nur ganz kurz usw. .
Damit kann man/ich natürlich leben, ist halt nur interessehalber.
Ja, zumindest bei mir tut es das. Und bei mir war das auch schon so, wenn ich den anderen Weg gegangen bin über USB mit dem Script aus dem Thread "Ausgänge". Das Wechselblinken hat bei mir immer schon etwas "gehangen".

Ich meine sogar, das es bei ausführlicher serieller Protokollierung schon beim Datenempfang vom Server als Unregelmäßigkeit erkennbar war. In gewissen Abständen war ein Befehl mit Wert 0,00 mehr dazwischen.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

trainboy12
Beiträge: 55
Registriert: 27.06.2012 20:02:45

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#69 Beitrag von trainboy12 »

Mit dem Skript von "Ausgänge" war es schon sehr gut gelungen, da war alles ok. Naja ist ja nicht schlimm.

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#70 Beitrag von Arne aus dem Norden »

trainboy12 hat geschrieben:Mit dem Skript von "Ausgänge" war es schon sehr gut gelungen, da war alles ok.
Richig aufgefallen war mir das das damals DA auch erst, als ich alte PZB-Leuchtmelder über Relais und keine LED direkt angeschlossen hatte.
Es war plötzlich mehr zu hören als zu sehen.

Bei umfangreicheren Befehlsübermittelungen kann es übrigens durchaus bei diesem neuen Script zu perfomanceverlusten kommen durch das serielle Protokoll.
Wenn man also fertig ist mit konfigurieren und das Gefühl hat, das es etwas hängt: einfach mal die ganzen serial.prints und serial.beginn auskommentieren.
Bei neuerer Firmware scheint es sogar zu reichen, das Serial.beginn(9600); im void setup auszukommentieren. Wenn das Script dann nicht mehr läuft, halt einfach alle weiteren Serial.print* auch mal rausnehmen.
Bei der PZB alleine wirds aber nicht viel bringen, das macht sich erst bemerkbar wenn du Tacho und Manometerwerte laufend mitprotokollierst.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Benutzeravatar
Daniel Rüscher aka Merlin
Beiträge: 2294
Registriert: 23.01.2003 02:25:50
Aktuelle Projekte: Aktuell keine
Wohnort: Traunreut
Kontaktdaten:

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#71 Beitrag von Daniel Rüscher aka Merlin »

Noch mal kurz zum Thema IP...
Natürlich braucht der Shield eine zum PC unterschiedliche IP.
169.0.0.0 ist wie Andi schon sagte ein Windowseigenes Subnet was benutzt wird wenn weder IP noch DHCP Server vorhanden sind.

Daraus ergeben sich 2 Möglichkeiten:
Entweder DHCP, oder
Beiden beteiligten Kommunikationspartnern (PC & Shield) eine Feste IP zuweisen. Prinzipiell kann man jede hernehmen. Besser ist jedoch Adressen aus dem Pool192.168.0.x mit Subnet Maske 255.255.255.0 her zu nehmen.
How to waste bits in a My SQL Database?

Like this.....

Stephan/Taschi
Beiträge: 1050
Registriert: 30.10.2009 11:40:27
Aktuelle Projekte: Zusi boykottieren, gelegentlich mal gesperrt sein

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#72 Beitrag von Stephan/Taschi »

Ähm, ich habe zwar nicht so wirklich viel Ahnung von dem Thema - aber sollte es nicht auch möglich sein, eine Verbindung über Hostnames aufzubauen? Die lassen sich schließlich prima festsetzen und man kann für die IPs einfach DHCP weiternutzen, ohne groß mit statischen IPs et cetera rumwurschteln zu müssen.

Andreas Karg
Beiträge: 4718
Registriert: 28.04.2002 12:56:00
Kontaktdaten:

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#73 Beitrag von Andreas Karg »

Wenn der Arduino DHCP (und Namensauflösung) unterstützt, müsste das klappen. Man muss ihn halt dann noch in das selbe Netz kriegen wie Zusi-Rechner und DHCP-Server. Und genau da hakelte es wohl zumindest beim OP.

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#74 Beitrag von Arne aus dem Norden »

Andreas Karg hat geschrieben:Man muss ihn halt dann noch in das selbe Netz kriegen wie Zusi-Rechner und DHCP-Server. Und genau da hakelte es wohl zumindest beim OP.
Ich muß dazu kurz anmerken, das Maurice sich zuerst an mich mit dem Problem per PN gewand hatte. Ich hatte in meiner ersten Antwort ihm bereits geschrieben, das eine unterschiedliche IP nötig ist und gebeten die Sache mit dhcp 0 und 1 jeweils zu testen. Weil es trotzdem Probleme gab, vermutete ich selber das Problem noch irgendwo anders beim W-LAN etc. und habe selber geraten, die Sache hier nochmal öffentlich zu besprechen. Als Apple-User ist Windows einfach nicht mein Fachgebiet ;-)

Nun hat sich ja nach meinem -extra deswegen- minutiösen Beitrag meiner Verbindungseinstellungen gezeigt, das es eben doch nur genau an den zuerst vermuteten Gründen lag.

Ich denke deswegen nicht, das es einen grundsätzlichen Bedarf an Änderungen im Script gibt, obwohl ich gerne in der nächsten Version noch einmal eine ausführlichere Verbindungsaufbauprotokollierung mit verwendeten IPs einbringen könnte wie von F.Schneider vorgeschlagen.
Ich hatte im ersten Post dieses Threads ja bereits geschrieben: mein Ziel ist es, als Nicht-Programmierer den Zugang zu den Server-Daten für andere Nicht-Programmierer zu vereinfachen, aber es kann u.U. halt eine kleine Auseindersetzung mit den eigenen Windows-Netzwerkeinstellungen erfordern.
Immerhin ist die Konfiguration bei Benutzung eines gewöhlichen Kabel-Routers mit nur einer IP des Zusi-Server zu schaffen, und die findet sich mit ipconfig unter Windows recht leicht...

Ich bin selber auch erst letzte Woche von XP auf Win7 gewechselt und hab das Shield in wenigen Minuten wieder ans laufen bekommen. Dagegen habe ich selber z.B. den halben Abend benötigt, um Zusi 2 wieder zu installieren, weil ich die ganze Geschichte mit den Rechten gerade im Programme Ordner von Win7 erstmal auf den Schirm kriegen mußte...
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Benutzeravatar
Daniel Rüscher aka Merlin
Beiträge: 2294
Registriert: 23.01.2003 02:25:50
Aktuelle Projekte: Aktuell keine
Wohnort: Traunreut
Kontaktdaten:

Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#75 Beitrag von Daniel Rüscher aka Merlin »

IP und DHCP sind keine direkten Windowsprobleme.
Hostnamenauflösung klappt nur mit DHCP.
Nur was du mit dem vorletzten Absatz sagen willst kapier ich nich so ganz.
Zuletzt geändert von Daniel Rüscher aka Merlin am 03.02.2014 21:53:11, insgesamt 1-mal geändert.
How to waste bits in a My SQL Database?

Like this.....

Benutzeravatar
Max Senft
Administrator
Beiträge: 3004
Registriert: 04.11.2001 14:01:40
Aktuelle Projekte: Dies und das
Wohnort: Blieskastel, Saarland, Deutschland
Kontaktdaten:

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#76 Beitrag von Max Senft »

Hi!
Daniel Rüscher aka Merlin hat geschrieben:... Hostnamenauflösung klappt nur mit DHCP. ...
Du meinst wohl DNS (Domain Name Service). Namensauflösung geht auch in einem Netz ohne DHCP (also nur mit statischen Adressen).

Gruß
Max
Administrator, Programmierer, Ansprechpartner bei Problemen mit dem Board

Benutzeravatar
Total
Beiträge: 464
Registriert: 16.07.2008 17:27:43
Aktuelle Projekte: Zusi 3 verstehen lernen
Wohnort: Jülich

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#77 Beitrag von Total »

Christian Sch. hat geschrieben:
Total hat geschrieben:Eine Sache geht mir massiv auf die Nerven: Ich bin normalerweise über W-Lan online, sobald ich aber den Arduino angesteckt habe hab ich kein Internet mehr auf dem Rechner, offenbar versucht der krampfhaft über den Arduino ins Netz zu gehen. Hat jemand ne Lösung für mich?
Da musst Du dich wohl mit dem "route"-Kommando auseinandersetzen. Voraussetzung wäre dann wohl grundlegendes Verständnis für, ähm ja, Routing.

Die Default-Route wird von Windows anscheinend immer über Kabel gesetzt. Das müsstest Du auf das WLAN-Device ändern, nachdem Du den Arduino angesteckt hast.

Gruß

Christian
Ok...Wo und Wie?
Links zur Vorstellung meiner Fahrpulte:

Christian Sch.
Beiträge: 379
Registriert: 15.01.2009 23:29:56
Aktuelle Projekte: Gesundheit geht vor...
Wohnort: Haidlfing

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#78 Beitrag von Christian Sch. »

Man nehme eine Eingabeaufforderung und führe sie als Administrator aus.

Code: Alles auswählen

route print -4
zeigt bei mir folgendes:

Code: Alles auswählen

===========================================================================
Schnittstellenliste
 24...00 21 86 6e 53 f6 ......Bluetooth-Gerät (PAN) #2
 22...00 21 5c 0b 3d af ......Intel(R) Wireless WiFi Link 4965AGN
 21...00 21 5c 0b 3d af ......Intel(R) 82566MM Gigabit Network Connection
  1...........................Software Loopback Interface 1
 14...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 29...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter #2
===========================================================================

IPv4-Routentabelle
===========================================================================
Aktive Routen:
     Netzwerkziel    Netzwerkmaske          Gateway    Schnittstelle Metrik
          0.0.0.0          0.0.0.0      192.168.2.1    192.168.2.105     26
        127.0.0.0        255.0.0.0   Auf Verbindung         127.0.0.1    306
        127.0.0.1  255.255.255.255   Auf Verbindung         127.0.0.1    306
  127.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
      192.168.2.0    255.255.255.0   Auf Verbindung     192.168.2.105    281
    192.168.2.105  255.255.255.255   Auf Verbindung     192.168.2.105    281
    192.168.2.255  255.255.255.255   Auf Verbindung     192.168.2.105    281
        224.0.0.0        240.0.0.0   Auf Verbindung         127.0.0.1    306
        224.0.0.0        240.0.0.0   Auf Verbindung     192.168.2.105    281
  255.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
  255.255.255.255  255.255.255.255   Auf Verbindung     192.168.2.105    281
===========================================================================
Ständige Routen:
  Keine
Wir haben: Das WLAN als Interface 22, LAN als Interface 21. Die Defaultroute ist die mit dem Netzwerkziel 0.0.0.0.

Code: Alles auswählen

route delete 0.0.0.0
löscht die Default-Route.

Code: Alles auswählen

route add 0.0.0.0 mask 0.0.0.0 if 21
ändert die Default-Route auf LAN.

Wie sieht es denn mit den Adressen der beteiligten Geräte aus ( Router, PC, Arduino, Sonstige ) ?

Gruß

Christian

Marvin
Beiträge: 43
Registriert: 30.03.2013 22:50:02
Aktuelle Projekte: Br 422-426 Fahrpult [Planung]
Wohnort: Stuttgart

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#79 Beitrag von Marvin »

Hast du schon Neuigkeiten wegen dem unregelmäßigen Blinken?

Bei mir ist das bei der PZB ziemlich stark. Ist mir aber auch schon bei anderen Plugins aufgefallen :(

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

#80 Beitrag von Arne aus dem Norden »

Marvin hat geschrieben:Hast du schon Neuigkeiten wegen dem unregelmäßigen Blinken? Bei mir ist das bei der PZB ziemlich stark. Ist mir aber auch schon bei anderen Plugins aufgefallen :(
Hi,

nein. Ich wüßte das auch gerne, woran es genau liegt.
Wie ich schon oben schrieb, ich meine das der Server gelegentlich einen Befehl mehr sendet.
Ich würde ev. mal die serielle Protokollierung im Arduino komplett auskommentieren. Das wird das Problem zwar nicht beheben, aber möglicherweise fällt es dann weniger oder kaum noch auf.

Ansonsten hab ich auch schonmal darüber nachgedacht, das es ja noch die ID 0x6a "PZB restriktiver Modus" gibt. Ev. geht das, wenn der Wert =1 ist, die Ausgabe der blauen LM unterdrücken und ein sauberes Wechselblinken mit nem Timer des Arduino selbst erzeugen, keine Ahnung ob das hinhaut...

Gruß, Arne
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Antworten