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

#41 Beitrag von Arne aus dem Norden »

Total hat geschrieben:Ich habs jetzt auch mal mit dem LM RBremse probiert, dieser wird aber immer nur als Wert 1 ausgegeben, somit ist er im Dauerbetrieb.
Wert 1 im seriellen Monitor oder meinst du Dauerleuchten an dem PIN?
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Benutzeravatar
Thomas U.
Beiträge: 3289
Registriert: 15.03.2004 16:39:15
Wohnort: Gelsenkirchen

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

#42 Beitrag von Thomas U. »

Johannes hat geschrieben:Bloede Frage eines Arduino-Laien: Kann die verwendete Programmiersprache wirklich nur mit Hexadezimalzahlen umgehen? Sonst koennte man sich doch die Umrechnerei sparen ...
Nönö, da geht alles mögliche.
Man könnte auch einfach "needed[bla] = 15" schreiben oder man ersetzt die 15 durch eine int- oder char-Variable. Da braucht es keine umständlichen hex-Werte.

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

#43 Beitrag von Arne aus dem Norden »

Thomas U. hat geschrieben:
Johannes hat geschrieben:Bloede Frage eines Arduino-Laien: Kann die verwendete Programmiersprache wirklich nur mit Hexadezimalzahlen umgehen? Sonst koennte man sich doch die Umrechnerei sparen ...
Nönö, da geht alles mögliche.
Man könnte auch einfach "needed[bla] = 15" schreiben oder man ersetzt die 15 durch eine int- oder char-Variable. Da braucht es keine umständlichen hex-Werte.
Der Grund für die Hex-Werte war ganz einfach: das ist genau so beschrieben in der Zusi-Server Doku um den Server anzusprechen. Wie ich am Anfang schon schrieb, ich bin absolut kein Programmierer und bin damit vor einigen Monaten völlig neu ins Thema eingestiegen und hab mich erstmal an den vorhandenen Erklärungen "abgearbeitet".

Die Konfiguration ist mir dabei seit einiger Zeit selber noch ein Dorn im Auge. Ich seh das ganze inzwischen als eine Übungsplattform, aus der man hoffentlich möglichst viel in Zusi3 an Ideen übernehmen kann.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

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

#44 Beitrag von Arne aus dem Norden »

Total hat geschrieben:Türen funktionieren jetzt auch bei mir, interessanterweise konnte ich über Pin 10 nichts ansteuern.
Aha
http://arduino.cc/de/Main/ArduinoEthernetShield

Wichtig:
"Der Arduino kommuniziert mit dem W5100-Chip und der SD-Karte über den SPI-Bus (über den integrierten ICSP-Anschluss auf den Platinen). Dieser liegt auf den digitalen Anschlüssen 11, 12 und 13 beim Arduino Duemilanove bzw. auf den Anschlüssen 50, 51 und 52 beim Arduino Mega. Auf beiden Arduino-Boards ist der Anschluss 10 für die Selektierung des W5100 und der Anschluss 4 für die Selektierung der SD-Karte vorgesehen. Diese beiden Anschlüsse können nicht für anderweitige Aufgaben verwendet werden. Auf dem Arduino Mega wird der Hardware-SS (Anschluss 53) zwar nicht für die Selektierung verwendet, muss aber als Ausgang definiert werden, da sonst das SPI-Interface nicht funktioniert."

Anmerkung noch: mit Pin 4 habe ich für Ausgaben eigentlich nie Probleme gehabt (ohne Benutzung des SD-Slots), aber ich würde insgesamt versuchen, mit Ausgaben beim Mega auf Pin 0, 1, 4, 10, 50, 51, 52, 53 vorsichtig zu sein. 0 und 1 werden bei serieller Kommunikation nämlich ebenfalls belegt (mit RX/TX) ...
Zuletzt geändert von Arne aus dem Norden am 24.01.2014 16:30:15, insgesamt 2-mal geändert.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Sparky-CH
Beiträge: 6
Registriert: 25.10.2010 16:40:37

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

#45 Beitrag von Sparky-CH »

Vielen Dank für die Entwicklung dieses Sketches.

So ist es auch mir möglich, ohne Programmierkenntnisse die Daten von Zusi zu verwenden. Ich bin gespannt was in Zukunft noch alles umgesetzt wird.
Wie testet ihr jeweils den Sketch? Gibt es eine andere (schnellere) Möglichkeit Zusi-Daten an den TCP Server zu senden, als immer Zusi zu starten, Strecke laden, Fahrplan laden, Zug auswählen, zur Abfahrtszeit springen und loszufahren?

Grüsse
Bruno
Grüsse
Bruno

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

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

#46 Beitrag von Andreas Karg »

Die schnellste Möglichkeit ist, Zusi zwischendrin gar nicht zu beenden. :D Klappt i.d.R. prima.

Ansonsten hat bisher noch niemand einen Zusi-Mock gebaut, soweit ich weiß.

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

#47 Beitrag von Total »

Dude hat geschrieben:
Total hat geschrieben:Ich habs jetzt auch mal mit dem LM RBremse probiert, dieser wird aber immer nur als Wert 1 ausgegeben, somit ist er im Dauerbetrieb.
Wert 1 im seriellen Monitor oder meinst du Dauerleuchten an dem PIN?
Sowohl als auch.
Links zur Vorstellung meiner Fahrpulte:

lukmilei
Beiträge: 253
Registriert: 29.03.2010 21:00:15
Kontaktdaten:

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

#48 Beitrag von lukmilei »

Total hat geschrieben:Dude hat geschrieben:
Total hat geschrieben:
Ich habs jetzt auch mal mit dem LM RBremse probiert, dieser wird aber immer nur als Wert 1 ausgegeben, somit ist er im Dauerbetrieb.
Wert 1 im seriellen Monitor oder meinst du Dauerleuchten an dem PIN?


Sowohl als auch.
Ganz blöde Frage: hast du < und > benutzt? Wenn ich mich gerade richtig erinnere, sind das Float Werte, die du anforderst. Deine LED kann aber nur 0 und 1. Probiere es mal mit diesem Code:

Code: Alles auswählen

if((d[x] == 0x2b) & (wert >= 0.01)) { digitalWrite(ledBremse, HIGH); }
if((d[x] == 0x2b) & (wert < 0.01)) { digitalWrite(ledBremse, LOW); }

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

#49 Beitrag von Arne aus dem Norden »

lukmilei hat geschrieben:Ganz blöde Frage: hast du < und > benutzt? Wenn ich mich gerade richtig erinnere, sind das Float Werte, die du anforderst. Deine LED kann aber nur 0 und 1. Probiere es mal mit diesem Code:

Code: Alles auswählen

if((d[x] == 0x2b) & (wert >= 0.01)) { digitalWrite(ledBremse, HIGH); }
if((d[x] == 0x2b) & (wert < 0.01)) { digitalWrite(ledBremse, LOW); }
Nein nein,

diese Leuchtmelder sind alle single-Werte, die können und sollen genau wie im Beispiel ausgewertet werden:
-> exakt 0: Leuchtmelder dunkel, ungleich 0: Leuchtmelder aktiv

Ich vermute totals Fehler eher in der Angabe der Paketlänge...
Das muß ich wirklich mal ändern kurzfristig.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Sparky-CH
Beiträge: 6
Registriert: 25.10.2010 16:40:37

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

#50 Beitrag von Sparky-CH »

Andreas Karg hat geschrieben:Die schnellste Möglichkeit ist, Zusi zwischendrin gar nicht zu beenden. :D Klappt i.d.R. prima.

Ansonsten hat bisher noch niemand einen Zusi-Mock gebaut, soweit ich weiß.
Schade, wäre schon praktisch.
Grüsse
Bruno

lukmilei
Beiträge: 253
Registriert: 29.03.2010 21:00:15
Kontaktdaten:

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

#51 Beitrag von lukmilei »

Kann es sein, dass Zusi bei 0x10 (Fahrstufe) keine negativen Zahlen ausgibt?

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

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

#52 Beitrag von F. Schn. »

Ja, scheint so. Du kannst Fahrschalter (Schalter Fahrstufen) zur Hilfe nehmen, aber Vorsicht, der hat 0 als minimale Stufe (das heißt, das bei der BR 423 beispielsweise die Fahrstufe -8 dem Fahrschalter 0 entspricht)!
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

lukmilei
Beiträge: 253
Registriert: 29.03.2010 21:00:15
Kontaktdaten:

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

#53 Beitrag von lukmilei »

Danke für den Tip.

Gerade habe ich etwas ganz seltsames. Als ich vorhin den Computer heruntergefahren habe, hat alles funktioniert. Als ich den Computer eben hochfahre, meldete sich der Arduino nicht mehr auf dem TCP-Server an. Ich habe seit dem letzten Mal, als es funktionierte, nichts verändert. Nach einigem suchen habe ich die Übeltäter gefunden. Es sind diese beiden Zeilen:

Code: Alles auswählen

lcd.init();
lcd.backlight();
Diese müssen in das void Setup geschrieben werden. Komischerweise unterbrincht der Arduino den Programmablauf, sobald er an diese Zeilen kommt. Es macht keinen Unterschied, ob beide zusammen, oder eine auskommentiert. Hat jemand eine Idee?

Viele Grüße
Lukas

Nachtrag:
Fehler gefunden! Es gab einen Kurzschluss zwischen SCA und SCL. Da kann man natürlich lange Code suchen :D
Zuletzt geändert von lukmilei am 24.01.2014 21:21:22, insgesamt 1-mal geändert.

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

#54 Beitrag von Total »

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?
Links zur Vorstellung meiner Fahrpulte:

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

#55 Beitrag von Arne aus dem Norden »

Vermutlich morgen werde ich Version 2.2 des Sketches hier veröffentlichen.
Folgende Änderungen wird das mitbringen:

- sowohl single als auch enum-Werte können dann abgefragt werden
- als Beispielausgabe ist neben den singlewerten der PZB auch der Türenstatus als enumwert gleich mit im Sketch
- kein hantieren/umrechnen mit Hexadezimalwerten mehr nötig
- Liste möglicher Befehle ist als Kommentar gleich mit im Sketch (unterm Tab Configuration.h)
- noch mal etwas vereinfachte Konfiguration der Abfragebefehlsliste
- neu strukturierter Ausgabeteil
- Ergänzungen in den Kommentaren
- kleine interne Optimierungen

Ich bin optimistisch, die meisten hier in den letzten Tagen angesprochenen Details etwas verbessert zu haben ohne das die Übersichtlichkeit insgesamt gelitten hat. Besonderer Dank geht dabei an Andi für konstruktive Tipps und Hilfestellung.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/


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

#57 Beitrag von Christian Sch. »

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

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

#58 Beitrag von Arne aus dem Norden »

Die neue Version 2.2 ist jetzt online und im ersten Beitrag dieses Threads aktuell verlinkt.

Ich habe versucht, die Einträge hier von mir aus der Vergangenheit größtenteils ebenso zu aktualisieren.
Deswegen werde ich an dieser Stelle keine erneute detailierte Anleitung wegen den Änderungen einstellen.
Bitte einfach den vorhandenen Beitrag unter http://forum.zusi.de/viewtopic.php?p=237732#p237732 nochmal kurz überfliegen...
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

#59 Beitrag von trainboy12 »

Hallo,

auch ich würde die direkte Ausgabe gerne ausprobieren, aber leider will das ganze Technik-gedöns nicht so.
Mein Problem ist jetzt folgendes:
Wenn ich im Wlan bin, habe ich einmal 192.168.178.35 und vom Shield 169.254.240.56. Im Internet habe ich schon gefunden, dass diese IP-Adressen nicht miteinander kommunizieren können.
Wenn ich jetzt aber mein Wlan-Stick entferne habe ich ja nur noch letztere IP-Adresse und ich kann ja wohl kaum die "Sachen an die selbe Adresse senden. Verkabelt ist das ganze ohne Router (direkt über PC)
Kann mir vielleicht jemand helfen?

Bild

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

#60 Beitrag von Arne aus dem Norden »

trainboy12 hat geschrieben:auch ich würde die direkte Ausgabe gerne ausprobieren, aber leider will das ganze Technik-gedöns nicht so.
Mein Problem ist jetzt folgendes:
Wenn ich im Wlan bin, habe ich einmal 192.168.178.35 und vom Shield 169.254.240.56. Im Internet habe ich schon gefunden, dass diese IP-Adressen nicht miteinander kommunizieren können.
Eh, Moment.
Warum hast du das vorhin nicht mit der 192.168.178.35 als Zusi-Server-IP bei DHCP 1 und W-LAN an probiert?
So routest du ja wirklich immer auf das Shield selbst nach meinem Verständnis...
Zuletzt geändert von Arne aus dem Norden am 31.01.2014 18:22:31, insgesamt 1-mal geändert.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Antworten