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