Forum: Mikrocontroller und Digitale Elektronik GPS-Daten an Webserver über GPRS


von Stefan E. (5374ef616e)


Lesenswert?

Hallo Leute,

es gibt hier zwar schon viele Beiträge zum Aufbau einer GPRS-Verbindung, 
ich bin aber bereits soweit und habe eien bestehende Verbindung zu der 
Webseite aufgebaut.
Erst mal der Überblick über meine Hardware:

Ich steuere gerade das Telit Modul GE910-GNSS von Telit auf einem 
Evaluation-Board über serielle Schnittstelle über AT-Befehle an.
Die Steuerung nehme ich im Moment (nur zu Testzwecken, später über 
Mikrocontroller) mit dem Programm H-Term vor, mit dem ich Daten über die 
serielle Schnittstelle senden und empfangen kann.
SMS und Handyanrufe konnte ich bereits ohne Probleme tätigen.
Jetzt stand ich nur die ganze Zeit vor dem Problem, dass ich keine 
Antwort vom Webserver zurückbekomme, obwohl ich eine Verbindung zum 
Server hergestellt habe. Heute habe ich aber eine Antwort bekommen. Dies 
war jedoch der ganze HTML-Code mit Header der Seite.
Ich weiß nur wie die Seite die Daten bekommen soll, da eine externe 
Firma die Seite entwickelt hat.
www.hostname.de/gps.php?lon=5.9580450437744&lat=20.758250155544&u=123&t= 
20130812215758  (Pseudoadresse)
Da ich nicht viel von HTML und Webprogrammierung verstehe und ich mich 
hier nicht unbedingt auf die schnelle Einlesen möchte, hoffe ich das mir 
hier jemand weiterhelfen kann. Wenn ich den String in den Explorer 
einfüge funktioniert das ganze ohne Probleme. Das ist doch eigentlich 
auch kein viel anderes Prinzip.
Wie kann ich die Daten über die GPRS-Verbindung an den Host senden, 
sodass er diese in die php aufnimmt?
Ich habe ja zwei verschiedene Modi, in denen ich Daten senden kann, 
entweder im Command-Mode oder im HTTP-Mode
Welche ist hier der geeignete, ich habe es über beide Modi probiert aber 
keien Reaktion auf der Seite.

Danke schonmal für eure Hilfe!

Gruß Stefan

von Wolfgang H. (frickelkram)


Lesenswert?

Hallo Stefan,

ohne Einlesen wird es nicht gehen! Schau Dir bitte das 
OSI-Schichtenmodell an http://de.wikipedia.org/wiki/OSI-Modell .
Wenn Du von Verbindung zum Server schreibst, was meinst Du dann? Eine 
TCP/IP Verbindung kann es wohl nicht sein. Die brauchst Du aber erst 
mal, erst dann kannst Du darin das HTTP-Protokoll fahren.
Wenn Du die Grundlagen für die Kommunikation kennst, kannst Du gerne 
noch einmal nach konkreten Implementierungshilfen fragen. Ohne die 
Grundlagen wird der Weg hier im Forum sehr lang werden ...

von Sebastian L. (sebastian_l)


Lesenswert?

Hi,

mein Vorredner hat recht - das ganze ist "mehrschichtig".
1. TCP/IP Verbindung aufbauen
2. HTTP Request durchführen

Vielleicht hilft dir das für Schritt 2 - damit solltest du relativ 
schnell ans Ziel kommen:http://www.html-world.de/program/http_3.php

Denk auch daran, was passiert, wenn die Verbindung nicht erfolgreich ist 
(kein Empfang, Server offline,...) - das solltest du sowas wie eine 
Warteschlange impementieren....


LG

von Karl H. (kbuchegg)


Lesenswert?

> obwohl ich eine Verbindung zum Server hergestellt habe. Heute
> habe ich aber eine Antwort bekommen. Dies war jedoch der ganze
> HTML-Code mit Header der Seite.

Na, dann passt es doch

> Ich weiß nur wie die Seite die Daten bekommen soll, da eine externe
> Firma die Seite entwickelt hat.
> www.hostname.de/gps.php?
> lon=5.9580450437744&lat=20.758250155544&u=123&t=20130812215758
> (Pseudoadresse)

Also, in dem du eine Web-Seite aufrufst und beim Aufruf der Seite die 
Argumente angibst. Normalerweise werden die in die Web-Seite, die vom 
Server kommt eingebaut, bei dir ist dann eben so, dass sie das PHP 
Skript irgendwo wegspeichert. Auch gut.
Aber konzeptionell ist es aus deiner Sicht einfach nur der Aufruf einer 
Webseite, wobei du beim Aufruf was mitgibst.

> Da ich nicht viel von HTML und Webprogrammierung verstehe und

musst du auch nicht.
Es reicht völlig, wenn du von deiner µC-Seite aus rausgefunden hast, wie 
man eine Web-Siete vom Server anfordert. Es gibt ja keine Vorschrift, 
dass du das was vom Server kommt auch auswerten musst.


> Wie kann ich die Daten über die GPRS-Verbindung an den Host
> senden, sodass er diese in die php aufnimmt?

Indem du vom Sever die Web-Seite mit der PHP Adresse anforderst und in 
diese Anforderung laut Vorschrift der anderen Zuliefer-Firma deine 
Koordinaten einbaust. Du bist ja eigentlich auf einen Nebeneffekt aus. 
Das was dir der Server als Web-Seite liefert, interessiert dich ja gar 
nicht. Dir geht es rein darum, dass in dieser Anforderung die zu 
speichernden Koordinaten enthalten sind.
Was anderes hast du ja vom Explorer aus auch nicht gemacht, wenn du in 
die Adressleiste deine 'Anforderung' reingeschrieben hast. Jetzt machst 
du es eben vom µC aus.

von Stefan E. (5374ef616e)


Lesenswert?

Hi Leute,

also ihr habt mir echt weitergeholfen. Ich hab soeben das Problem 
gelöst.

Ich hatte ja alles soweit stehen, die TCP-Verbindung war aufgebaut und 
ich war auch schon im "Online mode" wie es bei Telit so schön heißt, 
bedeutet also ich bin mit dem Host mit einer virtuellen seriellen 
Verbindung verbunden und konnte also Daten schicken.
Mein Problem war nur die GPS-Daten mit dem richtigen Befehl an den 
Server zu schicken. Ich wusste einfach nicht wie ich das einfach 
anstellen sollte.
Sebastians Link hat mich dann draufgebracht wie ich das ganze lösen 
kann. Vielen dank!
Ich musste im "Online-Mode" die gps-Daten wie vom Webseitenhersteller 
gefordert mit dem Befehl POST/"Datenstring" senden.
Das war das fehlende Puzzelteil.
Der Post von Karl Heinz war auch sehr informativ um mich auf Nebensachen 
aufmerksam zu machen.
Ich danke euch vielmals für eure Hilfe!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.