J2ME & integrierter GPS Empfänger
lima-city → Forum → Programmiersprachen → Java
ahnung
ausprobieren
byte
code
dank
datum
display
forum
frage
http
input
port
position
programm
sagen
sonderzeichen
testen
url
verbindung
zugriff
-
Hi,
habe die Aufgabe bekommen ein kleines Javaprogramm zu schreiben, weleches einfach nur die aktuelle GPS-Position vom integrierten Empfänger des Handys auslesen soll (und später an einen Server sendet).
Folgende Probleme habe ich nun: Ich kann zwar Java programmieren, hab aber noch nie ein Programm für ein Handy geschrieben. Ich habe keine Ahnung wie ich an die Hardware herankommen soll. Ich habe bei mir zuhause ein Sony Ericsson X1 zum testen, das programm soll aber später für das Sony Ericsson C905 sein (hab keine Ahnung, ob das einen Unterschied macht).
Die Frage an euch: Ich will wissen, wie ich die Aktuellen GPS-Daten aus dem Empfänger bekomme und einfach erst mal am Display anzeigen kann. Ich will vorerst nur mal sehen ob und was sich da tut
Vorab mal vielen Dank für eventuelle Hilfestellungen und Codeschnippsel. Wäre auch für ein Tutorial dankbar. Hab bisher noch kein brauchbares gefunden, werd mich aber gleich weiter ranmachen eins zu suchen.
Gruß zyclop -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Servus,
zu Java direkt kann ich dir leider nichts sagen,
GPS-Geräte werden aber eigentlich immernoch Seriell angesteuert, d.h. du müsstest rausfinden an welchem "COM Port" dein GPS Empfänger intern hängt, welche Baudrate & Einstellungen er erfordert, dann einen Port dort öffnen und schon empfängst du die RAW-GPS Daten. Die Sehen etwas putzig aus, da sie später noch zerlegt werden müssen... -
Ok, in meinem Fall wäre das Com4, die Baudrate weiß ich nicht, kann ich die irgendwie rauskriegen oder muss ich es einfach ausprobieren?!
-
Ich würde sagen, ausprobieren ist einfacher. Fang mit 4800 an, das ist es *fast* immer.
Wenn du dann kram a lâ $1,23,23,EF23234,234,234,324,blaaaaa bekommst, dann siehts gut aus ;)
Wenn nur Sonderzeichen-Wirrwar kommt, dann probierste halt was anderes... -
Danke erstmal, wenn mir jetzt dann noch jemand sagen könnte, wie ich meinen Input Stream auf den Com 4 scharfmachen kann und die Baudraute einstelle, dann wär ich über glücklich
-
Moin,
kurzum habe ich diesen Thread aus dem Sun-Forum anzubieten:
http://forums.sun.com/thread.jspa?threadID=5222749
Tutorials über J2ME gibt es hier:
http://developers.sun.com/mobility/learning/tutorial/
Gruß,
Pawnee -
Also, bisher habe ich es nicht hinbekomm eine Verbindung zu meinem Seriellen Com 4 aufzubauen.
Ich benutze hierfür folgende Funktion:CommConnection con = (CommConnection)Connector.open("comm:com4;baudrate=9600");
wenn ich nun mein Programm starte, passiert einfach garnichts.
Programm ausschnitt:
public void run() { try { CommConnection con = (CommConnection)Connector.open("comm:com4;baudrate=9600"); InputStream in = con.openInputStream(); byte[] readData; readAccess = true; while(readAccess) { int len = 0; len = in.available(); if(len > 0){ readData = new byte[len]; int length = in.read(readData); ComTest.dataViewForm.append(port); ComTest.dataViewForm.append("INPUT STREAM: "+in.available()); ComTest.dataViewForm.append(""+new String(readData)); ComTest.display.setCurrent(ComTest.dataViewForm); } } in.close(); con.close(); } catch(IOException ioe) { ioe.printStackTrace(); }
-
Moin,
Hast Du vielleicht mal versucht, die Connection auszugeben, ob da überhaupt was zustande kommt?
Weißt Du denn mit Sicherheit, dass die Baudrate stimmt?
Soweit ich mich entsinnen kann, arbeitet man auch nur noch wenig, wenn überhaupt mit InputStream.available().
Ich entsinne mich, dass das generell eher über EOF gelöst wird.
Aber lass Dir erstmal die Verbindung ausgeben und sieh nach, ob da was zustande kommt.
Gruß,
Pawnee
Beitrag zuletzt geändert: 1.4.2009 13:09:15 von pawnee -
Ok, ich habe meinen Code über den Haufen geworfen und es geschafft die Daten von einer Bluetooth GPS Maus einzulesen. Jetzt will ich das ganze noch auf meinem Sony Ericsson C702 schaffen und zwar mit dem internen GPS. Ich habe das Gefühl, dass ich mit einem Zugriff auf einen der Com-Ports nicht das bekomme, was ich will. An dasGPS Signal kommt man scheinbar anders ran. Vielleicht kann mir ja einer sagen wie ich das mit Java mache... Ich bin am Verzweifeln.
Gruß zyclop -
Moin,
Du hast meine ersten beiden Fragen nicht beantwortet, demnach kann ich Dir keine weitere Richtungen aufzeigen.
Aber vielleicht fängst Du auch mal an zu recherchieren - und nicht nur Suchmaschinen zu nutzen:
http://www.hcilab.org/documents/tutorials/BT_GPS/BT_GPS.htm
http://onesearch.sun.com/onesearch/index.jsp?qt=j2me+gps+data&col=community-all&cs=false&rt=true&reslang=en
Und eventuell noch Android:
http://code.google.com/intl/de-DE/android/
Gruß,
Pawnee
-
Tut mir leid, pawnee. Ich habe herausgefunden, dass man garkeine Verbindung zum Com-Port brauhct, sondern sich alles ganz leicht über die Location API von Sony steuern lässt. jetzt warte ich gerade bis das Handy geladen ist und versuche es mal zu testen!
Ich danke für die Mühen :-)
Gruß zyclop -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage