Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datenempfang eines GPS-Trackers auf eigener Webseite

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Datenempfang eines GPS-Trackers auf eigener Webseite

    Hallo Zusammen,

    ich hab nen GPS-Tracker, der sendet GPS-Positionsangaben über die eingebaute Mobilfunkkarte (GPRS) an eine IP-Adresse bzw. einen Port (per TCP).

    Auf diese Art empfängt z. B. der Server des Herstellers die Positionsangaben und verarbeitet sie weiter. Man kann dadurch bspw. die jeweilige Position auf einer Google-Maps-Karte angezeigt bekommen und vieles mehr.

    Ich möchte meine Daten nicht an die IP-Adresse/Port des Herstellers senden, sondern an meine eigene Internetseite und dort nach meinen Vorstellungen dann weiter verarbeiten.
    Für den Anfang würde es mir reichen, wenn ich den Datenstring den der Tracker sendet überhaupt mal empfangen könnte. Z. B. fortlaufend untereinander direkt nach Empfang auf der Webseite ausgeben.

    Die Einstellungen auf dem Tracker vorzunehmen war kein Problem: Der Tracker sendet jetzt alle 60 Sekunden die Positionsangaben an meine Homepage.
    Aber jetzt die große Frage an Euch:

    Wie lautet das (PHP?)-Skript um diese Daten zu empfangen und anzuzeigen?
    Das müsste ja quasi auch ständig am laufen sein !?

    Ich hab die vergangenen 2 Wochen mit Socket-Funktionen etc. experimentiert, was von "Port-Listenern" gelesen und probiert, aber allerdings absolut erfolglos. (Kein Wunder, hab ich doch davon auch wirklich null Ahnung.)

    Kann mir hier jemand weiterhelfen? Bin völlig aufgeschmissen.

    Vielen Dank.

    Gruß,
    Rookie73

    P.S. auf der Hardware-Seite steht ein "1und1 virtuell-Server-L" mit root-Zugriff zur Verfügung. Datenbank: mySQL.
    gruß,
    Rookie73


  • #2
    Zitat von rookie73 Beitrag anzeigen
    Wie lautet das (PHP?)-Skript um diese Daten zu empfangen und anzuzeigen?
    Writing Socket Servers in PHP

    Ist in PHP eher unüblich (meistens C, C++ oder Java), geht aber. Der Socket Server würde die Daten dann entgegennehmen und z.B. in eine Datenbank eintragen. Deine Webanwendung (die du ebenfalls schreiben müsstest) würde die Daten bei Bedarf (also wenn eine HTTP-Anfrage reinkommt) aus der Datenbank lesen und anzeigen.

    Zitat von rookie73 Beitrag anzeigen
    Das müsste ja quasi auch ständig am laufen sein !?
    Ja.
    Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

    Kommentar


    • #3
      Hi mimomamu,

      also du bestätigst quasi das was ich mir schon dachte.

      Die Theorie ist aber auch weniger das Problem. Ich brauch eher Hilfe in der Praxis. Das ist auch der Grund warum ich hier in der "Scriptbörse - PHP-Lösungen für nen schmalen Taler" gepostet habe.

      Kann man hier ggf. ein Script für meinen Webserver erhalten, der meine Vorstellungen erfüllt ?
      Es sollte also die Daten des GPS-Trackers annehmen und in eine mySQL-DB schreiben !

      Kann mich hier jemand unterstützen ?

      Wenn php die falsche Sprache dafür ist, bin ich auch für andere Lösungen offen.

      Danke und Gruß,
      Rookie73
      gruß,
      Rookie73

      Kommentar


      • #4
        Zitat von rookie73 Beitrag anzeigen
        ... warum ich hier in der "Scriptbörse - PHP-Lösungen für nen schmalen Taler" gepostet habe.
        Opps, ist an mir vollkommen vorbeigegangen.

        Es wäre aber gut zu wissen, in welchem Format der GPS-Tracker die Daten übermittelt oder zumindest das Gerät, das du verwendest.
        Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

        Kommentar


        • #5
          Ich hab von Xexun den TK103-2 (also die 2.Version des TK103).

          Eine einzelne Übermittlung sieht laut Bedienungsanleitung so aus:

          090907070718,13145826175,GPRMC,070718.000,A,2234.0 228,N,11403.0764,E,0.00,,070909,,,A*73,F,,imei:354 776030042714,05,50.1,F:4.11V,0,132,40512,460,01,25 33,720B

          Die Kommas trennen also die jeweiligen Inhalte voneinander.

          Was ich suche ist also ein Script das die eingehenden Daten erfasst, den String an den Kommas voneinander trennt und in eine MySQL-DB schiebt. Da zu einem späteren Zeitpunkt mehrere Tracker quasi ständig Daten an diese IP senden sollen, muss das Script direkt nach der Erledigung wieder auf eingehende Daten warten.

          Gruß,
          rookie73
          gruß,
          Rookie73

          Kommentar


          • #6
            Was die einzelnen durch Komma getrennten Teile bedeuten, das weißt du aber?

            Wenn du den String in ein Array überführst ( $teile = explode(',',$string) ) dann musst du halt die Arrayelemente auf die Spalten der Mysql-Tabelle verteilen. das dürfte eher trivial sein.

            Schwieriger ist es herauszufinden, wie ein Script die Daten überhaupt empfängt.
            PHP-Code:
            if ($var != 0) {
              
            $var 0;

            Kommentar


            • #7
              Zitat von Wolla Beitrag anzeigen
              Was die einzelnen durch Komma getrennten Teile bedeuten, das weißt du aber?
              Ja - das ist in der Bedienungsanleitung erklärt. Hab ich aber jetzt weggelassen weil es für das Thema eher zweitrangig ist.

              Zitat von Wolla Beitrag anzeigen
              Schwieriger ist es herauszufinden, wie ein Script die Daten überhaupt empfängt.
              Ja, leider
              ...aber ich erhoffe mir hier die richtigen Tips bzw. den richtigen Kontakt.

              Noch geb ich nicht auf
              gruß,
              Rookie73

              Kommentar


              • #8
                Aus dem Eingansposting:
                Der Tracker sendet jetzt alle 60 Sekunden die Positionsangaben an meine Homepage.
                Was bedeutet das? Ruft der die Homepage auf so ähnlich wie ein Browser das tut, oder was macht er da genau? Sagt die Bedienungsanleitung was dazu?
                PHP-Code:
                if ($var != 0) {
                  
                $var 0;

                Kommentar


                • #9
                  Zitat von Wolla Beitrag anzeigen
                  Was bedeutet das? Ruft der die Homepage auf so ähnlich wie ein Browser das tut, oder was macht er da genau? Sagt die Bedienungsanleitung was dazu?
                  Also die Bedienungsanleitung sagt dazu absolut nix.
                  Auf Nachfrage beim Hersteller kann ich mit Gewissheit nur sagen, dass es per TCP Protokoll an die IP und den Port übermittelt wird den ich im Tracker hinterlege.

                  Ich denke, dass die Daten vom Tracker "aktiv" übermittelt werden. Er wartet also nicht dass jemand was "abholt".
                  Eine internetfähige SIM-Karte (also mit GPRS) ist auch Voraussetzung für die Nutzung dieser Funktion. (ohne GPRS-SIM-Karte übermittelt der Tracker alternativ als SMS, wobei ich gleich vorweg nehmen möchte dass ich kein Interesse an einer SMS/Webserver-Schnittstelle habe.)

                  gruß,
                  rookie73
                  gruß,
                  Rookie73

                  Kommentar


                  • #10
                    Ich sehe da im Manual nur die SMS-Übertragungsmöglichkeit. Wahrscheinlich funkt der seinen Kram zu einem Servicecenter, die dann einen Datenstrom auf eine eingerichtete Adresse loslassen. Was da genau passiert, solltest du mal in Erfahrung bringen.
                    PHP-Code:
                    if ($var != 0) {
                      
                    $var 0;

                    Kommentar


                    • #11
                      Zitat von Wolla Beitrag anzeigen
                      Wahrscheinlich funkt der seinen Kram zu einem Servicecenter, die dann einen Datenstrom auf eine eingerichtete Adresse loslassen.
                      Glaub ich eher nicht. Wenn die vor hätten die Daten nur über Ihren Server zu leiten, dann würden Sie diese Einstellmöglichkeiten gar nicht anbieten.

                      Zitat von Wolla Beitrag anzeigen
                      Was da genau passiert, solltest du mal in Erfahrung bringen.
                      Ich werd vorläufig mit den wenigen Infos die mir vorliegen (und Eurer Hilfe) klarkommen müssen. Ich glaube, dass man gar nicht mehr Angaben braucht:
                      Gut, ich kenne leider nicht den technischen Weg wie man eingehende TCP-Nachrichten "empfangen" kann (und Du offensichtlich auch nicht ), aber das heißt ja nicht dass es deshalb nicht geht oder schwierig wäre. Ich hab die Hoffnung, dass es mit den richtigen Kenntnissen kein Hexenwerk ist, und dass hier früher oder später der "Richtige" über das Posting stolpert .

                      Zitat von Wolla Beitrag anzeigen
                      Ich sehe da im Manual nur die SMS-Übertragungsmöglichkeit.
                      Diese Möglichkeit will ich vorläufig nicht weiter verfolgen.

                      Gruß,
                      rookie73
                      gruß,
                      Rookie73

                      Kommentar


                      • #12
                        Die Einstellungen auf dem Tracker vorzunehmen war kein Problem: Der Tracker sendet jetzt alle 60 Sekunden die Positionsangaben an meine Homepage.
                        Was genau hast du da eingetragen und warum hast du DAS eingetragen und nichts anderes? Das war eigentlich die Frage.

                        (Wenn ich die IP meines Servers da eintragen würde, dann müsste ich mir helfen lassen, bei welcher der Domains das wohl ankommt, wenn überhaupt.)
                        PHP-Code:
                        if ($var != 0) {
                          
                        $var 0;

                        Kommentar


                        • #13
                          Zitat von Wolla Beitrag anzeigen
                          Wenn ich die IP meines Servers da eintragen würde, dann müsste ich mir helfen lassen, bei welcher der Domains das wohl ankommt, wenn überhaupt.
                          Es gibt auch Leben unterhalb von HTTP. Zum Beispiel TCP und UDP

                          Ich habe mir mal die Anleitung www.medactiv.ro/gps/tk103-2.pdf durchgelesen (die ist unter aller Sau, nebenbei bemerkt). Es wird definitiv kein HTTP verwendet, sondern nacktes TCP oder UDP. Der Verfasser der Anleitung glaubt anscheinend, jeder Rechner, der Verbindungsanfragen entgegennimmt, sei ein Webserver.

                          Alledings habe ich noch nicht herausgefunden, wie sich der GPS-Tracker gegenüber dem Rechner authentifiziert.
                          Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

                          Kommentar


                          • #14
                            Zitat von Wolla Beitrag anzeigen
                            Was genau hast du da eingetragen und warum hast du DAS eingetragen und nichts anderes? Das war eigentlich die Frage.

                            (Wenn ich die IP meines Servers da eintragen würde, dann müsste ich mir helfen lassen, bei welcher der Domains das wohl ankommt, wenn überhaupt.)
                            Vielleicht zur Erklärung:
                            Der Tracker wird durch zusenden von SMS konfiguriert.
                            Wenn man möchte dass der Tracker per GPRS an eine IP-Adresse und einen Port sendet, dann muss man diese dem Tracker per SMS mitteilen/zusenden.
                            (Damit der Tracker reagiert muss man natürlich das richtige Passwort mitschicken, sonst könnt ja jeder auf den Tracker zugreifen.)

                            In meinem Fall hat der Router die IP-Adresse meines Root-Servers bei 1und1 erhalten und dazu den (von mir frei gewählten) Port 9005.

                            Kann aber, falls jemand ne Idee hat und "testen" möchte, den Tracker (in einem bestimmten vereinbarten Zeitfenster) auch gerne mal auf Eure IP-Adresse umstellen.

                            Zitat von mimomamu Beitrag anzeigen
                            Alledings habe ich noch nicht herausgefunden, wie sich der GPS-Tracker gegenüber dem Rechner authentifiziert.
                            Kann nicht jeder "Daten" bzw. ne Anfrage an den Server senden und der Server entscheidet dann welche er davon "annimmt"?

                            Ich hatte mir gedacht auf dem Server die IMEI-Nr. (die im Datenpaket mitgeschickt wird) zu prüfen und nur bei Übereinstimmung den Datensatz zu akzeptieren. Allerdings wäre das ja nach meinem Verständnis erst der zweite Schritt - zuerst müsste ich ja mal was empfangen


                            gruß,
                            rookie73
                            gruß,
                            Rookie73

                            Kommentar


                            • #15
                              Man kann mit einem Handy Daten per TCP/IP bzw. UDP auf eine IP-Adresse schicken? Interessant.
                              PHP-Code:
                              if ($var != 0) {
                                
                              $var 0;

                              Kommentar

                              Lädt...
                              X