GPS Position von App übermitteln lassen?

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

PHP: unserialize - Manual

Damit müsste es ein Einzeiler werden :slight_smile:

paresy

Hallo zusammen,

ich hab für mein Androidhandy so was ähnliches gemacht, aber statt Google habe ich Openstreetmap dafür benutzt(für mich war die Fahrradkarte einfach am genauesten).

Auch wird nicht nur die aktuelle Position angezeigt sondern die letzten 20(oder soviel ihr wollt) empfangenen Positionen werden mit einer Linie verbunden und die Uhrzeit an der aktuellen, Mittleren und letzten Position angezeigt . So sieht man auf die schnelle ob die Daten noch aktuell sind, wie ich vorankomme oder ob ich mich seit längerem nicht bewegt habe. Auch die Geschwindigkeit/Genauigkeit usw. kann angezeigt werden.

Das Script stelle ich morgen früh mal online, das könnt ihr ja für eure Daten einfach abändern, die Positionen habt Ihr ja schon.

Gruß Jannis

Pos.jpg

Die App uTrackMe Beacon scheint nach einem reboot des iPhones nicht automatisch geladen zu werden (anders als Google’s Latitude).

Ist für mich kein Problem, aber meine Frau denkt garantiert nicht daran, wenn der Akku mal leer war die App wieder zu starten.

Gibt es mittlerweile „inoffizielle“ Wege den Autostart einer App durchzuführen?

Hallo zusammen,

hier habe ich meine Lösung mit uTrackME vorgestellt.
http://www.ip-symcon.de/forum/f53/gps-position-ios-geraete-webfront-anzeigen-13123/#post111415

Gruss
Michael