Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Hallo zusammen,
in dem Thema TCP bin ich ein Wenig anfängermäßig eingelesen, komme jedoch nicht auf den Sprung, wie der Zusi HELLO-Befehl abgesendet wird.
Ich möchte mich mit dem "Hercules"-Programm (Siehe https://www.hw-group.com/software/hercu ... up-utility) mit Zusi verbinden und Daten abfragen.
Das Ziel ist es ein Datenaustausch herzustellen - für den Anfang.
Die Zusi-Doku (Seite 718ff) ist nicht anfängerfreundlich geschrieben, ich verstehe nicht wie sich der Befehl HELLO, um den Clienten in Zusi anzumelden, zusammensetzt.
"00 01 00 01 00 01 00 02 00 03 00 04" kann es nicht sein, da fehlen ja die benötigten Infos wie Indentifikation des Anwenders. Wie lautet dieser Befehl dann richtig?
Ich danke euch für die Hilfe oder jegliche Links zum Weitereinlesen.
Viele schöne Grüße,
Fabi.
in dem Thema TCP bin ich ein Wenig anfängermäßig eingelesen, komme jedoch nicht auf den Sprung, wie der Zusi HELLO-Befehl abgesendet wird.
Ich möchte mich mit dem "Hercules"-Programm (Siehe https://www.hw-group.com/software/hercu ... up-utility) mit Zusi verbinden und Daten abfragen.
Das Ziel ist es ein Datenaustausch herzustellen - für den Anfang.
Die Zusi-Doku (Seite 718ff) ist nicht anfängerfreundlich geschrieben, ich verstehe nicht wie sich der Befehl HELLO, um den Clienten in Zusi anzumelden, zusammensetzt.
"00 01 00 01 00 01 00 02 00 03 00 04" kann es nicht sein, da fehlen ja die benötigten Infos wie Indentifikation des Anwenders. Wie lautet dieser Befehl dann richtig?
Ich danke euch für die Hilfe oder jegliche Links zum Weitereinlesen.
Viele schöne Grüße,
Fabi.
- Johannes
- Beiträge: 3203
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Schau mal in der Doku unter "11.3.4 Beispielprotokoll". Da ist ein kommentierter Datenaustausch abgedruckt.
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Vielen Dank für den Hinweis,
leider werde ich dümmer wie davor.
Also
"01 00 01 00 02 00 02 00 46 61 68 72 70 75 6C 74 32 2E 30" oder
"01 01 02 02 00 46 61 68 72 70 75 6C 74 32 2E 30"
funktionieren schonmal nicht, da kommt keine Antwort.
Ich verstehe leider nicht, wie ich das Beispiel lesen soll?
Fehlen mir Grundlagen? Kann ich mich noch weiter einlesen ?
Viele Grüße
leider werde ich dümmer wie davor.
Also
"01 00 01 00 02 00 02 00 46 61 68 72 70 75 6C 74 32 2E 30" oder
"01 01 02 02 00 46 61 68 72 70 75 6C 74 32 2E 30"
funktionieren schonmal nicht, da kommt keine Antwort.
Ich verstehe leider nicht, wie ich das Beispiel lesen soll?
Fehlen mir Grundlagen? Kann ich mich noch weiter einlesen ?
Viele Grüße
-
- Beiträge: 8975
- Registriert: 04.11.2001 19:57:46
- Aktuelle Projekte: Zusi3 Objektbau
- Kontaktdaten:
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Im Programmverzeichnis liegt Beispiel-Quellcode im Ordner _Docu\demos.
Es gibt auch einen Wireshark-Dissector, falls man sehen will was über den Draht geht: https://github.com/zusitools/tcp_dissector
Es gibt auch einen Wireshark-Dissector, falls man sehen will was über den Draht geht: https://github.com/zusitools/tcp_dissector
Mein Youtube-Kanal: youtube.com/echoray1
- Johannes
- Beiträge: 3203
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
In der mittleren Spalte steht ein kompletter Bytestring, der zum besseren Verständnis umbrochen und eingerückt ist. Was du an Zusi schickst, ist also z.B. "00 00 00 00 01 00 00 00 00 00 01 00 […] 32 2E 30 FF FF FF FF FF FF FF FF"
Ja. In den Tabellen ist nur die ID von Knoten und ID und Datentyp von Attributen vermerkt. Wie du die als Bytes serialisierst, erklärt dir "11.3.1 Aufbau des Datenformats".
Es gibt auch fertig implementierte TCP-Clients in diversen Sprachen: viewtopic.php?f=73&t=12650
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Vielen Dank hierfür, damit funktioniert schonmal die Verbindung und ich kann mich voranarbeiten.
PS: Mein Ziel ist die Einarbeitung einer TCP-Verbindung zwischen Android und Zusi, um am Tablet in einer eigens programmierten App Daten aus Zusi anzuzeigen. (Klingt simpel, der Weg dahin ist schwer wie ich jetzt schon merke.)
- Johannes
- Beiträge: 3203
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Eher für eine FIS-App nach dem Original: https://www.ux-design-awards.com/de/gew ... launch-ice.
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Für den Arduion gibt es hier eine fertige MessageLoop: viewtopic.php?p=274144#p274144
Aber für ein FIS-Display hat das noch niemand probiert.
Für das Protokoll gibt es hier ein Wireshark-Plugin: viewtopic.php?f=73&t=12635
Aber für ein FIS-Display hat das noch niemand probiert.
Für das Protokoll gibt es hier ein Wireshark-Plugin: viewtopic.php?f=73&t=12635
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Ich bin seit gestern nur am Tüfteln, weil - egal wie - die Zusi-Meldung "Protokoll-Version 2 erwartet" auftaucht und ich somit keine Verbindung herstelle.
Dabei müsste ich das Prinzip doch verstanden haben ...
Von Zusi bekomme ich aufs Handy eine Antwort von 0 Bytes-Länge.
Vielleicht kennt sich zufällig jemand mit Java / in dem Gebiet aus
Dabei müsste ich das Prinzip doch verstanden haben ...
Code: Alles auswählen
//00 00 00 00 01 00 00 00 00 00 01 00 04 00 00 00 01 00 02 00 04 00 00 00 02 00 02 00 0A 00 00 00 03 00 46 61 68 72 70 75 6C 74 05 00 00 00 04 00 32 2E 30 FF FF FF FF FF FF FF FF
//000000000100000000000100040000000100020004000000020002000A00000003004661687270756C74050000000400322E30FFFFFFFFFFFFFFFF
byte[] test = {(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x01,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x01,(byte)0x00,(byte)0x04,(byte)0x00,(byte)0x00,(byte)0x00
,(byte)0x01,(byte)0x00,(byte)0x02,(byte)0x00,(byte)0x04,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x02,(byte)0x00,(byte)0x02,(byte)0x00,(byte)0x0A,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x03
,(byte)0x00,(byte)0x46,(byte)0x61,(byte)0x68,(byte)0x72,(byte)0x72,(byte)0x75,(byte)0x6C,(byte)0x74,(byte)0x05,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x04
,(byte)0x04,(byte)0x00,(byte)0x32,(byte)0x2E,(byte)0x30,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF};
Vielleicht kennt sich zufällig jemand mit Java / in dem Gebiet aus
-
- Beiträge: 287
- Registriert: 01.06.2015 14:11:25
- Aktuelle Projekte: http://www.zusidatenbank.de/
- Wohnort: BW Schöneweide
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Ich würde dir raten, das bereits erwähnte Wireshark-Tool zu verwenden, um die von deinem Programm gesendeten Bytes mit das Paket von ein andere Programme zu vergleichen, wie z.b. ZusiMeter oder das TCPOutput Demo. Ein identische Nachricht muss funktionieren, dann kannst du anfang, etwas zu ändern.
Das hat mir sehr geholfen, als ich anfing, das Protokoll zu verwenden.
Das hat mir sehr geholfen, als ich anfing, das Protokoll zu verwenden.
Autor - Zusi 3 C++ Client, zusidatenbank.de - Das Zusi3 Addon-Datenbank
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Danke für die Empfehlung.
Ich lass es gut sein, nachdem ich mir das in Wireshark angeguckt habe.
Ist mir etwas zu kompliziert und demotiviert mich nur, keine Fortschritte machen zu können.
Werde versuchen eine autarke Lösung für das FIS zu finden.
Viele Grüße.
Ich lass es gut sein, nachdem ich mir das in Wireshark angeguckt habe.
Ist mir etwas zu kompliziert und demotiviert mich nur, keine Fortschritte machen zu können.
Werde versuchen eine autarke Lösung für das FIS zu finden.
Viele Grüße.
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Wenn du in Java programmierst, solltest du dir auf jeden Fall eine Zwischenschicht bauen und den Header auf keinen Fall von Hand schreiben. Das solltest du wirklich nur machen, wenn du mit sehr Hardwarenahen Sprachen programmierst.
Wenn du in Java programmierst, solltest du eventuell versuchen, ob du den Autor von dem alten Java-Client (-> viewtopic.php?f=73&t=13648 ) erreichst, oder alternativ kannst du auch versuchen, dieses Programm von C# sinngemäß auf Java zu übertragen. -> viewtopic.php?f=73&t=18049
Wenn du doch den Handshake von Hand zusammenstellen musst, bietet es sich an, ihn wie folgt zu formatieren:
Du kannst hier sehen, dass ich ab dem 0x05 nicht mehr so genau weiß, was du da vor hast. Ich glaube, die Länge stimmt nicht und vielleicht ist das 0x04 doppelt.
Wenn du in Java programmierst, solltest du eventuell versuchen, ob du den Autor von dem alten Java-Client (-> viewtopic.php?f=73&t=13648 ) erreichst, oder alternativ kannst du auch versuchen, dieses Programm von C# sinngemäß auf Java zu übertragen. -> viewtopic.php?f=73&t=18049
Wenn du doch den Handshake von Hand zusammenstellen musst, bietet es sich an, ihn wie folgt zu formatieren:
Code: Alles auswählen
byte[] test = {
(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x01,(byte)0x00,
(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x01,(byte)0x00,
(byte)0x04,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x01,(byte)0x00,
(byte)0x02,(byte)0x00,
(byte)0x04,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x02,(byte)0x00,
(byte)0x02,(byte)0x00,
(byte)0x0A,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x03,(byte)0x00,
(byte)0x46,(byte)0x61,(byte)0x68,(byte)0x72,(byte)0x72,(byte)0x75,(byte)0x6C,(byte)0x74,
(byte)0x05,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x04,
(byte)0x04,(byte)0x00,(byte)0x32,(byte)0x2E,(byte)0x30,
(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF,
(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF};
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat
- Johannes
- Beiträge: 3203
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Ja, du hast einen Tippfehler in deinem Bytestring. An der 13. Position von rechts steht zweimal 0x04, statt einmal wie im Beispiel aus 11.3.4. Am besten nochmal aus der Doku rauskopieren.
-
- Beiträge: 591
- Registriert: 28.10.2021 12:16:41
- Aktuelle Projekte: https://github.com/machinae-vectoriae-ductor/
- Wohnort: Köln
- Kontaktdaten:
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Ein funktionierendes Python-Programm kann ich Die gerne schicken. Auch einen Programmablaufplan habe ich dazu. Da es noch nicht komplett fertig, möchte ich es nur noch nicht allgemein veröffentlichen.
Viele Grüße Wolfgang
Viele Grüße Wolfgang
Re: Suche Hilfe für TCP-Anfänger, Verbindung von "Hercules" mit Zusi herstellen und HELLO Befehl ausführen
Guten Morgen,
ist mit Sicherheit eine große Hilfe um mir das mal von der anderen Seite anzuschauen.
Viele Grüße
ist mit Sicherheit eine große Hilfe um mir das mal von der anderen Seite anzuschauen.
Viele Grüße