LANDOLT-COMPUTER

SMS-TRACK
GPS-Standortermittlung von Fahrzeugen und Personen über SMS

Ein System zur Ermittlung der aktuellen Standortdaten von Fahrzeugen und Personen muss nicht kompliziert und teuer sein. Nachdem eine Positionsbestimmung mithilfe von GPS-Empfängern kein Problem darstellt und kurze Datenpakete von jedem Handy z.B. als SMS übertragen werden können, lag es nahe, beides miteinander zu verbinden. Herausgekommen ist dabei das System SMS-TRACK. Es setzt sich im Wesentlichen aus drei Einzelkomponenten zusammen
 

  1. GPS-Empfänger ( oder GPS-Maus ) 
  2. Handy mit integriertem Modem 
3. Interfacebaustein "SMS-TRACK"
 

Als GPS-Empfänger kommen fast alle auf dem Markt erhältlichen Geräte infrage. Wer vielleicht bereits ein Handheld-Gerät mit Display besitzt, kann dieses hier weiterverwenden. Besonders geeignet sind Kombinationen aus GPS-Empfänger und Antenne, die wegen ihrer Bauform oft auch als GPS-Maus bezeichnet werden. Wichtig ist für alle Typen, dass sie eine serielle RS-232-Datenschnittstelle besitzen und über diese auch Daten nach NMEA0183 mit 4800 Baud ausgesandt werden. In der Praxis trifft das jedoch auf  fast alle auf dem Markt erhältlichen Geräte zu.

SMS-TRACK wertet standardmässig NMEA-Protokolle des Typs "RMC" aus.  Die Protokolle enthalten die wichtigsten Navigationsdaten, wie z.B. Längen- und Breitengrad, Bewegungsgeschwindigkeit und -richtung. Für besondere Anwendungen ( wenn z.B. auch Höhenangaben erforderlich sind ), können aber auch vom GPS-Empfänger kommende Protokolle des Typs "GGA" übertragen werden.  Ggf. ausgesandte aber nicht benutzte Protokolltypen werden ignoriert.

Als Handy sind grundsätzlich alle Typen mit integriertem vollwertigem Modem geeignet. SMS-TRACK wurde zur Verwendung mit Geräten der Firma SIEMENS ausgelegt. Seit einigen Jahren benutzt man hier eine weitgehend unverändert gebliebene Datenschnittstelle. Damit sollten das S25, sowie alle 35er, 42er, 45er und 50er-Modelle verwendbar sein. Praktisch getestet wurden die Typen S25, sowie alle 35er-und 45er-Modelle. Das bedeuet aber nicht, dass Geräte  ( auch anderer Hersteller ) nicht auch verwendbar sein könnten.

Zusätzlich zum GPS-Empfänger und dem GSM-Gerät ist im Wesentlichen nur noch ein Strom / Datenkabel für das Handy und der SMS-TRACK-Interface-Baustein selbst erforderlich. Das Datenkabel passt die an der Schnittstelle des GSM-Gerätes zur Verfügung stehenden seriellen Signale an die RS-232-Standard-Pegelwerte an. Derartige Kabel sind für alle infragekommenden Handytypen serienmässig bei uns erhältlich.

Der Interface-Baustein SMS-TRACK dient der Zusammenschaltung von GPS-Empfänger und Handy. Hier wird eine weitere RS232/TTL-Wandlung durchgeführt. Zur Anschaltung eines bestimmten GSM-Gerätes hätte man auf die zweifache Pegelwandlung und somit auch das Datenkabel verzichten können. Aus Gründen der Betriebssicherheit und auch der Universalität wurde aber dennoch der nicht zuletzt auch etwas teurere Umweg über die Normschnittstelle gewählt.


Arbeitsweise

Zur Abfrage aktueller Navigationsdaten wird das mit dem GPS-Empfänger  zusammengeschaltete Handy angerufen. Eine Verbindung kommt dabei nicht zustande, aber der Ruf wird erkannt und bewirkt den Start des Ablaufprogrammes. Hierbei werden die aktuellen vom GPS-Empfänger kommenden Navigationsdaten in einen Microcontroller eingelesen und daraus eine SMS generiert.
Der Versand erfolgt an eine Rufnummer, die der Nutzer dazu in einem EEPROM-Chip ablegen und bei Bedarf auch wieder ändern kann.
Zur Kontaktaufnahme mit dem SMS-Centers wird die üblicherweise bereits im Speicher des Handys abgelegte und auch für sonstige SMS-Verbindungen benutzte Rufnummer verwendet. 

Übertragungsformat

Nachdem festgestellt wurde, dass sich einzelne Handy-Gerätetypen in ihrem Darstellungsverhalten auf dem Display doch erheblich voneinander unterscheiden können, werden die zur SMS-Übertragung anstehenden Navigationsdaten ( abweichend von Vorgängerversionen ) nicht speziell formatiert. Stattdessen erfolgt eine Übertragung des RMC-Rohformates.

Das hat zwar den Nachteil, dass die Übersichtlichkeit der Displayanzeige gegenüber einer formatierten Aufbereitung etwas leidet, bringt aber den grossen Vorteil einer universellen Nutzbarkeit unabhängig vom Typ des zur Auswertung verwendeten Handys. Ein zusätzlicher Vorteil besteht noch darin, dass sich hierdurch die Möglichkeiten zur Auswertung und Visualisierung empfangener Positionsdaten auf elektronischen Karten z.B. mithilfe eines PC's  oder PDA's wesentlich vereinfachen ( ein entsprechender Decoder ist in Vorbereitung ).

Beispiel für das verwendete RMC-Protokollformat

$GPRMC,073408,A,5000.182,N,00806.881,E,063.4,264.5,301098,000.7,W*6D
                      1        2        3       4        5          6    7        8           9       10     11  12
 
1.    073408 UTC / Zeit  ( Std.,Min.,Sec.) 
2.    A  Gültigkeit des Empfangs : A = gültig  ; V = ungültig
3.    5000.182  Breitengrad ( Grad,Min )
4.    N       N=Nord ; S=Süd
5.    00806.881  Längengrad  ( Grad,Min. ) 
6.    E        E=Ost ; W=West
7.    063.4 Geschwindigkeit ( Knoten )
8.    264.5 Kurs ( Grad )
9.    301098 Datum ( Tag,Monat,Jahr )
10.  000.7 magnetische Variation ( Grad )
11.  W      W=West; E=Ost
12.  6D  Prüfsumme

Technische Funktionen

Über "DC-In" wir das Board SMS-TRACK mit einer Betriebsspannung von ca. 8-15V-DC versorgt. Ein angeschlossener GPS-Empfänger bzw. eine GPS-Maus können bei Bedarf über die PS2-Buchse mit 5V versorgt werden. Die Verbindung mit dem Handy ist über "GSM-Modem" mithilfe eines Datenkabels herzustellen. Der Sub-D-Anschluss "NMEA in" hat eine zweifache Funktion:  Zur Speicherung der gewünschten Zielrufnummer ist hier über Nullmodemkabel ein PC anzuschliessen. Dazu ist das Board  vorher mithilfe einer Brücke an "JP4" in den Initialisierungsmodus zu bringen. Die genaue Vorgehensweise ist weiter unten ausführlich beschrieben.
Im Normal-Modus ( Brücke "JP4" geöffnet ) werden über "J3" die vom GPS-Empfänger kommenden NMEA-Daten zugeführt.

Ein ankommender Ruf wird nach Pegelwandlung dem RING-Processor zugeführt. Nach Anruferkennung wird LED2 für einige Sekunden blinken. Über einen negativen Puls an seinem Pin19 und Transistor "T3" wird parallel dazu die im SMS-Processor "U3" abgelegte Firmware gestartet.  Das Ablaufprogramm wartet auf die vom GPS-Empfänger mit einer Datenrate von 4800bps kommenden NMEA-Daten. Sie gelangen von "J3" Pin 2 über Widerstand "R3" und Transistor "T2" an den seriellen Dateneingang von "U2".
Aus den im EEPROM-Baustein abgelegten Ziel-Call und den aufbereiteten NMEA-Daten wird ein SMS-Protokoll generiert und über Pin3 seriell ausgesandt. Nach Pegelwandlung in "U1" stehen die Signale an Pin3 von "J2" zur Übergabe an das Handy bereit.
An Pin2 von "U1" steht eine Spannung von ca. +6-10V zur Verfügung. Mit ihrer Hilfe wird über die Pins 4 und 7 von "J3" auch der im Datenkabel enthaltene Pegelwandler spannungsversorgt.
Die gestrichelt gezeigten Verbindungen an "J3" sind auf der derzeitig benutzten Platine noch nicht realisiert. Das hat Auswirkungen auf die an anderer Stelle näher beschriebene und zur Rufnummerspeicherung  erforderliche Konfigurierung des Terminalprogrammes.

Die Brücken "JP2-JP4" dienen der Einstellung verschiedener Betriebszustände. "JP1" ist derzeit noch Reserve.
Mit "JP4" kann der bereits erwähnte Initialisierungsmode aufgerufen werden. Wirksam ist er allerdings erst nach einer Neu-Inbetriebnahme des Boards. Im Normal-Modus bleibt dieser Processoreingang  unbeschaltet.
Eine Brücke an "JP3" bewirkt die Auswertung von "GGA-Protokollen". Nach Einsatz der Brücke "JP2" werden SMS-Protokolle im sog. "Flash-Mode" ausgesandt. Diese Messages erscheinen direkt auf dem Display des Ziel-Handys und werden NICHT auf dessen SIM-Karte gespeichert. Für die Default-Betriebszustände können diese beiden Brückenanschlüsse unbeschaltet bleiben.
 Durch kurzzeitige Masseverbindung von Pin7 des Processors "U3" kann eine sofortige SMS-Aussendung bewirkt werden. Damit ist hier z.B. der Anschluss eines Alarmknopfes denkbar.


Inbetriebnahme

1. Speicherung der gewünschten Ziel-Rufnummer

Solange keine Änderung der Rufnummer gewünscht wird, ist die folgende Prozedur nur einmal erforderlich. Die eingegebenen Daten werden dabei dauerhaft in einem EEPROM-Speicher auf dem SMS-TRACK-Board abgelegt.
Zur Rufnummernspeicherung muss das Board mit einem PC verbunden werden.  Die Querverbindung ist via Nullmodemkabel über die Sub-D-Buchse "J3" herzustellen.
Als weiterer Schritt ist auf dem
SMS-TRACK-Board die Brücke "JP4" herzustellen. Damit wird bewirkt, dass die Firmware des Boards bei Wiederinbetriebnahme im Initialisierungs-Mode gestartet wird.
Am PC ist ein Terminalprogramm, wie z.B. das zu Windows gehörende "HyperTerminal", zu starten. Hier sind der benutzte COM-Port ( also z.B. COM1 ) und die Datenrate : 19200 bps einzustellen. Wichtig ist ausserdem, dass keine Datenflusskontrollen aktiviert sind. Bei "Hyper-Terminal" muss dazu in dem zum gewählten COM-Port gehörenden Menüpunkt : ANSCHLUSSEINSTELLUNGEN unter PROTOKOLL der Begriff  "KEIN" selektiert werden.

Anschliessend wird die Versorgungsspannung an das Board gelegt. Daraufhin muss eine Einschaltmeldung am PC-Bildschirm sichtbar werden. Jetzt kann die gewünschte Ziel-Rufnummer eingegeben werden. Dabei ist die internationale Schreibweise ohne voreilende Nullen zu wählen  ( also
z.B. 491721234567 ). Die ( zwölfstellige ) Eingabe ist mit dem Zeichen :  '#' abzuschliessen.
Zur Kontrolle wird die gespeicherte Rufnummer noch einmal angezeigt.  Sind ggf. Korrekturen erforderlich, so muss die Versorgungsspannung des Boards kurz unterbrochen werden. Danach  ist die Einschaltmeldung wieder sichtbar und eine Neueingabe kann erfolgen.
Nach erfolgreicher Speicherung der gewünschten  Rufnummer ist das Board ausser Betrieb zu setzen  und von Initialisierungs-Mode auf Normal-Mode zu wechseln. Dazu ist die Massebrücke "JP4" wieder zu entfernen.
Der PC und Nullmodemkabel werden jetzt nicht mehr benötigt. Die Verbindung zwischen beiden Geräten kann aufgetrennt werden. Damit sind die Vorbereitungsarbeiten abgeschlossen.

2. SMS-Betrieb

SMS-TRACK-Board und Handy sind miteinander zu verbinden. Dazu ist ein an "J2" angeschlossenes RS232-Datenkabel zu benutzen. Hierbei wird mit einer Datenrate von 19200 bps gearbeitet.
Der GPS-Empfänger ist über die Sub-D-Verbindung "J3" anzuschliessen. Er muss  NMEA-Protokolle mit einer Datenrate von 4800 bps aussenden. Unter den bereitgestellten Protokollen müssen sich auch solche des Typs "RMC" bzw. "GGA" befinden.
Das System ist nach erneutem Anlegen der Versorgungsspannung an das
SMS-TRACK-Board  betriebsbereit.
Ein ankommender Ruf wir durch mehrsekündiges Blinken der "Call-LED" signalisiert. Aktuelle GPS-Navigationsdaten werden danach vom GPS-Empfänger eingelesen und verpackt als SMS an die eingangs abgelegte Ziel-Rufnummer gesandt. Nach erfolgter Aussendung wird die "CALL-LED" für einige Sekunden dauerleuchten.

Anm.: Der Alarm-Sendeeingang über Pin7 von "U3" wurde bei der derzeitigen Board-Version hardwaremässig noch nicht berücksichtigt. Das Gleiche gilt auch für die zusätzlichen Brücken an "J3".

Anhang : Koordinatenumrechnung

Die geographischen Koordinaten der NMEA-Protokolle werden im Format :[G]GGMM.MMM ausgegeben. Dabei steht "G" für "Grad" und "M" für "Minuten". Das geklammerte "G" steht bei Längengradangaben grösser als 99 für die Hunderterstelle.
Fast alle Kartenprogramme erlauben eine Koordinatenanzeige entsprechend der jeweiligen Cursorposition. Zum Auffinden eines gewünschten Standortes ist es dabei natürlich erforderlich, dass die Koordinateneingabe in dem vom jeweiligen Programm erwarteten Format erfolgt. Ggf. ist dazu ein wenig Umrechnung erforderlich:

Format [G]GG.MM.SS
Werden die Werte im Format :
Grad.Minuten,Sekunden benötigt, so müssen die am Handy-Display angezeigten NMEA-Daten umgerechnet werden. Man erhält die Sekundenwerte, indem man die Nachkommastellen der Minutenangaben wie folgt multipliziert : mit dem Faktor : '0.6'  für  zweistellige Werte oder  '0.06' für dreistellige Werte oder '0.006' für vierstellige Werte.
Beispiel : der Eingangswert sei : 49°37.450 ;  450 x 0.06 = 27 ; Der Ausgangswert ist dann : 49 Grad, 37 Minuten,  27 Sekunden

Format [G]GG.GGGGG
Wird der Ausgangswert als
Gradangabe mit mehreren Nachkommastellen benötigt, so erhält man das Ergebnis, indem man die  NMEA-Minuten mit dem Faktor '1.666' multipliziert und das Ergebnis ( unter Weglassen des Dezimalpunktes ) zum Grad-Integerwert addiert.
Beispiel : der Eingangswert sei : 49°37.450 ; 37.450 x 1.666 = 62.3917; Der Ausgangswert ist dann : 49.623917 Grad

Homepage Preisübersicht Bestellseite