• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

GPS-Daten von CW auf PDA an Cachewolf auf PC in Linux[gelöst

pfeffer

Geowizard
verwendest Du die sun-java-VM?
Die hat in der Standardversion keine Möglichkeit, auf einen seriellen Port zuzugreifen. In Windows wird das Problem durch die ewe.dll gelöst. Ich glaube in Linux muss man die ewe-Vm verwenden, um auf serielle Ports zugreifen zu können. Das geht so:
ewe cachewolf.ewe
(wahrscheinlich muss man da noch auf Groß- und Kleinschreibung achten, also evtl. CacheWolf.ewe oder so).

Gruß,
Pfeffer.
 
OP
W

white_rabbit

Geocacher
Ok, ich habe gerade die aktuelle EWE-Version gezogen und dazu das hier gepackt:
http://www.ewesoft.com/Downloads/Downloads.html#_Toc105819907

Ich kann also unter Linux/Java jetzt auch die EWE-Version starten
via
Code:
java -cp ewe.jar Ewe CacheWolf.ewe

und benutzen. Das ändert aber bisher nix daran, dass ich die Meldung
Code:
"java.lang.UnsatisfiedLinkError: nativeCreate [....]"
erhalte, sobald ich auf "Testen" klicke...
 

pfeffer

Geowizard
nein, so verwendest Du ja noch immer die sun-java-vm
Du musst Dir ein ewe-Binary für Linux besorgen und dann so starten, wie ich beschrieben habe. Dieses ewe-Binary kann direkt gestartet werden, ohne "java" davor, denn es ist die Ewe-VM selbst.

Gruß,
Pfeffer.
 
OP
W

white_rabbit

Geocacher
Ok, habe mir das ewe-Binary besorgt. Und siehe da: Unter "Ports" erscheint jetzt auch unter Linux (!) Com1: bis Com4: -- warum auch immer?!

Was jetzt schon mal klappt ist das hier:
Code:
1) Shell mit ./ewe CacheWolf.ewe
2) Shell mit sudo nc -l -p 23 >gpsfifo
3) Shell mit telnet localhost (zur Eingabe von Test-Daten)
4) CW-Einstellungen --> Port auf /home/<user>/gpsfifo --> Testen --> Die Daten kommen über (wenn auch alles in Großschreibung...)
Jetzt wird es spannend, was passiert, wenn der andere CW die Daten schickt....
(Nebenbei: Die Darstellung des EWE-Cachewolfes war grausam ... alles auf Schritgrad 16 per default ist *hier* viiiiel zu groß aber im Java-CW perfekt...)

[10 min später] -- ein Anfang ist gemacht:
Immerhin meckert der PDA-CW jetzt nicht mehr, dass er keine Socket-Verbindung aufbauen kann und tatsächlich habe ich ganz kurz die GPS-Informationen auf dem Host gesehen. Dann aber ist der CW auf dem Host abgeschmiert. Schade. Ist scheinbar noch nicht so ganz ausgereift??

[noch 10 min später] ... jetzt hat es geklappt! Man muss sehr auf die Reihenfolge achten, wann man wo was aktiviert. Wichtig ist es, zuerst im Host auf "Starte GPS" und kurz darauf auf dem PDA "Starte GPS" auszuwählen. Sonst gibts einen Timeout und gpsfifo beendet sich. Ich habe jetzt aber tatsächlich die GPS-Position auf dem Linux-Rechner. "Ganz ohne" GPS-Maus ... starke Sache! Wenn das *so* geht, muss man das Signal ja auch sonstwohin schicken können, um einem beliebigen Rechner eine GPS-Maus vorzugaukeln :)

P.S.: Kann leider im ersten Artikel in der Überschrift kein "Gelöst" mehr dazu setzen. Das muss einer der Admins für mich übernehmen ... danke!
 

pfeffer

Geowizard
Probiere mal
Code:
Shell mit sudo nc -L -p 23 >gpsfifo
Manche Versionen von netcat (nc) akzeptieren die Option "-L" als re-listen if socket was closed, also dass nc sich nicht beendet, wenn CW die TCP-Verbindung schließt, sondern erneut auf eine TCP-Verbindung wartet. Damit müsstest Du diesen Befehl nicht jedes mal neu eingeben, nach dem Du auf dem PDA das GPS gestoppt und wieder neu gestartet hast.

Gruß,
Pfeffer.
 

jennergruhle

Geoguru
Cool! Gut zu wissen, dass es so geht.
Und die Mega-Schrift ist offenbar ein Problem der LinuxEWE-VM. Leider muss ich die auf meinem Handy auch nutzen, die dortige Java-VM "Cacao" mag den CW nicht starten. Ich kann auch nur die Fontgröße 4 nutzen, und in der Kompassrose geht gar nix ohne diesen Fix (siehe Seite 5 und 6).
 
OP
W

white_rabbit

Geocacher
Hi.
Also hier funktioniert die Option -L nicht. Ich habe ein Kubuntu 8.10 mit
Code:
nc -h  --> [v1.10-36]
Aber man könnte sich ja ein Script bauen, in dem ein laufendes nc abgefragt wird ... notfalls wird dann halt neu gestartet... immerhin klappt es so aber schon mal. Top!
 

MiK

Geoguru
Das ist ein Fix im Code. Den musst Du selbst einfügen und neu kompilieren.

Wenn ich am WE dran denke, baue ich das mal in den offiziellen Code ein.
 
Oben