GPS Position von App übermitteln lassen?

Hallo Leute,

ich kann mir diese extremen Abweichung nicht erklären (und konnte sie auch noch nicht feststellen).
Kann es evtl. daran liegen, dass bei der Nutzung der Google-App die Kartendaten nachgeladen werden müssen und dieses zu Verzögerungen führt, wenn keine stabile Internetverbindung besteht?:confused:

Joachim

Nachtrag: Sollten Abweichungen von 250m (wie hier angegeben) „normal“ sein, könnte auch die Navisoftware dieses nicht allein „korrigieren“, in einem Umkreis von 250m sind in einer Stadt oftmals viele verschiedene Strassen… Für mich sind die Angaben bezüglich der Datenqualität daher etwas - wie soll ich sagen - schwer nachvollziehbar.
Nutze ich jetzt aktuell die Google-Maps-App so wird tatsächlich die Karte meines letzten Standortes gezeigt, die blaue Nadel ist aber ziemlich exakt auf meiner tatsächlichen Position…

Hiho,
ich kanns auch nicht nachvollziehen. In Google Maps bin ich ziemlich punktgenau!
Aber im Datensatz den ich übers API zurückbekommen hab, stand schon 250 Meter drin, warum auch immer! Klar, mit 250 Meter ungenauigkeit lässt sich nicht navigieren! Ich habe eher den Eindruck dass das mit Updateintervallen, etc. zusammenhängt!
Habs jedenfalls so wieder verworfen, und wäre auch für die GPS Daten via IPS-APP… auch wenn mir Paresy vielleicht nun an den Hals springt :smiley:

Gruß

Kai

Huhu,
alternativ geht ilocalis sehr gut. Einziger Nachteil ist, dass es nicht über den APP Store beziehbar ist. Aber die Aufzeichnung ist exakt und einfach über das ilocalis Portal abzurufen (nebst Karte).

//Sven

Ja, aber ich meine, dass meine GeoDaten mir und meinem VPN gehören! Und nicht dem Portal von irgendjemand …

Hallo zusammen,

ich nutze zur Positionsbestimmung uTrackMe Beacon.
Diese App ist extra für den Betrieb im Hintergrund optimiert.
Ein weiterer Vorteil ist, dass die App das Senden der Geodaten an einen „Custom Server“ also an meinen Server unterstützt.
Ich habe ein kleines PHP Script geschrieben, welches die Daten in eine MySQL Datenbank packt und im Webfront über Google Maps anzeigt.
Wenn interesse besteht kann ich die Scripte gerne veröffentlichen.

Gruss
Michael

Hallo Michael,

eine kleine Anleitung (nicht nur das Skript selbst) was man wo und wie einrichten muss, wäre sicherlich für einige hier interessant…:wink:

Joachim

Hallo !

Das App sieht wirklich gut aus finde ich. Leider schaffe ich es bisher nicht, den Server einzurichten. Gibt es irgendwo eine Beschreibung? Läuft das Beispielskript „einfach so“?

Happy Day, Frank

Daran hätte ich auch interesse… würde mich freuen wenn du eine kleine Anleitung dazu schreiben würdest.
Danke!

Viele Grüße
Chris

…und RUMMS: Da waren sie schon zu Dritt!.. (mindestens!):smiley:

Joachim

… also inzwischen läuft das Beispiel-Script bei mir. Ich bin beeindruckt! Jetzt muss ich mal den Battereiverbrauch testen. Den Viewer habe ich auch schon geladen. Der ist auch prima.

Danke schon mal für den Tipp :slight_smile:

Hallo zusammen,

Ich werde heute abend eine Anleitung zur Einrichtung schreiben.

Gruss
Michael

Klasse… vielen Dank!

Viele Grüße
Chris

bei einer so tollen und vor allen Dingen neuen Anleitung will ich noch mal kurz ans WIKI erinnern!

Hauptseite

Es wäre toll, wenn Du die Anleitung vielleicht gleich im Wiki schreibst. Und dann aus dem Forum den Link setzt.

Wenn Du noch nichts im Wiki geschrieben hast, stell deine Fragen entweder hier IP-Symcon Wiki - IP-Symcon Community Forum oder schau Dir meinen Artikel an. Da sind schon viele Sachen wie Bilder und Kapitel genutzt.

Ernies Heizungsscript

Richtig einsortieren können wir Sie später noch.

Aber coole Sache mit dem eigenen Geo-Daten-Server! Den werde ich auf jeden Fall testen!

Gruß,

ernie

Yuppie. Da freue ich mich auch besonders drauf. Im IPS implementier ist das mal so richtig cool!

im Grunde ist es ganz einfach:

  1. Den utrackme beacon auf dem iphone installieren
  2. Einen Webserver einrichten und von der utrackme website den codeschnipsel utrackme.php in ein erreichbares webserver Verzeichnis kopieren.
  3. Im utrackme beacon (iPhone Springboard -> Einstellungen -> ganz nach unten scrollen > utrackme beacon Einstellungen) unter utrackme publish server die url (http://Name.Domain/pfad/utrackme.php) und ggfls. User/pass eingeben.
  4. Andere settings nach Belieben durchführen, z.B. min time 5mins bei Battery und external Power unter advanced settings -> Damit sendet das iphone immer mindestens alle 5mins eine position, auch wenn es sich nicht bewegt hat.

Somit sollte nach spätestens 5mins ein file „utrackme_data_store.txt“ im selben Verzeichnis wie die utrackme.php liegen. Das file besteht immer aus einer Zeile: (****** zum anonymisieren von mir eingefügt)

a:1:{s:40:„ac7e85392be0d0de408d856*****************“;a:6:{s:4:„time“;i:1297149873;s:2:„id“;s:40:„ac7e85392be0d0de408d856******************“;s:4:„lock“;s:1:„1“;s:12:„lastlocktime“;i:1297149873;s:11:„device_name“;s:11:„iPhone ";s:8:„location“;s:41:"12971,50.,9.**,47,0.0,213“;}}

Wobei unter s:41 die wirklich interessanten Daten stehen:

  1. Unix time stamp dieses updates
  2. Long
  3. Lat
  4. accuracy
  5. Geschwindigkeit
  6. (hier „“ zwischen den Kommata) Kompasskurs
  7. Höhe

Was mir persönlich aufgrund fehlender php Kenntnisse fehlt, ist ein skript dieses File in einzelne Parameter zu zerlegen und in Vars [Oder Array] zu schreiben und in eine sql DB zu schreiben.

Vieleicht kann jemand aus der community mir kurz ein code beispiel einstellen.

Hallo wupperi,

vielen Dank für Deine Anleitung. Könntest Du bitte Punkt 2 noch etwas näher erläutern?:confused:

Joachim

Der einfachste Weg ist den IPS webserver zu nutzen.
Einfach eine Webserver-Instanz erstellen, den Port, Pfad und usernamen/password konfigurieren.

Wenn der Pfad z.B. c:\ips2\web sein sollte, dann einfach den utrackme.php codeschnipsel aus diesem Archiv in c:\ips2\web kopieren.

Im DSL/Cable/3G/was auch immer Router muss dann wahrscheinlich noch ein port/IP forward auf den für den IPS Server gewählten Port/IP Adresse erstellt werden. Wer eine dynamische IP vom provider bekommt muss über z.B. DynDNS noch einen Namen erstellen.

Der Aufruf im utrackme beacon erfolgt dann über:

http://dyndnsname:port/utrackme.php

That’s it.

Die beacon app ruft dann zyklisch die php Seite auf, schickt über http post ihre Daten an das skript, welches dann im gleichen Verzeichnis die Datei mit den Daten anlegt.

@sanman: Kannst Du mal Dein Skript zum Ablegen der Daten in SQL posten?

Hallo !

Also das Einrichten habe ich ja schon geschafft. Ich habe es allerdings auf einen Webserver im Internet gepackt. Das ist aber an sich ja egal.

Wenn ich das map.php aufrufe, kann ich auch die Karte mit dem Punkt sehen. Nur würde ich das Ding gerne erweitern. Man muss immer reinzoomen wenn man etwas genauer die Stelle sehen will und sehr gerne würde ich auch den Punkt wandern sehen.

Hat jemand dafür vielleicht auch ein Beispiel ?

Happy Day, Frank

Ps: Der Batterieverbrauch ist übrigens echt gering im Hintergrund. Es wird natürlich weniger oft gesendet aber der Akku leidet nicht wirklich.

weiß jemand, ob man dafür ein iPhone mit Multitasking benötigt?

Ich habe zwar iOS 4.0.2 auf meinem iPhone 3G, aber Multitasking ist nicht freigeschaltet. Funktioniert das trotzdem?

Gruß,

ernie

Hallo Leute,

hier mal ein „Anfang“, die Datei zu zerlegen:

<?

 // Öffnen der Datei
$handle = fopen(IPS_GetKernelDir()."/gps/utrackme_data_store.txt","r");
$message = fgets($handle, 1000);
$infoarray = get_mark($message, '"location";s*;}}');
$info = get_mark($infoarray[0], '"*"');
$infos = explode(",",$info[0]);

$date = date("d.m.Y", $infos[0]);
echo "Datum: ".$date;
$time = date("H:i", $infos[0]);
echo "Uhrzeit: ".$time;
$long = $infos[1];
echo "Länge: ".$long;
$lat = $infos[2];
echo "Breite: ".$lat;
$accuracy = $infos[3];
echo "Genauigkeit: ".$accuracy;
$speed = $infos[4];
echo "Geschwindigkeit: ".$speed;
$direction = $infos[5];
echo "Richtung: ".$direction;
$altitude = $infos[6];
echo "Höhe: ".$altitude;



// Diese Funktion trennt die relevanten Bereiche aus dem Ausschnitt heraus $string ist dabei der zu durchsuchende Gesamtstring,
// in $Mark sind durch "*" getrennt der Beginn des zu suchenden Strings und das Ende des zu suchende Abschnittes. Beispiel für den Text "<div>*</div></li>"
function get_mark($string,$mark)
{
    $ausgabe = array();
    $template = explode("*",$mark);
    $mark = $template[0];
    $end = $template[1];
    $string = strstr($string,$mark);

    $temp = explode($mark,$string);
    $a = 1;
        foreach ($temp as $tempx)
                    {
                    $tempx = explode($end,$tempx);
                    $tempx = $tempx[0];
                    if ($tempx)
                            {
                            array_push ($ausgabe,$tempx);
                            }
                    }
    return $ausgabe;
}


?>

Wie kann ich jetzt diese Werte in einer Karte anzeigen?

Joachim