hallo forengemeinde habe mir vor einiger zeit einen gps tracker zugelegt. der tk102 bietet verschiedene möglichkeiten die positionsdaten zu versenden. die komfortabelste ist natürlich die übertragung per gprs. nun hatte ich mich ein wenig kundig gemacht und festgestellt entweder man bezahlt viel geld oder man macht sich weiter gläsern. software für den heim pc ist sehr teuer und ein fremder onlinedienst naja...... kurzum ich entschied mich eine eigene lösug zu entwickeln die emfangenen daten anschaulich darstellen zu können... mangels präziser kenntnisse verschiedener programmiersprachen blieb ich auf bash befehlscode ebene und schrieb ein linux script was per netcat auf einem port daten empfing diesen string in seine bestandteile zerlegte und in variablen abspeicherte. zuletzt wurden alle variablenwerte in quellcodes eigebaut sodass nach jedem emfangenen string eine kleine kml datei für google earth und eine html datei geschrieben wurden in der alle werte des trackers schön aufbereitet abzulesen waren inclusiver google maps einblendung. die kml datei sorgte für die live track möglichkeit via google earth nun habe ich jedoch ein problem nach einem softwareupdate scheint der tracker #090608143334,+491799158888,GPRMC,120443.000,A,4809.1234,N,01627.6666,E, 3.31,142.24,150809,,,A*61,F,, imei:359587017123456,04,195.4,F:4.32V,0,141,63742 zu senden. ich muss meine software nun umschreiben und stoße an verschiedene probleme. es sieht so aus als wäre das nun der binärstring des gps emfängers der nun gesendet wird. (GPRMC) als erklärung diese liste... #[00]: 090815140443 Datum+Ortszeit (jjmmtt+hhmmss) #[01]: +491799158888 Anrufende Telefonnummer #[02]: GPRMC #[03]: 120443.000 UTC Zeit (hhmmss.ms) #[04]: A = Daten gültig, V= Daten ungültig #[05]: 4809.1234 Breitengrad (ddmm.mmmm) #[06]: N = Nord / S = Süd #[07]: 01627.6666 Längengrad (dddmm.mmmm) #[08]: E = Ost / W = West #[09]: 3.31 Geschwindigkeit (km/h) #[10]: 142.24 Steuerkurs (DEG) #[11]: 150809 Datum (ttmmjj) #[12]: "" #[13]: "" #[14]: A*61 Prüfsumme #[15]: F = GPS-Signal (F=gut/L=schlecht) #[16]: Alarmstatus (move, speed, stockade, batterie, help me) #[17]: imei:Nummer #[18]: 04 = Satelliten Anzahl #[19]: 195.4 Höhe (m) #[20]: F Akkustatus (F=Voll/L=Leer) #[21]: 3.99V Akkuspannung #[22]: 0 Akkuladung (0=aus/1=ein) #[23]: 141 Bytes (Zeichenanzahl im String) #[24]: 10353 ??? #[25]: MCC (Mobile Country Code) #[26]: MNC (Mobile Network Code) #[27]: LAC (Location area code) (Hex) #[28]: Cell ID (Hex) # mein problem ist nun länge und breite scheinen nicht das normale format zu haben. ein alter string.... #lat: 57.977337N long: 018.183638E speed: 020.0 10.03.2008 14:37 bat:F signal:F ist dort nun einfach nur der punkt verschoben oder müssen die koordinaten für google umständlich umgerechnet werden? falls nur der punkt verschoben werden muss wie stell ich das an? hätte dafür jemand vielleicht eine lösung? ich habe folgendes probiert: (LINUX SHELL) PN=5555.4444444444 (simuliert länge oder breite) FN=${PN#*.} echo $FN damit bekomme ich alle ziffern nach dem punkt. aber wie bekomme ich die von vor dem punkt? lässt sich der punkt einfach löschen? und das wichtigste:: wie bekomm ich den punkt wieder an die 2.stelle von vorne? es muss ja eine möglichkeit geben die position in einem string zu bestimmen um dort etwas editieren zu können... habe leider nach langem "googeln" nichts gefunden. (länge und breite stehen in voller länge mit "falschem"punkt jeweils einzeln in variablen zur weiteren verarbeitung bereit)
habe jetzt folgende lösung gewählt: gradlatT=$( echo $latT | cut -c 1-3) # nimmt die ersten 3 stellen sekundenlatT=$( echo $latT | cut -c 7-) # nimmt nach der 7. alle weiteren gradlongT=$( echo $longT | cut -c 1-2) sekundenlongT=$( echo $longT | cut -c 6-) funktioniert soweit ganz gut
Hi Eddy, ich arbeite zur Zeit selbst an einer solchen Lösung. Konntest du mittlerweile in Erfahrung bringen, wofür #[24]: 10353 ??? steht? Viele Grüße, Bo
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.