Java TCP-Client für eigene Anwendungen

Alles, was nicht in die anderen Kategorien passt.
Antworten
Nachricht
Autor
Benutzeravatar
Basti189
Beiträge: 17
Registriert: 23.03.2016 14:46:27
Aktuelle Projekte: Java Zusi3Schnittstelle
Arduino zusi3Schnittstelle
PhilipsHue Schnittstelle
ZusiLightControl
Wohnort: Kassel

Java TCP-Client für eigene Anwendungen

#1 Beitrag von Basti189 »

Hallo zusammen,

heute wollte ich euch mal über mein aktuelles Projekt informieren, an dem ich seit Wochen sitze mit sehr vielen und langen Pausen.
Es handelt sich dabei um eine in JAVA geschrieben TCP Zusi3 Schnittstelle die in eigene Projekte eingebunden werden kann um eigene Programme zu entwickeln. Damit spart man sich die Mühe eine Verbindung herzustellen, geschweige denn die Daten auszuwerten und zu verarbeiten. Das Projekt ist aber noch nicht fertig, da bis jetzt nur ausgelesen werden kann und das auch nur zum Teil und es noch keine "public" Methoden gibt, mit denen man senden kann.
Grundsätzlich ist der Aufbau so gedacht:

Code: Alles auswählen

ZusiConnection zusi = new ZusiConnection("127.0.0.1", 1436, "Clientname", "0.0.1");
zusi.requestFuehrerstandsanzeigen(Fuehrerstandsanzeigen.Geschwindigkeit);
zusi.requestFuehrerstandsanzeigen(Fuehrerstandsanzeigen.Druck_Hauptluftleitung); //usw.
zusi.register(this);
zusi.connect();
Der Methode register() wird einfach die Instanz einer Klasse übergeben, die man sich geschrieben hat.
In dieser Klasse werden dann Methoden geschrieben, welche mit Annotations versehen werden.
Der Name der Methode kan ndabe ifrei gewählt werden, wichtig ist, dass die Anzahl der Parameter stimmen und die Datentypen.
Zum Beispiel für Ereignisse, die Zusi betreffen:

Code: Alles auswählen

@ZusiEvent(0x00)
public void onConnectionCreated(String version, String verbindungsinfo, boolean client_aktzeptiert) {
	System.out.println("Zusi-Version: " + version);
	System.out.println("Zusi-Verbindungsinfo: " + verbindungsinfo);
	System.out.println("Client aktzeptiert: " + client_aktzeptiert);
}
Oder Ereignisse die mit Daten von Zusi zu tun haben:

Code: Alles auswählen

@ZusiData(Fuehrerstandsanzeigen.Geschwindigkeit)
public void geschwindigkeit(int geschwindigkeit) {
	System.out.println(geschwindigkeit + " km/h");
}
Genau so wie oben wird mitgeteilt, wenn Tasten betätigt werden, usw..
Die Liste der Parameter die zur Zeit abgerufen werden, sidn auf den Stand der Zusi-Version 3.1.2.0
Das ist so der aktuelle Stand, dauert nicht mehr lange und dann sollte es fertig sein :D
Ich nutze diese im Moment für mein kleines ZusiFx Projekt :D
Hoffe euch gefällt meine Arbeit und vielleicht wird der eine oder andere sie dann nutzen :)

Bild
Es grüßt mit ZP1 der Basti

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

Re: Java TCP-Client für eigene Anwendungen

#2 Beitrag von F. Schn. »

Klasse! Damit sind wir (rein formell http://forum.zusi.de/viewtopic.php?f=73&t=12650" target="_blank ) wieder auf dem Stand von Zusi 2. :) (Wobei es bei Arduino-Direktkommunikation noch ein bisschen chaos gibt...)
Zuletzt geändert von F. Schn. am 24.02.2017 18:30:57, insgesamt 2-mal geändert.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Basti189
Beiträge: 17
Registriert: 23.03.2016 14:46:27
Aktuelle Projekte: Java Zusi3Schnittstelle
Arduino zusi3Schnittstelle
PhilipsHue Schnittstelle
ZusiLightControl
Wohnort: Kassel

Re: Java TCP-Client für eigene Anwendungen

#3 Beitrag von Basti189 »

Hallo zusammen,

lange war es still, doch jetzt gibt es mal ein kleines Update / möchte ich mal mein neustes Projekt, welches auf meiner Zusi3Schnittstelle basiert vorstellen.
Zur Java-Zusi3Schnittstelle selber, an der Funktionalität selber hat sich nicht viel geändert. Ich habe intern viel umgebaut und aufgeräumt, aber wie das so bei mir ist, kommen mir ständig neue Ideen und dann laufen bei mir irgendwann übertrieben gesagt 1000 Projekte gleichzeitig :D

So nun zu meinem Tool, es handelt sich schlichtweg um Manometer für C-Druck und HLL/HBL Druck.
Das Tool orientiert sich an den Manometern des FLIRT 1 ;)

Das Original
Bild

Das Tool mit "Gewicht"
Bild

Die PZB
Bild

Die Manometer sind einzelne Anwendungen die man frei auf dem Monitor verschieben kann.
Es gibt kein "Menü" in dem Sinne, sondern man teilt, Ip-Adresse, Port, sowieso den Typ des Manometers mit Startparametern mit.
Das einzige was noch fehlt ist das "Gegengewicht" der Nadeln, da bin ich gerade dran :D - Erledigt ... Kann man so lassen oder? ;-)
Und eventuell kommt noch der analoge Tacho in das Tool mit rein, aber das überlege ich mir noch :P

Hoffe euch gefällt meine Arbeit und ihr habt nutzen davon :)

Lg
Zuletzt geändert von Basti189 am 06.08.2018 12:57:26, insgesamt 3-mal geändert.
Es grüßt mit ZP1 der Basti

Benutzeravatar
Hans Jansen
Beiträge: 10
Registriert: 17.11.2017 18:10:23
Aktuelle Projekte: Wieder einsteigen!
Wohnort: Helmond NL

Re: Java TCP-Client für eigene Anwendungen

#4 Beitrag von Hans Jansen »

Hallo Basti!
Ich hätte Interesse an deinem (sp?) Java Clienten für meine eigene Pläne betr. Führerstandsbau. Möchtest Du das Programm freigeben für andere Leute?
Damit wäre ich sehr geholfen!
Hans.
Zuletzt geändert von Hans Jansen am 03.08.2018 18:52:06, insgesamt 2-mal geändert.
Hans.

Benutzeravatar
Basti189
Beiträge: 17
Registriert: 23.03.2016 14:46:27
Aktuelle Projekte: Java Zusi3Schnittstelle
Arduino zusi3Schnittstelle
PhilipsHue Schnittstelle
ZusiLightControl
Wohnort: Kassel

Re: Java TCP-Client für eigene Anwendungen

#5 Beitrag von Basti189 »

Hallo Hans,

entschuldige das ich nicht geantwortet habe, aber ich habe nicht mehr an dem Java Clienten weiter gemacht. Nehme das programmieren an dem Projekt erst jetzt wieder auf und werde dann selbstverständlich die Programme freigeben.

Lg
Basti
Es grüßt mit ZP1 der Basti

Benutzeravatar
Hans Jansen
Beiträge: 10
Registriert: 17.11.2017 18:10:23
Aktuelle Projekte: Wieder einsteigen!
Wohnort: Helmond NL

Re: Java TCP-Client für eigene Anwendungen

#6 Beitrag von Hans Jansen »

OK, Danke soweit!

Hans
Hans.

Antworten