Home

Geolocator - Ein GPS-basiertes Fahrzeugortungssystem

image

Contents

1. ffnet einen Dialog mit dem ein neues Landeskoordinatensystem definiert oder ein nicht mehr verwendetes gel scht werden kann Parameter HWND hwndOwner Ein Fensterhandle der aufrufenden Anwendung R ckgabewert wird nicht verwendet immer 0 int gpsapi_DefineDatumDlg HWND hwndOwner Mit diesem Dialog kann eine neues Datum festgelegt und bestehende bearbeitet oder gel scht werden Parameter HWND hwndOwner Ein Fensterhandle der aufrufenden Anwendung R ckgabewert wird nicht verwendet immer 0 int gpsapi_DefineEllipsoidDIg HWND hwndOwner Mit diesem Dialog kann eine neues Ellipsoid definiert werden Parameter HWND hwndOwner Ein Fensterhandle der aufrufenden Anwendung R ckgabewert wird nicht verwendet immer 0 GeoLocator Seite 63 2 Die Schnittstelle f r GPS Ger tetreiber Die nun folgenden Funktionen werden blicherweise nur von GPS Ger tetreibern aufgeru fen um dem GPSAPI bestimmte Ereignisse oder Ergebnisse zu bergeben oder um Da ten ber die serielle Schnittstelle an das Ger t zu senden int gpsapi_DeviceResult HANDLE hDevice UINT uType GPSAPI_ORIGINATOR IpOriginator SYSTEMTIME IpSysTime LPVOID IpData UINT uSize Die gpsapi_DeviceResult Funktion wird von einer GPS Ger tetreiber DLL aufgerufen so bald im Datenstrom ein g ltiger GPS Datensatz gefunden wurde Parameter HANDLE hDevice Handle des GPS Ger tes von dem der Datensat
2. System equency Friend or Foe ve ing System tion System vigation onal Test and Evaluation Port vel Test Set ffice al Ration nformation Distribution System requency 1575 42 MHz frequency 1227 6 MHz Production e Unit Station Maintenance Time ehicle ive Maintenance Time nderstanding nd en Failure en Maintenance ems Center Labratory y Agency ta System ology Satellite ect rol System vel n Targe at a N ng on of Precision on Strike System duct Improvement on ning Service dule oise d Time Interval ty and Time aintainability GeoLocator Seite 116 RCVR RF RMS RNAV RSS RT RTCA RTCM S A SAMSO SBB SC SEP 1 PPS Receiver Radio Frequency Root Mean Square Area Navigation Root Sum Square Remote Termina Radio Technica Ratio Technica Co Co mmission for Aeronautics mmission for Maritime Services Selective Availability Space and Missile Systems Organization Smart Buffer Box Special Committee Spherical Error Probable International System of Units System Integration Labratory Shi pborne INS Standard Positioning Service Shop Replacable Unit Standard CDU Tactical Air Navigation nternational Atomic Time To Be Determined Time Dilution of Precision Time Figure Of Merit Time to First Fix User Equipment User Equivalent Range Error
3. GeoLocator Der GeoLocator bildet den Rahmen f r das GPSAPI und das MAPAPI Die meisten Dialoge und Fenster sind bereits Bestandteile der genannten API s die lediglich vom GeoLocator aufgerufen werden Als eigene Komponenten enth lt der GeoLocator eine Fahrzeugver waltung und eine Ereignisanzeige in der laufend eintreffende GPS Positionen Statusmel dungen von Ger ten und andere Ereignisse mitprotokolliert werden Zus tzlich stellt der GeoLocator Dialoge zum Lesen und Senden von Kurznachrichten Short Messages bereit die allerdings nur dann sinnvoll eingesetzt werden k nnen wenn ein entsprchendes GSM Ger t vorhanden ist Eine genaue Ausf hrung folgt etwas weiter unten in diesem Kapitel GPS Application Programming Interface Das GPS Application Programming Interface stellt f r Anwendungsprogramme eine ein heitliche Schnittstelle und einheitliche Datenstrukturen f r GPS Ger te unterschiedlicher Hersteller bereit F r neue GPS Ger te mu dazu eine spezifische Ger te DLL mit exakt definierter Schnittstelle erstellt werden die allerdings nur ganz wenige essentielle Deco dierungsroutinen und Setupdialoge enthalten mu Der gesamte Aufwand der Kommuni kation ber die serielle Schnittstelle wird bereits im Kern des GPSAPIs abgewickelt GeoLocator Seite 35 Eine Beschreibung des GPSAPIs und welche Aufgaben die einzelnen Ger tetreiber Uber nehmen m ssen ist detailliert in Kapitel 4 beschrieben Map Application Progra
4. HANDLE hConnection Verbindungs Handle entspricht dem LPARAM Wert der GPS Nachricht UINT uType Typ des GPS Ereignisses Da die Funktion im Normalfall nur als Antwort auf eine GPS Nachricht aufgerufen wird kann der WPARAM Wert der GPS Nachricht verwen det werden Bzgl Ereignistypen siehe Beschreibung des pData Parameters GeoLocator Seite 59 GPSAPI_ORIGINATOR pOriginator Zeiger auf den Speicherbereich fiir den Absender des Ereignisses Dieser Wert kann NULL sein wenn der Absender nicht ben tigt wird SYSTEMTIME pSysTime Zeiger auf eine Datenstruktur SYSTEMTIME zum Speichern des Zeitpunktes des Ein treffens des Ereignisses Dieser Wert kann ebenfalls NULL sein wenn der Zeitpunkt des Eintreffens der Nachricht nicht ben tigt wird LPVOID pData Zeiger auf den Speicherbereich fur die GPS Daten Je nach Ereignistyp kann dies eine der folgenden Datenstrukturen sein GPS Ereignistyp korrespondierende Datenstruktur GPSAPIEV POSITION GPSAPI POS GPSAPIEV SATTRK GPSAPI SATTRK GPSAPIEV GPSAPI TEXTMSG GPSAPIEV DEVSTATE GPSAPI DEVSTATE GPSAPIEV RAWDATA GPSAPI RAWDATA UINT uSize Gr e des Datenpuffers f r die GPS Daten R ckgabewert Der R ckgabewert entspricht der Anzahl der sich noch in der Warteschlange befindli chen GPS Ereignisse Ist der R ckgabewert kleiner als Null ist ein Fehler aufgetreten kein Datensatz in der Queue Konvertierungsroutinen Die folgenden Funktionen bieten Unterst tzung f r
5. Der R ckgabewert ist 0 falls beim Erzeugen der Karte ein Fehler aufgetreten ist BOOL mapapi_CloseMap HANDLE hMap Schlie t die angebene Karte und gibt alle Resourcen frei die von den innerhalb der Karte dargestellten Layerobjekten belegt wurden Parameter HANDLE hMap Handle der Karte die geschlossen werden soll R ckgabewert TRUE bei Erfolg FALSE sonst DWORD mapapi_GetMapStyle HANDLE hMap mapapi_GetMapsStyle ermittelt den aktuellen Kartenstil der angegebenen Karte Parameter HANDLE hMap Handle der Karte R ckgabewert Der R ckgabewert ist eine Kombination der MS_xxx Konstanten DWORD mapapi_SetMapStyle HANDLE hMap DWORD mapStyle Setzt einen neuen Kartenstil f r die angegebene Karte Diese Funktion erm glicht es ei ner Anwendung Raster Statusleiste und Layerfenster ein und auszublenden bzw die gesamte Karte zu verbergen oder anzuzeigen Parameter HANDLE hMap Handle der Karte GeoLocator Seite 98 DWORD mapStyle Dieser Parameter legt den neuen Kartenstil fest Es ist eine beliebige Kombination der MS_XXX Konstanten m glich siehe dazu mapapi_OpenMap R ckgabewert Der R ckgabewert ist der vorherige Kartenstil void mapapi_ResizeMap HANDLE hMap RECT prcNewSize ndert die Gr e des Kartenfensters Diese Funktion mu von der Anwendung die das Kartenfenster besitzt aufgerufen werden wenn sich Gr e des Fensters ndert inner halb de
6. K GPS Verfahren f r den Nahbereich mit kurzen Beobach tungszeiten in Vermessung und Ortung In Deutsche Geod tische Kom mission bei der Bayrischen Akademie der Wissenschaften Heft 403 Reihe C Dissertation Fachbereich Vermessungswesen der Technischen Hochschule Darmstadt 1993 Strobel J rgen Global Positioning System GPS Technik und Anwendung der Satellitennavigation Franzis Poing 1995 ISBN 3 7723 4202 7 UNAVCO University NAVSTAR Consortium http www unavco ucar edu WANNINGER L Pr zise GPS Positionierungen in regionalen Netzen per manenter Referenzstationen In Zeitschrift f r Vermessungswesen 121 Jg Heft 9 S 441 454 Verlag Konrad Wittwer Stuttgart 1996 WITTE B SCHMIDT H Vermessungskunde und Grundlagen der Statik f r das Bauwesen 3 neubearb Auflage Verlag Konrad Wittwer Stuttgart 1995 WOODEN W H Navstar Global Positioning System In Proceedings of the First International Symposion on Precise Positioning with the GPS vol 1 p 23 32 Rochville Maryland April 15 19th 1985
7. Komponenten des GPSAPI Das GPSAPI besteht aus zwei wesentlichen Komponenten der GPSAPI DLL selbst sowie einer Menge von GPS Ger tetreibern Dateiendung GPS es handelt sich aber ebenfalls um DLL s GPSAPI Schnittstelle GPSAPI DLL Abb 20 GPSAPI und die zur Zeit verf gbaren GPS Ger tetreiber CoordCvt dil DLL f r die Koordinatentransformation Wesentliche Aufgaben des GPSAPI sind e Handhabung der seriellen Schnittstellen und Kommunikation mit den GPS Empf ngern e Zwischenspeicherung der eingelesenen Daten bis sie vom GPS Ger tetreiber decodiert wurden e Zwischenspeicherung der an die Anwendung zu bergebenden GPS Daten und Ergebnisse e Mitf hren von Protokollen f r GPS Ger te Ein Ger tetreiber stellt dem GPSAPI eine Decodierroutine zum Decodieren von GPS Daten zur Verf gung und enth lt dar berhinaus noch einen Setup Dialog um ger tespezifische Einstellungen vornehmen zu k nnen GeoLocator Seite 47 Leitfaden zur Anwendung des GPSAPI s Zentrale Funktion des GPSAPT s ist die Funktion gpsapi_Connect Mit dieser Funktion stellt eine Anwendung die Verbindung zu einem angeschlossenen GPS Empf nger her Die Anwendung wird in der Folge von GPSAPI ber bestimmte Ereignisse wie z B GPS Position eingetroffen benachrichtigt Das kann auf zweierlei Arten erfolgen entweder ruft das GPSAPI eine von der Anwendung bereitgestellte Callback Funktion auf oder das GPSAPI sendet eine vordef
8. Lin Loc 45 et ot av av at av o o CH o oo oo re Posi Rel rizon rizon netit Let Low Rate edi axl mo avi mni metric enwi ch bal Po ta d Over ta t Vehi dquart rface ial C rmed tific rmedi rumen ial ute rmedi Pro nt Tac N m S prima S seco ear Er e Rep i bar er Co n Corr um La mum C ndu ra es Sea Ti me Ti me Appl i 1081 n n n al Res ional y Tact gatio Bear ration anizat r The ona ise C GE cision Plann s Per cise P Secur udo Ra cise T tion i abi ium Arsenid 0 late Fr ial Opera strumen al Osci per Dil ut ean on U Goen CH cr Q Con ontr ation ate Le t Land Naviga of Na S ta ate Le gram 0 0 Sign ic ry on tica ndary ror P a aceab 0 ective unch orrect mof U Seco Level Bet we Bet we cable ion Message aval Ocean Sys earch anosecond Secur ical D n Tech ing Se al Con ion Le 20 Compu ode Diluti Locat ed Pro CH ositio ity Mo ndom ime an Vel ity and robable e ion of Precision Ti me ing System tion of Precision ion Indicator Air Force rol Document
9. die allgemeinen Einstellungen des Empf ngers Es handelt sich dabei um den Zweig HKEY_LOCAL_MACHI NE SOFTWARE Communication amp Navigation GPSAPI GPSDevices 00000001 0000001 ist dabei Identifikationsnummer des GPS Ger tes GeoLocator Seite 70 Parameter HWND hwndOwner Fensterhandle der aufrufenden Anwendung DWORD dwDeviceld Ger te ID des zu konfigurierenden Ger tes Wird ben tigt um dem GPSAPI mitzutei len in welchem Zweig der Registry die Einstellungen abzulegen sind R ckgabewert nicht verwendet immer 0 int gpsdev_Initialize HANDLE hDevice LPSTR IpWorkSpace Diese Funktion wird vom GPSAPI aufgerufen unmittelbar nachdem die serielle Schnitt stelle an die das GPS Ger t angeschlossen ist ge ffnet wurde Sie soll vom Treiber dazu verwendet werden um die Initialisierung des Ger tes einzuleiten Parameter HANDLE hDevice Ger tehandle des ge ffneten Ger tes LPSTR pWorkSpace Zeiger auf einen privaten dem Ger t zugeordneten Arbeitsspeicher Dieser Puffer wird vom GPSAPI f r jeden GPS Empf nger reserviert und ist standardm ig 1024 Byte gro Daten die vom Ger tetreiber in diesen Puffer geschrieben werden bleiben von Funktionsaufruf zu Funktionsaufruf erhalten Er kann also vom Treiber dazu ver wendet werden um bestimmte Einstellungen oder Zwischenergebnisse zu speichern R ckgabewert TRUE bei Erfolg FALSE sonst int gpsdev_TimeOut HANDLE hDevice LPSTR IpWorkSpac
10. direction N north S south dddmm mmm longitude ddd degrees 000 180 mm mmm minutes 00 000 59 999 direction E east W west GeoLocator Seite 74 q GPS quality indicator 55 Number of satellites being used y y a a Z antenna height a a height z units 9 9 2 geoidal separation g g height z units t t age of differential data 0 GPS not available 1 GPS available 2 GPS differential fix 0 12 M meters M meters iii differential reference station ID 0000 1023 CC checksum hex 00 7F GPRMC hhmmss ss a ddmm mmm dddmm mmm Z Zz y ddmmyy d d v CC lt CR gt lt LF gt Der GPRMC Datensatz liefert zus tzlich zur Position auch die momentane Geschwindig keit und die Richtung Daher wird er zus tzlich zum GPGGA Datensatz ausgewertet Die Geschwindigkeit wird in Knoten knots ausgegeben Der Umrechnungsfaktor in km h betr gt 1 852 1 knoten 1 852 km h Parameter Auszug aus der NMEA 0183 Spezifikation hhmmss ss UTC time of position fix hh hours mm minutes 55 55 seconds 00 24 00 59 00 00 59 99 a status A valid V invalid dd mm mmm laittude dd degrees 00 90 mm mmm minutes 00 000 59 999 n direction N north S south dddmm mmm longitude ddd degrees 000 180 mm mmm minutes 00 000 59 999
11. immer 0 int gpsdev_Locate HANDLE hDevice DWORD msgld GPSAPI_RECIPIENT lIpRecipient GPSAPI_LOCATEPARAMS LPSTR IpWorkSpace Mit dieser Funktion sendet der Ger tetreiber eine Positionsanforderung an das durch IpRecipient bezeichnete Fahrzeug Falls es sich beim Ger t um einen lokal angeschlossenen GPS Empf nger handelt mu diese Funktion nicht implementiert sein da GPS Empf nger blicherweise GPS Positionen in einem bestimmten Takt ausgeben Die Taktrate w re in diesem Fall im Dialog gpsdev_OptionsDlg einzustellen Parameter HANDLE hDevice Handle des aktuellen Ger teobjektes GeoLocator Seite 72 DWORD msgId Eine von der aufrufenden Anwendung definierte ID Diese ID mu bei Statusmeldun gen Erfolg Mi erfolg der Sendevorganges vom Ger tetreiber zur ckgegeben wer den damit die Anwendung die Positionsanforderung eindeutig identifizieren kann GPSAPI_RECIPIENT pRecipient Spezifiziert die Adresse des Empf ngers Fahrzeuges GPSAPI_LOCATEPARAMS pLocateParams Zeiger auf die Datenstruktur die angibt wann wie oft und in welchen Intervallen das Fahrzeug seine Positionsdaten an den Leitstand zur cksenden soll LPSTR pWorkSpace Zeiger auf den privaten Arbeitsbereich des Treibers R ckgabewert TRUE bei Erfolg FALSE sonst int gpsdev_SendTextMsg HANDLE hDevice DWORD msgld GPSAPI_RECIPIENT LPSTR pszText LPSTR IpWorkSpace Diese Funktion sen
12. pfen und es somit f r Ingenieurvermessungen nutzen Mit Hilfe der Phasen messung sind Me genauigkeiten vom cm bis mm Bereich m glich Differential GPS DGPS Die Positionsgenauigkeit die man mit einem Differential GPS System erreichen kann liegt unter einem Meter Wertet man die Phase der Tr gerfrequenz mit aus sind sogar Positionsbestimmungen im Zentimeterbereich m glich Aufgrund der Tatsache da der Fehler zwischen der gemessenen und der wirklichen Posi tion in einem Gebiet von mehreren zehntausend Quadratkilometern ann hernd gleich gro ist l t sich DGPS folgenderma en realisieren Man positioniert einen GPS Empf nger ortsfest an einem exakt vermessenen Punkt Die Positionsdifferenz zwischen diesem bekannten Ort und dem gerade ermittelten Me wert wird in Echtzeit d h sofort ber eine Datenfunkstrecke an den Navigierenden bermittelt Dessen GPS Empf nger korrigiert mit diesen Daten seine eigenen ebenfalls in Echtzeit gemessenen Positionsda ten Voraussetzung ist da beide Empf nger mindestens vier identische Satelliten emp fangen Ein bereits realisiertes Protokoll mit der Bezeichnung RTCM 104 Real Time Correction Message wird von allen modernen DGPS f higen Empf ngern verstanden und eine Kor rektur kann somit automatisch durchgef hrt werden Voraussetzung daf r ist allerdings ein Anbieter der die RTCM Daten per Datenfunk zur Verf gung stellt In sterreich bietet die DGPS Datenverarbeitungs GmbH
13. 1 500 000 Neue Karte ffnen Speichern Speichern unter Schlie en Beenden Bearbeiten R ckg ngig Ausschneiden Kopieren Einf gen L schen Layer einf gen Ansicht Fahrzeugverwaltung GPS Ger testatus Ereignisanzeige Layerliste Ma stabsleiste Extras Neue Textnachricht Textnachricht beantw Telefonbuch Optionen Koordinaten Beschreibung ffnet die vordefinierte mitgelieferte sterreich Karte ffnet eine neue leere Karte Erlaubt das Laden einer eigenen Karte Speichert die Einstellungen der aktuellen Karte Speichert die aktuelle Karte unter einem neuen Namen Schlie t das aktive MDI Fenster Beendet das Programm Letzte nderungen r ckg ngig machen L scht und kopiert Nachrichten in die Zwischenablage nur verf gbar wenn das Ereignisfenster ge ffnet ist Kopiert eine Nachrichtin die Zwischenablage nur im Ereignisfenster verf gbar dzt noch nicht verf gbar L scht entweder den ausgew hlten Layer von der Karte entweder Ereignisse aus dem Ereignsfenster F gt der aktuellen Karte neue Layer hinzu ffnet den Dialog f r die Fahrzeugverwaltung ffnet wahlweise f r jedes angeschlossenes GPS Ger t ein nicht modales Fenster das laufend die aktuellen Daten anzeigt ffnet ein Fenster zur Darstellung von Ereignissen Text nachrichten und Fahrzeugpositionen Blendet in der aktiven Karte die Layerliste ein bzw aus Blendet in der
14. Daten 1 Stopbit und keine Parit t eingestellt Modemantworten beginnen immer mit lt CR gt lt LF gt und enden mit lt CR gt lt LF gt Ist die Befehlssyntax falsch oder der Befehl unbekannt meldet das Ger t ERROR Ist die Syn tax korrekt aber einige Parameter ung ltig sendet das Ger t CME ERROR lt gt mit unterschiedlichen Error Codes Konnte ein Kommando ausgef hrt werden wird die Zei chenkette OK zur ckgegeben Hinweis Bei manchen Befehlen wie z B oder bei Meldung von eingehenden Ereignissen wird die Modemantwort nicht mit abgeschlossen AT Kommandos In diesem Abschnitt werden nur diejenigen Kommandos und Modemantworten beschrie ben die zum Senden und Empfangen von Short Messages notwendig sind F r eine voll st ndige Beschreibung aller AT Kommandos von GSM Ger ten sei folgendes Dokument verwiesen GSM0707 AT CREG Netzwerk Registrierung Dieses Kommando wird benutzt um den Registrierungsstatus des GSM Ger tes fest stellen zu k nnen Festellen des Status der Netzwerkregistrierung AT CREG Antwort vom GSM Modul CREG lt mode gt lt stat gt lt mode gt 0 Disable network registration unsolicited result code 1 Enable network registration code result code CREG lt stat gt lt stat gt 0 not registered ME is not currently searching a new operator l registered home network 2 not registered ME currently searching a new opera
15. H definiert und mu in allen Ger tetreibern implementiert sein int gpsdev_GetDevCaps GPSDEVCAPS IpGpsDevCaps Ermittelt spezielle Eigenschaften des angeschlossenen GPS Ger tes Die Funktion wird vom GPSAPI nur einmal und zwar beim Laden der DLL aufgerufen Parameter GPSDEVCAPS IpGpsDevCaps Zeiger auf eine GPSDEVCAPS Datenstruktur typedef struct _GPSDEVCAPS char szName GPSAPI MAXDEVNAME har szLibrary PATH WORD dwDriverVersion the device s name and manufacturer filename of the device driver D II driver version DWORD dwCapabilities II capabilities of this device int nPortld 1 id of serial port e g 1 4 DWORD dwBaudrate II 2400 9600 19200 DWORD nDevid unique device id in the current configuration union DWORD dwFlags DWORD flogFile 1 1 log device events GPSDEVCAPS Zu beachten ist da vom Ger tetreiber nur die ersten vier Datenfelder initialisiert werden m ssen Die anderen Datenfelder k nnen gesetzt werden sie werden vom GPSAPI dann als Standardwerte verwendet R ckgabewert TRUE bei Erfolg FALSE sonst int gpsdev_OptionsDig HWND hwndOwner DWORD dwDeviceld ffnet einen Dialog f r spezielle ger teabh ngige Einstellungen Je nach verwendetem Ger t kann es sich um ganz unterschiedliche Dialoge handeln Die Einstellungen werden mittels der Funktion gpsapi_SetDevValue im selben Zweig der Registry abgelegt wie
16. Koordinatensystem und dynamischen Parameter ak tueller Zoomfaktor Es enth lt eine Liste von Gruppen TGroupList Klasse TGroup Enth lt eine Liste von Layern Klasse TLayer TLayer ist die abstrakte Basisklasse f r alle weiteren Layer sowohl Pixel Layer als auch Vektorlayer und definiert dadurch die Schnittstelle f r einen Layer Klasse TVectLayer Basisklasse f r alle Vektorlayer TCorLayer und TDXFLayer Wird auch f r neue GPS Fahrzeug Positionen verwendet Klasse TBitmapLayer Klasse f r Pixel Karten die in einem St ck vorliegen also ein gro es Bitmap Klasse TBmpPieceLayer Klasse f r Pixel Karten die gest ckelt vorliegen viele Kacheln von Bitmaps GeoLocator Seite 95 TWindow OWL Object TMapFrameWnd TMap m_pMap TDialog m_pStatusDlg TLayerTreeWnd m_pLayerTree HCOORDSYS m_hTargetSystem TMap double m_fZoom TDbIRect m_rcMargin TGroupList m_pGroupList TLayerTreeWnd TGroup UINT m_type TLayerList m_pLayerList TBitmapLayer TTBmpPieceLayer TVectLayer ZN TCORLayer TDXFLayer Abb 30 Das MAPAPI Objektmodell GeoLocator Seite 96 Schnittstelle Dieses Kapitel enth lt die Beschreibung des Map Aplication Programming Interfaces HANDLE mapapi_OpenMap HWND hwndOwner RECT prcSize DWORD mapStyle Die Funktion mapapi_OpenMap ffnet eine neue leere Karte eigentlich ein Kart
17. Modus OK Anwendung GSM AT CMGS 14 lt CR gt 01F 606912143 Sende Nachricht 65000004C9E9340B lt Z gt GSM gt Anwendung CMGS 246 OK Nachricht wurde gesendet GeoLocator Seite 84 AT CMGD Delete message Das Kommando zum L schen von Nachrichten sollte nach einem Read Kommando verwendet werden um die gespeicherte Nachricht zu l schen und damit den Spei cherplatz f r eine neue Nachricht freizugeben Nachricht l schen AT CMGD lt i ndex gt Antwort des GSM Moduls OK lt index gt war ein g ltiger Wert Nachricht wurde gl scht ERROR lt index gt war ungiltig Initialisierungsphase Bei der Initialisierung des GSM Ger tes ist grunds tzlich zu pr fen ob 1 das Ger t angeschlossen ist 2 die PIN oder PUK und PIN eingegeben werden mu 3 das Ger t im Netz eingebucht ist Konnte das Ger t erfolgreich aktiviert werden PIN PUK wurde gesendet und Ger t ist eingebucht wird mit dem Kommando CMGF das gew nschte Nachrichtenformat ein stellt Da auch bin re Daten SMS Requests bzw GPS Positionen bertragen werden mu der sog PDU Modus eingestellt werden Im PDU Modus wird eine SMS Nachricht einschlie lich aller Header Informationen als bin re Zeichenkette bertragen Bei Aufruf der gpsdev_Initialize Funktion durch die GPSAPI DLL sendet der Treiber zun chst das ATEO Kommando Echo aus an das GSM Modul Erstens um unn tigen Da tentransfer zu vermeiden und zweitens um festzustellen o
18. Nachricht gelesen wurde gibt es allerdings nicht Die Telematikdienste des SMS TS21 und TS22 sind die einzigen Telematikdienste wel che gleichzeitig mit anderen Diensten zusammen genutzt werden k nnen d h Kurznach richten k nnen auch w hrend eines Gespr ches gesendet oder empfangen werden Standardisierung und Weiterentwicklung GSM ist kein abgeschlossenes System das sich nicht mehr ver ndert Die GSM Standards werden laufend weiterentwickelt Die Phase 1 der Implementierung von GSM Systemene beinhaltete grundlegende Dienste wie z B die Sprachkommunikation und einige wenige Zusatzdienste die zur Markteinf hrung 1991 verbindlich angeboten wer den konnten In der Phase 2 deren Standardisierung 1995 abgeschlossen wurde Markt einf hrung 1996 kamen vorallem Zusatzdienste hinzu Diese weitere Entwicklung l uft allgemein unter dem Namen GSM Phase 2 Dabei r cken auch Tr gerdienste mit h heren Bitraten bis zu 64 kbit s in das Zentrum des Inte resses Auch verbindungslose paketvermittelte Datenkommunikation auf der Luftschnitt stelle General Packet Radio Service GPRS wird gegenw rtig untersucht und standardisiert Beides ist besonders auch f r die Fahrzeugortung interessant da f r die sen Anwendungsfall nicht ein kompletter Verkehrskanal f r die Dauer einer Verbindung belegt werden mu GeoLocator Seite 30 Kapitel 3 GeoLocator Fahrzeugortung per GPS und GSM Zielsetzungen Mit dem GEOLOCATOR soll e
19. POS Unabh ngig vom jeweils verwen deten GPS Empf nger liefert das GPSAPI Positionen immer in diesem Format typedef struct long id the position s id optional double gpsTime II gps time in seconds weekseconds GPSAPI TIME gmt Ti me II gmt time GPSAP LLHPT W r 1 geogaphic coordinates in WGS84 GPSAPI XYZPT xyzPt II transformed xyz coordinates z height double speed II speed in kmh double hdg heading in track double dop 1 dilution of precision unsigned char dopType 0 PDOP 1 unsigned char revStatus II receiver status unsigned char satsTrk II number of recently tracked satellites unsigned char satsVis number of recently visible satellites unsigned char quality II quality indicator char skid II static kinamatic S K GPSAPI_POS Die meisten Datenelemente der Struktur stammen direkt aus den vom GPS Empf nger gesendeten Daten Je nach Empf ngertyp k nnen jedoch ein oder mehrere Datenfelder leer 0 bleiben Das GPSAPI kann bei Bedarf die Positionsdaten die standardm ig im Koordinatensys tem WGS84 ausgegeben werden auch sofort in ein frei definierbares lokales Koordina tensystem transformieren die transformierten Koordinaten stehen dann im Datenfeld xyzPt GPSAPI_SATTRK Zus tzlich zur Position wird manchmal auch der sog Trackingstatus der einzelnen Satelli ten ben tigt Diese Statusinformation enth lt im wesntli
20. STRO95 UNAVCO WANN96 WITTE95 WOOD85 DTE DCE interface for Short Message Service SMS and Cell Broadcast Service CBS ETSI GSM 07 07 European digital cellular telecommunication system Pha se 2 AT command set for GSM Mobile Equipment ETSI GSM 11 14 Digital cellular telecommunications system Phase 2 Specification of the SIM application toolkit for the Subscriber Identity Mod ule Mobile Equipment SIM ME interface HOFMANN WELLENHOF B KIENAST G LICHTENEGGER H GPS in der Praxis Springer Verlag Wien New York 1994 HOFMANN WELLENHOF B LICHTENEGGER H COLLINS J Global Posi tioning System Theory and Practice S 353 Springer Verlag Wien New York 1994 HUBER K Echtzeit DGPS f r alle In Zeitschrift f r Vermessungswesen 121 Jg Heft 9 S 455 460 Verlag Konrad Wittwer Stuttgart 1996 Motorola Oncore User s Guide For Use with ONCORE Receiver Board Firm ware Release 4 X 5 X and 6 X Motorola 1994 PUNDT H BRINKKOTTER RUNDE K STREIT U GPS unterst tzte digitale Felddatenerfassung f r Geoinformationssysteme in Land und Forstwirtschaft In Salzburger geographische Materialien Angewandte geographische Informationsverarbeitung VIII Heft 24 S 110 119 Hrsg Strobel Dollinger Salzburg 1996 Schr dter Frank GPS Satelliten Navigation Technik Systeme Ger te Funktionen und praktischer Einsatz Franzis Poing 1994 ISBN 3 7723 6682 1 SAUERMANN
21. WGS84 Koordinaten XYZ Landes koordinaten GPS EVENT Konfiguration Logdateien Kg CoordCvt dll Abb 15 DatenfluBdiagramm GPS Daten Beim Programmstart ffnet der GeoLocator ber das GPSAPI eine Verbindung zu allen angeschlossenen GPS Ger ten Das GPSAPI initialisiert dabei die Ger te indem es die jeweiligen Konfigurationsdaten an das Ger t sendet Die gesamte GPS Konfiguration d h welche Ger te berhaupt angeschlossen sind und wie sie konfiguriert sind wird vom GPSAPI in der Registry des lokalen Rechners gespeichert Zum Bearbeiten stellt das API zusammen mit den GPS Ger tetreibern entsprechende Dialoge zur Verf gung Die von den GPS Ger ten angelieferten GPS Daten im herstellerspezifischen Format werden vom GPSAPI mit Hilfe der GPS Ger tetreiber decodiert und in ein herstellerunab h ngiges Format gebracht In dieser Form wird die GPS Position an den GeoLocator gelie fert Genaugenommen wird nur eine Windows Message an den GeoLocator gesendet der daraufhin die eine bestimmte GPSAPI Funktion aufruft und sich so die Daten holt Handelt es sich bei der erhaltenen GPS Position um ein Fahrzeug das auf der gerade ge ffneten Karte dargestellt werden soll so wird die Position an das MapAPI weitergereicht Das MapAPI rechnet die im WGS84 vorliegenden Koordinaten in das zur Karte passende Landeskoordinatensystem um Diese Aufgabe wird von der Transformationsbibliothek CoordCvt dll erledigt Zus tzlich we
22. aktiven Karte die Ma stabsleiste am unte ren Rand ein bzw aus ffnet einen Dialog zum Verfassen einer neuen Textnach richt nur verf gbar wenn das Ereignisfenster aktiv Erlaubt das Beantworten der aktuell markierten Textnach richt ffnet den Telefonbuch Dialog ffnet einen Dialog f r allgemeine Programmeinstellungen Behfehle zum Einstellen von Koordinatensystemen Koordinatensystem ausw hlen W hlt f r die aktuelle Karte ein bestimtes Koordinatensystem aus Koordinatentransformation ffnet einen Dialog zur Umrechnung von Koordinaten Koordinatensystem definieren Erlaubt das Erstellen und Bearbeiten von Koordinatensystemen GeoLocator Seite 113 Datum definieren Offnet den Dialog zum Bearbeiten eines geod tischen Datums Ellipsoid definieren ffnet den Dialog zum Bearbeiten von Ellipsoiden GPS Setup ffnet den GPS Setup Dialog Fenster Allg Fensterbefehle Windows Standard Hilfe Info ber Zeigt Versionsnummer und Copyright Rechte an GeoLocator Seite 114 Anhang NAVSTAR GPS Acronyme und Abk rzungen AE Antenna Electronics A D Analog to Digital AFB Air Force Base AF Automatic Fault Indication AFS Air Force Station AHRS Attitude and Heading Reference System AIMS Airspace Traffic Control Radar Beacon Al Anti J ammi ng AOC Auxilliary Output Chip A S Anti Spo
23. angezeigt werden k nnen mit oder auch ohne darunterliegender digitalisierter Landkarte bzw Satelli tenbildern Datenformat AutoCAD DXF GeoLocator Seite 32 7 Integration einer Ortsdatenbank Auf der digitalisierten Karte nicht eingetragene Orte oder andere Symbole auch vom Anwender frei definierbare sollen nachtr glich aufgrund der vom GPS Empf nger er haltenen Positionsdaten eingef gt werden k nnen Manuelles Einf gen von Objekten Einf gen von Fixpunkten Kreisen Linien Fl chen Polygonz gen etc sowie Beschrif tungen mit a bernahmem glichkeit der gerade aktuellen GPS Position und b Ein lesen aufgezeichneter GPS Daten vom GeoTracker Editierungsm glichkeit f r weitere Objekt Attribute Postprocessing und Differential GPS DGPS Die GPS Daten der so eingegebenen Objekte sollen durch nachtr gliches Bearbeiten im Post Processing Verfahren korrigiert werden k nnen um je nach Qualit t des Empfanges Dezimeter Genauigkeit zu erreichen Dazu sind zus tzlich Positionsdaten und Korrekturinformationen von einer Basisstation mit genau bekannter Position erfor derlich Diese Korrekturinformationen k nnen von einem direkt angeschlossenen GPS Empf nger stammen oder werden aus einer Datei eingelesen Datumstransformation Datumstransformation zur Umrechnung von WGS84 Koordinaten in lokale Systeme das ist i a das gerade verwendet Kartenmaterial Dabei kommt die Transformations DLL eines Fremdhers
24. das SMSC an Nachrichten mit gleicher MR und DA zur ckzuweisen sofern noch vergleichbare Nachrichte im SMSC vorliegen MTI bit1 bitO Message type 0 0 SMS DELIVER SMSC MS 0 0 SMS DELIVER REPORT MS SMSC 0 1 SMS SUBMIT MS gt SMSC 0 1 SMS SUBMIT REPORT SMSC MS 1 0 SMS STATUS REPORT SMSC MS 1 0 SMS COMMAND MS SMSC 1 1 Reserved Message Reference MR Die MR ist eine fortlaufende Referenznummer 0 255 einer SMS SUBMIT PDU Sie wird vom GSM Modul automatisch gesetzt Originator Adress OA und Destination Adress DA OA und DA ha dasselbe Format das wie folgt definiert ist 1 octet 2 octet 0 10 octets type of ge len number BCD digits Beispiel 07 E 3 octet 4 octet ac dat 3 digit1 digit4 digit 3 last digit or Abb 28 Format von OA DA len Anzahl der BCD Ziffern der Adresse nicht die Anzahl der Octets type of number 81H die Nummer hat nationales Format 0732 91H die Nummer hat internationales Format 43676 BCD digits enth lt die Nummer des Empf ngers Absenders im BCD Format Ist die Anzahl der Ziffern ungerade mu die letzte Ziffer mit hex F aufgef llt werden Zus tzlich m ssen Low und High Nibbel ver tauscht werden 12 34 wird codiert als 21 43 Beispiel Die Nummer 1234567 f hrt zur Destination Address 0781214365F7 GeoLocator Seite 89 Protocol Identifier PID Die PID gibt an wie die Nachricht im SMSC behandelt werden so
25. der gew nschten Ereignisse eintrifft so enth lt die an die Hauptanwen dung gesandte Nachricht im WPARAM Wert ebenfalls genau diese Werte R ckgabewert Im Erfolgsfall liefert die Anwendung eine g ltiges Verbdinungs Handle connection handle Dieses Handle wird zum Schlie en einer Verbindung gpsapi_Disconnect wieder ben tigt Im Fehlerfall ist der R ckgabewert 0 GeoLocator Seite 57 BOOL gpsapi_Disconnect HANDLE hConnection Mit dieser Funktion wird die Verbindung zu einem GPS Empf nger geschlossen Parameter HANDLE hConnection Verbindungs Handle das beim Aufruf von gpsapi_Connect zur ckgegeben wird R ckgabewert TRUE im Erfolgsfall FALSE sonst int gpsapi_Locate DWORD nDevld GPSAPI_RECIPIENT pRecp GPSAPI_LOCATEPARAMS pParams DWORD requestId Sendet eine Positionsanforderung an das durch pRecp adressierte Fahrzeug Parameters DWORD nDevId Ger tde ID des entsprechenden Ger tes GPSAPI_RECIPIENT pRecp Gibt die Adresse des Empf ngers Fahrzeuges an GPSAPI_LOCATEPARAMS pParams Gibt an wenn und wie oft das Fahrzeug seine Positionsdaten an den Leitstand sen den soll DWORD requestId Von der aufrufenden Anwendung angegebener Schlussel Diese ID wird vom GPSAPI verwendet um die Anwendung Uber den Status gesendet Fehler der Positions anforderung zu benachrichtigen R ckgabewert TRUE im Erfolgsfall FALSE sonst GeoLocator Seite 58 int gpsapi_SendT
26. der sichtbaren und verfolgten Satelliten DOP Wert Richtung Ge schwindig etc angezeigt Die einzelnen Informationen k nnen nach Bedarf ein bzw ausgeblendet werden Es handelt sich bei diesem Statusfenster um einen nicht modalen Dialog Er bleibt solan ge ge ffnet bis der Benutzer ihn explizit schie t Parameter HWND hwndOwner Ein Fenster Handle der aufrufenden Anwendung GeoLocator Seite 55 DWORD nDevId Ger tde ID Ist diese ID g ltig wird das Statusfenster f r das entsprechende Ger t ge ffnet Wenn diese ID mit 0 angegeben wird und mehr als ein GPS Ger t installiert ist wird der Benutzer aufgefordert eines der installierten Ger te auszuw hlen R ckgabewert HWND Fenster Handle des nicht modalen Statusdialoges int gpsapi_OpenDevOptionsDig HWND hwndOwner DWORD nDevld ffnet einen Dialog f r spezielle Ger teeinstellungen Es ist ein Dialog der vom Ger te treiber selbst zur Verf gung gestellt wird Parameter HWND hwndOwner Ein Fenster Handle der aufrufenden Anwendung DWORD nDevId Ger tde ID des entsprechenden Ger tes Diese ID kann mit Hilfe der Funktion gpsapi_GetDevCaps ermittelt werden R ckgabewert IDOK falls der Dialog mit OK geschlossen wurde IDCANCEL sonst HANDLE gpsapi_Connect DWORD nDevld HWND hwndOwner DWORD GpsEventProc DWORD dwrFlags Diese Funktion erm glicht einer Anwendung eine Verbindung zum angegebenen GPS Ger t herzustellen
27. group type II group type LPARAM Param II 32bit value associated with this group GROUP_DATA mask kann eine beliebige Kombination folgender Werte sein Gruppenflag Beschreibung GF_TEXT Der Name der Gruppe soll zur ckgegeben werden pszText mu in diesem Fall auf einen gen gend gro en Puffer weisen Die maxi male L nge eines Gruppennamens ist mit MAX_PATH definiert GF_TYPE type soll beim Funktionsaufruf gesetzt werden GF_PARAM IParam soll beim Funktionsaufruf gesetzt werden R ckgabewert TRUE bei Erfolg FALSE sonst GeoLocator Seite 101 BOOL mapapi_AddGroupMenultem HANDLE hGroup HWND hwndOwner int cmdId const char IpszCommand DWORD dwFlags Mit Hilfe dieser Funktion kann einer bestimmten Gruppe ein Men eintrag zugeordnet werden der angezeigt wird wenn der Benutzer mit der rechten Maustaste auf die Gruppe oder auf einen Layer klickt der zu dieser Gruppe geh rt Parameter HANDLE hGroup Handle einer bestimmten Gruppe HWND hwndOwner Fensterhandle des Fensters an das der Men befehl zur Auswertung gesendet werden soll int cmdId ID des Men eintrages const char pszCommand Text des Menteintrages DWORD dwFlags Flags die bestimmen wie der Men eintrag angezeigt enabled disabled werden soll Eine Kombination der folgenden Werte ist m glich Men Flag Beschreibung GMI_GROUP Der Men eintrag ist genau dann verf gbar enabled wenn die Gruppe selbst markiert
28. h ufig ben tigte Konvertierungsauf gaben LPSTR gpsapi_Time2Str GPSAPI_TIME gmtTime LPSTR IpBuffer Gibt die angegebene GPS Uhrzeit in eine Zeichenkette aus Parameter GPSAPI_TIME gmtTime Datum und Uhrzeit die konvertiert werden sollen LPSTR pBuffer Adresse des Puffers in die die formatierte Zeichenkette geschrieben wird Dieser Puf fer muB mindestens 32 Zeichen lang sein Ruckgabewert Der R ckgabewert ist ein Zeiger auf den Puffer GeoLocator Seite 60 LPSTR gpsapi_Lat2Str double lat LPSTR IpBuffer Konvertiert die gegebene geographische Breite in eine Zeichenkette der Form N 48 10 44 1132 Parameter double at Geographische Breite LPSTR pBuffer Adresse des Puffers in die die formatierte Zeichenkette geschrieben wird Dieser Puf fer muB mindestens 32 Zeichen lang sein R ckgabewert Der R ckgabewert ist ein Zeiger auf den Puffer LPSTR gpsapi_Lon2Str double lon LPSTR str Konvertiert die gegebene geographische L nge in eine Zeichenkette der Form 13 12 17 8442 Parameter double lon Geographische Lange LPSTR pBuffer Adresse des Puffers in die die formatierte Zeichenkette geschrieben wird Dieser Puf fer muB mindestens 32 Zeichen lang sein R ckgabewert Der R ckgabewert ist ein Zeiger auf den Puffer GeoLocator Seite 61 Einstellen von Ziel Koordinatensystemen Mit den Funktionen zur Koordinatentransformation kann der Anwender a
29. l ength gt ist die Anzahl der Zeichen der lt pdu gt 2 CMGR 0 26 040C9134764657093900F399504291445548085062B5452DCFE9 OK AT CMGL Nachrichten auflisten Mit diesem Kommando kann eine Anwendung gespeicherte Nachrichten lesen Als Parameter bergibt die Anwendung den Typ von Nachrichten der aufgelistet wer den soll Nachrichten auflisten AT CMGL lt st at gt wobei lt st at gt den Status der Nachricht im Speicher angibt AT CMGL 0 REC UNREAD empfangene ungelesen Nachrichten AT CMGL 1 REC READ empfangene gelesene Nachrichten AT CMGL 2 STO UNSENT gespeicherte nicht gesendete Nachrichten AT CMGL 3 SENT gespeicherte gesendete Nachrichten AT CMGL 4 ALL alle Nachrichten Antwort vom GSM Ger t im Textmodus CMGL lt i ndex gt lt stat gt lt da oa gt lt alpha gt lt scts gt lt tooa toda gt lt length gt lt CR gt lt LF gt lt dat a gt Antwort vom GSM Gerat im PDU Modus CMGL lt i ndex gt lt stat gt lt l ength lt CR gt lt LF gt lt pdu gt Beispiele Anwendung GSM AT CMGL 0 neue ungelesene Nachrichten GSM Anwendung CMGL 1 UNREAD 43322449 lt CR gt To be or not to be CMGL 3 UNREAD 46290800 lt CR gt Be happy OK GeoLocator Seite 83 Anwendung GSM AT CMGL 1 gelesene Nachricht en GSM gt Anwendung CMGL 2 REC READ 43322449 20 lt CR gt Keep cool OK Anwendung GSM AT CMGL 6 ung lti
30. nen liegen Im GPSAPI wird jedes Ob jekt als eigene Ebene Layer behan Landesgrenzen delt See Das MAPAPI erlaubt es Pixelkarten mit Vektordaten zu kombinieren Eine Flu Pixelkarte wird dann ebenfalls als Layer betrachtet Hotels Ortungskarte Abb 29 Vektorkarten k nnen aus mehreren Ebenen aufgebaut werden GeoLocator Seite 94 Komponenten Zentraler Oberbegriff des MAPAPI s ist eine Karte Das API erlaubt einer Anwen dung belieibg viele Karten Maps zu verwalten Eine Karte definiert das zu verwendende Koordinatensystem den Zoomfaktor und R nder f r eine bestimmte Anzahl von darzu stellenden Objekten Alle auf einer Karte darstellbaren Objekte werden als Layer bezeichnet Das k nnen Bit maps gescannte Grafiken Vektordaten Menge von GPS Positionen eines Fahrzeuges oder Punktobjekte Referenzpunkte Standorte von Objekten sein Aus Gr nden der besseren Handhabbarkeit und bersichtlichkeit werden Layer zu Grup pen zusammengefa t Bevor ein Layer in eine Karte eingef gt werden kann mu eine Gruppe in der Karte definiert werden Objektmodell Klasse TMapFrame Rahmenfenster f r Karte Statusfenster am unteren Rand und Layer Baumansicht lin ker Fensterbereich Klasse TMap TMap ist direkt vom OWL Objekt TWindow abgeleitet und erbt daher alle M glichkeiten der Ausgabe von Daten im TWindow Objekt TMap speichert alle statischen Kartengr e Gr e des Ausschnittes aktuelles
31. pOriginator Puffer f r den Absender optional pData II Puffer f r die GPSAPI POS Struktur sizeof GPSAPI_POS Gr e des Datenpuffers Es kann an dieser Stelle seitens des GPSAPT s nicht ausgeschlossen werden da eine An wendung gpsapi_GetGpsData nicht oder mit einem falschen Ereignis Typ z B GPSAPIEV TEXT die Anwendung fordert f lschlicherweise eine Textnachricht an obwohl sich an erster Stelle der Queue eine Position befindet aufruft Das ist i a dann der Fall wenn eine Anwendung beim ffnen der Verbindung bestimmte Ereignisse zwar anfordert aber bei der Benachrichtigung nicht bearbeitet Damit diese nicht abgeholten Ereignisse den weiteren Ablauf nicht blockieren oder in der Folge zu einem Daten berlauf f hren werden solange Ereignisse sequentiell aus der Queue ge l scht bis ein Ereignis mit dem Ereignis Typ des Prozeduraufrufes bereinstimmt Alle gel schten Ereignisse sind damit verloren GeoLocator Seite 50 Es ist daher im Sinne eines guten Programmierstils wenn beim Offnen einer Verbindung zum GPS Device auch nur diejenigen Ereignisse angegeben werden die auch tats chlich verarbeitet werden Unab ngig davon werden in der Ereigniswarteschlange maximal 256 Ereignisse zwi schengespeichert Ab diesem Zeitpunkt wird beim Einlangen eines neuen Ereignisses je weils das lteste gel scht Datenstrukturen GPSDEVCAPS Bevor eine Anwendung eine Verbindung zu einem Empf nger aufbaut kann es
32. sich an Rumbaugh Object Oriented Modelling and Design Prentice Hall 91 GeoLocator Seite 38 Klasse TGeoLocApp Die Klasse TGeoLocApp das direkt vom OWL Objekt TApplication abgeleitet ist enthalt neben den ererbten Funktionen zur Behandlung von Windows Nachrichten und Benutzer kommandos auch alle Funktionen f r den Zugriff auf die Ereignisdateien Zus tzlich kap selt es auch alle DLL Funktionsaufrufe des GPSAPI s und des MapAPT s Alle R ckmeldun gen vom GPSAPI werden ebenfalls an das Hauptmodul gesendet Klasse TGeoLocFrameWnd ist das Rahmenfenster f r die Anwendung Dieses Fenster baut eine Verbindung zu allen vorhandenen GPS Ger ten auf Vice versa schlie t es alle Verbindungen bei Program mende Klasse TGeoMDlIClient ist das MDI Client Fenster der Anwendung und f r die Verwaltung aller MDI Child Fenster verantwortlich Klasse TMapMDIChild Innerhalb dieser MDI Child Fenster werden die Kartenansichten ge ffnet Von dieser Klasse von MDI Fenstern k nnen theoretisch beliebig viele Instanzen erzeugt werden Klasse TMapChildWindow Fensterklasse f r den Client Bereich von TMapMDI Child Innerhalb dieses Fensters wird mit dem Funktionsaufruf von _OpenMap die eigentliche Karte angelegt Klasse TEventMDIChild Ist das Fenster f r die Ereignisanzeige Die Ereignisanzeige kann nur ein einziges Mal ge ffnet werden Klasse TEventWindow Fensterklasse f r den Client Bereich von TEvent MD
33. t angeschlossen ist mu ein Ger tetreiber eingerichtet werden ffnen Sie dazu ber den Men punkt Ex tras Gps Setup den Dialog GPS Setup Mit dem Befehl hinzuf gen ffnet sich ein Dialog indem sie den gew nschten Ger tetyp ausw hlen und die Einstellungen f r die serielle Schnittstelle vornehmen k nnen Gerateoptionen 21x GPS Ger t GPS Ger t PY Abbruch Einstellungen Hilfe Anschlu einstellungen Port COM4 v Baudrate 3500 IV Protokolldatei aufzeichnen Abb 31 Der Ger teoptionen Dialog Vergessen beim Anschlu eines GSM Ger tes nicht auf die Eingabe Ihrer PIN Diese ist Dialog GSM Optionen einzugeben Sie erreichen diesen Dialog mit dem Befehl Einstel lungen im oben abgebildeten Dialog GSM Optionen Ea Setup Ziel Giiltigkeit Speichem Sprachruf Aktionen MW bei Programmstart abfragen amp initialisieren Abbruch PUK Eingabe zulassen Abb 32 Der GSM Optionen Dialog Falls Sie die PIN falsch angegeben haben ist auch die Eingabe der PUK notwendig Schlie Ben alle Setup Dialog mit OK Im Ereignisfenster des GeoLocators erhalten Sie entspre chende Mitteilungen vom GPS Ger tetreiber ob Ihre Empf nger bzw GSM Modul richtig konfigurert wurden GeoLocator Seite 112 Bedienung Dieser Abschnitt gibt einen Uberblick Uber die Befehle des Hauptmenis Men eintrag Datei sterreich
34. te zur Speicherung von Namen und Telefonnummern Neben den teilnehmerspezifischen Daten k nnen im SIM auch netzspezifische Daten gespeichert werden z B Listen von Tr gerfrequenzen auf denen das Netz periodisch Systeminformationen ausstrahlt oder auch die Local Area ID Die Nutzung des SIM und damit der Mobilstation kann durch eine vierstellige PIN gegen unberechtigten Zugriff gesch tzt werden Funknetz Base Station Subsystem BSS tm PLMN pP amp Internat PSTN ISDN G y BI Be sec Wee wi Dm Bin BF He d A a Abb 10 Die Komponenten des Base Station Systems BTS Base Transceiving Station BSC Base Station Controller MS Mobile Station GeoLocator Seite 24 Eine GSM Zelle wird vom Funkbereich einer BTS Base Transceiving Station aufge spannt Die BTS stellt in dieser Zelle die Funkkan le f r Signalisierung und Nutzung zur Verf gung Sie besitzt neben dem HF Teil nur einige wenige Komponenten zur Signal und Protokollverarbeitung Um die Basisstationseinheiten klein zu halten ist die wesentli che Steuerungs und Protokollintelligenz in den Basisstations Controller BSC Base Stati on Controller verlagert Im BSC wird beispielsweise das Handover Protokoll abgewickelt Mehrere BTS k nnen gemeinsam von einem BSC gesteuert werden An der Funkschnittstelle werden zwei Typen von Kan len bereitgestellt Verkehrs und Signalisierungskandle F r die Ver
35. tisch interessanteste Komponente die dreidimensionale Positionsbestimmung beruht bei GPS im Prinzip auf Streckenmessungen Sollen im dreidimensionalen Raum die Koordinaten eines unbekannten Punktes durch Streckenmessungen bestimmt werden so sind die Strecken zwischen drei bekannten Punkten und dem unbekannten Punkt zu mes sen Geometrisch liegt der Schnitt dreier Kugelschalen vor da im dreidimensionalen Raum der geometrische Ort einer Streckenmessung mit einem bekannten Punkt eine Ku gelschale ist Zwei Kugelschalen schneiden sich in einem Kreis und dieser durchst t die dritte Kugelschale in zwei Punkten Davon ist einer der koordinatenm ig gesuchte Punkt Bei GPS werden die bekannten Punkte durch Satelliten realisiert Die Satellitenbahndaten Ephimeriden aus denen man f r einen beliebigen Zeitpunkt die Koordinaten des Satel liten berechnen kann werden bekanntlich auf das vom Satelliten gesendete Signal auf moduliert und stehen daher dem Anwender jederzeit zur Verf gung Die Distanz zwischen dem Satelliten und dem unbekannten Punkt kann durch Messung der Laufzeit des Radio signals abgeleitet werden Sorgt man daf r da der im Empf nger generierte C A Code exakt zur selben Zeit er zeugt wird wie der des gesuchten Satelliten und verz gert man diesen so lange bis die Autokorrelation ihr Maximum erreicht so entspricht diese Verz gerungszeit genau der Laufzeit des Satellitensignales Zwar kann man die hochgenauen Satellitenuhr
36. 2 9 F RST P Vermessung mit GPS und Laser Feldstecher im Wald In Salz burger geographische Materialien Angewandte geographische Informati onsverarbeitung VIII Heft 24 S 120 125 Hrsg Strobel Dollinger Salz burg 1996 ETSI GSM 01 02 Digital cellular telecommunications system Phase 2 General description of a GSM Public Land Mobile Network PLMN ETSI GSM 02 01 Digital cellular telecommunications system Phase 2 Principles of telecommunication services supported by a GSM Public Land Mobile Network PLMN ETSI GSM 02 02 Digital cellular telecommunications system Phase 2 Bearer Services BS supported by a GSM Public Land Mobile Network PLMN ETSI GSM 02 03 Digital cellular telecommunications system Phase 2 Teleservices supported by a GSM Public Land Mobile Network PLMN ETSI GSM 03 02 Digital cellular telecommunications system Phase 2 Network architecture ETSI GSM 03 38 Digital cellular telecommunications system Phase 2 Alphabets and language specific information ETSI GSM 03 40 Digital cellular telecommunications system Phase 2 Technical realization of the Short Message Service SMS Point to Point PP ETSI GSM 07 05 Digital cellular telecommunications system Phase 2 Use of Data Terminal Equipment Data Circuit terminating Equipment GeoLocator Seite 118 GSM0707 GSM1114 HOKL94 HOLC94 HUBER96 MOTO94 PUNDT96 SCHRO94 SAUER93
37. 48 000 000 648 000 000 180 to 180 hhhh height in cm 100 000 1 800 000 GPS ref ellipsoid 1 000 00 to 18 000 00 meters mmmm height in cm MSL ref 100 000 1 800 000 1 000 00 to 18 000 00 meters Velocity velocity in cm sec 0 51 4000 0 to 514 0 m sec hh heading true north res 0 1 0 0 to 359 9 deg Geometry dd current DOP 0 1 res 0 999 0 0 to 99 9 DOP 0 not computable or position hold or position prop t DOP type 0 PDOP in 3D mode 1 HDOP in 2D mode GeoLocator Seite 77 Satellite visibility and tracking status n number of visible satellites 0 12 t number of tracked satellites 0 6 For each of six receiver channels i sat ID 0 37 m channel tracking mode 0 8 0 Code Search 1 Code Acquire 2 AGC Set Freq Acquire 4 Bit Sync Detect 5 Message Sync Detect 6 Satellite Time Avail 7 Ephemeris Acquire 8 Avail for Position 5 Signal Strength 0 255 d Channel Status Flag each bit represents on of the following msb Bit 7 Using for Position Fix Bit 6 Satellite Momentum Alert Flag Set Bit 5 Satellite Anti Spoof Flag Set Bit 4 Satellite Reported Unhealthy Bit 3 Satellite Reported Inaccurate gt 16 meters Bit 2 spare Bit 1 spare Isb Bit O Parity Error Receiver Status Message receiver status msb Bit 7 Position Propagate mode Bit 6 Poor Geometry DOP gt 20 Bit 5 3D fix Bit 4 Altitu
38. Anwendung sollte in der entsprechenden Nachrichten Behand lungsroutine GetGpsData aufrufen Damit erh lt sie die Daten des GPS Ereignisses und das Ereignis selbst kann aus der Ereigniswarteschlange entfernt werden GeoLocator Seite 49 Die Verwaltung von GPS Ereignissen in der Ereigniswarteschlange Ein vom GPS Ger tetreiber dekodiertes Ereignis gelangt ber den Funktionsaufruf gpsa pi _DeviceResult zur ck an das diesem Ger t zugeordnete TDevice Objekt Dieses Ob jekt verwaltet f r jede bestehende Verbindung TConnection eine Queue f r GPS Ereignisse GPS Ereignisse bleiben solange in dieser Queue bis sie durch den Aufruf von gpsapi GetGpsData von der Anwendung abgeholt werden Abb 22 zeigt einen m glichen Zustand dieser Queue Ein TDevice Objekt innerhatb dte er tetreiber GSM DLL GeoLocator exe Abb 22 Zustand der Ereigniswarteschlange zu einem Zeitpunkt t Jedesmal wenn ein neues Ereignis in der Queue eintrifft wird die Anwendung mit der entsprechenden API Nachricht ber das Eintreffen und ber den Typ des Ereignisses be nachrichtigt bzw deren Callback Prozedur aufgerufen Im Normalfall ruft nun die An wendung gpsapi_GetGpsData mit einem Empfangspuffer und dem entsprechenden Er gebnistyp als Parameter auf Im oben skizzierten Beispiel sollte die Anwendung jetzt fol gende Anweisung ausf hren gpsapi GetGpsData hConnection connection handle GPSAPI EV_POSITI ON Ereignis Typ
39. Application Programming Interface Kapitel 6 die Benutzerdokumentation zeigt wie der GeoLocator richtig konfiguriert wird und gibt einen berblick dar ber wie der in der Praxis eingesetzt werden kann GeoLocator Seite 8 Anwendungsm glichkeiten Fallstudien Die folgenden Anwendungsbeispiele sollen dazu dienen dem Leser Einblick in typische Aufgabenstellungen der GPS Technologie zu geben Es sind Beispiele die in hnlicher Form bereits verwirklich wurden oder Ausschreibungsunterlagen entnommen sind Fallbeispiel 1 Die Landwirtschaftskammer l t Bodenproben erheben Eine manuelle Eintragung der Positionen in die DKM ist zu ungenau Abweichungen von mehr als 200 m eine exakte Vermessung mittels konventioneller Vermessungstechnik w re sehr zeitaufwendig und ist daher zu kostspielig Mit dem GeoTracker einem speziellen GPS Empf nger der Firma Communication amp Navigation lassen sich nicht nur GPS Positionen aufzeichnen sondern auch Daten einge ben Damit l t sich nicht nur die Position der Bodenprobe bestimmen sondern es redu ziert sich auch der Dokumentationsaufwand bei der Erhebung der Bodenproben selbst Zeitgleich zur Erhebung der Bodenproben zeichnet eine GPS Referenzstation Korrekturda ten f r ein sp ter durchzuf hrendes Postprocessing auf Nach der Erfassung im Feld wer den die Daten vom GeoTracker mittels GPSAPI in den PC an ArcGPS bertragen und mit Hilfe der parallel dazu aufgezeichneten Korrekturdat
40. Datenformat an die aufrufende Anwendung abzuliefern Es exisiert mit NMEA 0183 zwar ein Standard f r den Austausch von GPS Positionen dieser ist aber insofern unge eignet f r die Weiterverarbeitung da es sich um eine reine Textrepr sentation handelt die au erdem f r bestimmte Zwecke notwendige Satelliteninformationen nicht mehr ent h lt Dar berhinaus stehen z B Positions und DOP Wert gem NMEA Stanard in ver schiedenen Datens tzen die hintereinander bertragen werden jedoch h ufig gleichzei tig ben tigt werden Die Hersteller von GPS Empf ngern verwenden meist eigene bin re Repr sentationen die ggf auch die f r ein Postprocessing notwendigen GPS Rohdaten enthalten Aus die sem Grund f hrt das GPSAPI zwei neue GPS Datenstrukturen ein die alle notwendigen GPS Informationen enthalten GPSAPI POS f r Position Uhrzeit und Datum Geschwindig keit etc sowie GPSAPI SATTRK f r den Tracking Status Anzahl der Satelliten Signalst r ke etc Da das GPSAPI auch f r den Einsatz in der Fahrzeugortung konzipiert ist und in diesem Bereich neben den Positionsdaten h ufig auch andere Nachrichten zwischen Fahrzeug und Leitstand ausgetauscht werden m ssen ist im API auch eine Schnittstelle zum Sen den und Empfangen von Kurznachrichten integriert 13 National Marine Electronics Association 14 In manchen Speditionsbetrieben kommuniziert der Disponent mit den Fahrern vielfach nur mehr ber SMS GeoLocator Seite 46
41. Die aufrufende Anwendung erh lt bei erfolgreichem Verbindungsauf bau in der Folge vom GPSAPI R ckmeldungen ber verschiedene GPS Ereignisse GPS Positionen Trackingstatus eventuell auch Ger testatusmeldungen oder Textnachrich ten Diese R ckmeldungen k nnen wahlweise ber eine benutzerdefinierte Nachricht user defined message oder ber eine Callback Prozedur GpsEventProc erfolgen Parameter DWORD nDevId Ger tde ID des entsprechenden Ger tes Diese ID kann mit Hilfe der Funktion gpsapi_GetDevCaps ermittelt werden HWND hwndOwner Fenster Handle an das alle GPS Nachrichten ber den Windows Messaging Mecha nismus gesendet werden sollen Falls dieses Handle NULL ist verwendet das GPSAPI den Callback Mechanismus um die aufrufende Anwendung ber Ereignisse zu be GeoLocator Seite 56 nachrichtigen In diesem Fall muB der Parameter GpsEventProc unbedingt auf eine g ltige Callback Prozedur verweisen DWORD GpsEventProc In Abh ngigkeit davon ob der Parameter hwndOwner ein g ltiges Fensterhandle enth lt oder ist mu GpsEventProc entweder eine benutzerdefinierte Nachricht WM_USERxxx oder die Adresse einer Callback Prozedur enthalten Verwenden einer benutzerdefinierten Nachricht Falls der Benutzer durch Windows Nachrichten ber Ereigsnisse verst ndigt werden will erh lt er GPS Ereignisse an das im Parameter hwndOwner angegebene Fenster zugesandt Der WPARAM Wert enth lt dann den Ereignistyp LPARA
42. Endfassung 20 2 2000 GEOLOCATOR Ein GPS basiertes Fahrzeugortungssystem Diplomarbeit Erstellt von Bernhard Liedl Matrikelnummer 8826842 Angefertigt am Institut fur Informationsverarbeitung und Mikroprozessortechnik FIM Eingereicht bei o Univ Prof Dr J rg M hlbacher GeoLocator Seite 2 Abstract The present paper documents the development of a vehicle tracking system based on the NAVSTAR global positioning system We will see that a tracking system consists of two basic tasks handling gps receivers or communication devices on the one hand and displaying the tracks of located objects on a map on the other hand These tasks will be done within separate dynamic link libraries called GPSAPI global positioning system s applications programming interface and MAPAPI We will see that the combination of the global positioning system and the global system for mobile communication GSM enables a costeffective way for everyone locating ob jects worldwide Furthermore the document gives a summarized description of the NAVSTAR global posi tioning system as well as a general overiew of the global system for mobile communica tions GSM Zusammenfassung Die vorliegende Arbeit dokumentiert die Entwicklung eines auf dem NAVSTAR GPS basie renden Fahrzeugortungssystems Zwei wesentliche Aufgaben sind in einem Fahrzeugor tungssystem zu bew ltigen Die Handhabung von GPS Empf ngern oder Kommunikati on
43. FALSE sonst BOOL mapapi_SetLayerData HANDLE hLayer LAYER_DATA pData Diese Funktion gestattet es mehrere oder einzelne Eigenschaften des angegebenen Lay ers 2 setzen Parameter HANDLE hLayer Handle eines bestimmten Layers LAYER_DATA pData Zeiger auf eine LAYER_DATA Datenstruktur N heres siehe dazu mapapi_GetLayerData R ckgabewert TRUE im Erfolgsfall FALSE sonst BOOL mapapi_AddPos HANDLE hLayer GPSAPI_POS pNewPos mapapi_AddPos f gt dem angegebenen Layer am Ende eine neue Position hinzu Sie wird in die von der Karte innerhalb der der Layer dargestellt wird verwendeten Landes koordinaten umgerechnet und je nach Layereinstellungen sofort am Bildschirm dar gestellt Parameter HANDLE hLayer Handle eines bestimmten Layers GPSAPI_POS pNewPos Adresse der neuen Position GeoLocator Seite 105 R ckgabewert TRUE im Erfolgsfall FALSE sonst void mapapi_SetBkColor HANDLE hMap COLORREF color Setzt die Hintergrundfarbe der angegebenen Karte Parameter HANDLE hMap Handle der Karte COLORREF color Neue Hintergrundfarbe R ckgabewert Keiner void mapapi_GetCurPos HANDLE hMap double pX double pY double pZoom Ermittelt die aktuelle Position Mittelpunkt des sichtbaren Kartenausschnittes im Koordi natesystem der Karte und den aktuellen Zoomfaktor der Karte Parameter double x Adresse f r x Koordinate double y Adresse f
44. H 110 INSTALLATION UND DEINSTALLATION 110 KONFIGURATION 111 BEDIENUNG 112 ANHANG 114 LITERATURVERZEICHNIS 117 GeoLocator Seite 6 Einleitung Vorwort Im Laufe meiner Tatigkeit bei Communication amp Navigation kristallisierten sich zwei Auf gabenstellungen heraus die in fast jedem Software Projekt im Bereich GPS Datenerfassung zu bew ltigen waren 1 das Erfassen von GPS Daten damit verbunden die Steuerung von GPS Empf ngern verschiedener Hersteller unter Umst nden mit zwischengeschalteten Kommunikationsger ten und 2 die graphisch entsprechende dynamische Darstellung von GPS Positionen Es war daher naheliegend jeweils eine Bibliothek f r beide Aufgaben zu entwickeln Im Zuge meiner Diplomarbeit entstanden das GPSAPI Global Positioning System Application Programming Interface und das MAPAPI Map Application Programming Interface Das GPSAPI sollte eine einheitliche Schnittstelle zur Steuerung von GPS Empf ngern un terschiedlicher Hersteller bieten sowie GPS Daten in einem herstellerunabh ngigen For mat zur Verf gung stellen Hauptziel des MAPAPI s war die M glichkeit GPS Daten dynamisch also unmittelbar nach dem Einlesen darstellen zu k nnen Absicht war nicht ein Konkurrenzprodukt zu namhaf ten Herstellern von Geographischen Informationssystemen wie etwa ESRI s MapObjects zu entwickeln F r Anwendungen die sich rein auf die GPS Datenerfassung konzentrie ren erwiesen sich gro e GIS Systeme j
45. I Child Dieses Fenster ist in zwei H lf ten geteilt Auf der linken Seite befindet sich eine Baumansicht zum Ausw hlen des Er eignistypes rechts davon die Ereignisliste Klassen TSmsMessageDlg und TTextMsgDig Mit dem Dialog TTextMsgDlg k nnen Kurznachrichten versandt gelesen bzw beantwortet werden Die Basisklasse TSmsMessageDlg f hrt bestimmte berpr fungen z B Validie rung der Mobilrufnummer durch Klassen TVehicleLayer und TVehicleLayerList In dieser dynamischen Liste von TVehicleLayer Objekten verwaltet der GeoLocator alle Fahrzeuge denen ein Layer in einer Karte zugeordnet ist Trifft eine neue GPS Position ein wird diese Liste nach vorhanden Fahrzeug Layern durchsucht und die neue Position an das MapAPI zum jeweiligen Layer weitergeleitet GeoLocator Seite 39 Klasse TVehicleMgrDlg Klasse TVehicleListWindow Dem TVehicleMgrDlg obliegt die Fahrzeugverwaltung Alle vorhandenen Fahrzeuge wer den im TVehicleList Window aufgelisetet Fahrzeugdaten und Ortungszyklen k nnen mit diesen beiden Dialogen festgelegt werden Fahrzeugverwaltung 21x WR Vertreter nnn Stach Chef Secal PKW zyklisch 06 00 00 Schlie en k LKwW Zugl LKW schwer einmalig Hilfe k LKW Zug2 LKW schwer zyklisch 06 00 00 BS Firmenwagen Seca2 Kombi zyklisch 03 00 00 W Lokaler Empf nger GPS Empf nger kontinuierlich Vertreter Sal DEA einmalig Neues Fahrzeug L schen Eigenschaften Abb 17 An
46. M das Handle der Verbindung auf das sich das Ereignis bezieht Die Daten z B die Positionsdaten des Ereignisses selbst erh lt der Benutzer durch Aufruf von gpsapi_GetGpsData Verwenden einer Callback Funktion Falls der Benutzer eine Callback Funktion verwenden will mu diese folgenderma en definiert sein void W NAPI GpsEventProc GPSAPI ORIGINATOR IpOriginator UINT uType LPVOID I pData UINT uSize pointer to a originator structure type of event pointer to buffer containing the event data sizeof referred data Bahn Fee In Abh ngigkeit des Ereignisses zeigt pData auf eine der folgenden Datenstrukturen GPS Ereignis assoziierte Datenstruktur GPSAPIEV POSITION GPSAPI POS GPSAPIEV_SATTRK GPSAPI SATTRK GPSAPIEV TEXT GPSAPI TEXTMSG GPSAPI DEVSTATE GPSAPI DEVSTATE GPSAPIEV RAWDATA GPSAPI DWORD dwFlags Dieser Parameter bezeichnet die Ereignistypen die die Anwendung erhalten m chte Es kann sich dabei um eine Kombination der folgenden Konstanten handeln GPS Ereignis Beschreibung GPSAPIEV POSITION Anwendung wird benachrichtigt wenn GPS Positionen ein treffen GPSAPIEV_SATTRK Anwendungen wird laufend Uber den Satelliten Tracking Status informiert GPSAPIEV Eine Textnachricht ist eingetroffen GPSAPIEV DEVSTATE Der Ger testatus des GPS Ger tes hat sich ge ndert GPSAPIEV RAWDATA Ein Roh Datenformat vom GPS Empf nger ist eingetroffen Wenn eine
47. MSC Der VP Wert ist wie folgt definiert VP Value tats chliche G ltigkeitsdauer 0 143 VP 1 x 5 Minuten also 5 Minuten Intervalle bis 12 Stunden 144 167 12 Stunden VP 143 x 30 Minuten 168 196 VP 166 x 1 Tag 197 255 VP 192 x 1 Woche Im zweiten Fall ist die Definition identisch zur Definition der SCTS Service Center Time Stamp Welcher der beiden Arten verwendet wird ist im VPF Feld Validity Pe riod Format des PDU Typs angegeben User Data Length UDL and User Data UD Das UDL Feld gibt die Anzahl der Zeichen in der Nachricht an nicht die Anzahl der Octets im UD Feld 1 octet 0 140 octets UDL User Data Beispiel 05 E8 32 9B FD 06 bedeutet Standardalphabet Das UD Feld enth lt nun die eigentliche Nachricht Wie bereits erw hnt k nnen die Daten 8 bit oder 7 bit codiert sein Bei 8 Bit Codierung k nnen die Daten einfach als ASCII Zeichen interpretiert werden GeoLocator Seite 91 Soll die 7 Bit Codierung f r Textnachrichten verwendet werden so sind die Daten so zu packen wie in GSM0338 definiert Die folgende Skizze versucht am Beispiel der Codierung von 3 Zeichen die 7 Bit Codierung zu veranschaulichen bits 3 2 1 0 7 6 1 0 2 Zeichen 3 Zeichen Nachricht a4 a ja ja 20 b7 EN 2 e re User Data a5 a4 a3 a2 al cl c5 c5 1 octet 2 octet 3 octet Auf diese Weise ist es m glich eine Nachricht mit 160 Zeichen GSM Stanar
48. NMARSAT die M glichkeit der bertragung per Satelliten an Diese Variante ist allerdings sowohl von der technischen Ausr stung als auch von den laufenden Kosten her im Vergleich zu GSM relativ teuer Besondere Bedeutung kommt nun GSM dem Global System For Mobile Communications zu Die GSM Technologie ist inzwischen weit verbreitet zur Daten bertragung geeignete Ger te sind f r jedermann erschwinglich Neben der M glichkeit mittels eines Data Call eine stehende Punkt zu Punkt Verbindung zwischen GSM Ger ten aufzubauen kommt dem Short Messaging Service SMS ein spezieller Dienst unter GSM f r die GPS Daten bertragung besondere Bedeutung zu In diesem Fall besteht keine st ndige Verbindung zum Fahrzeug was im Regelfall auch nicht ben tigt wird Das zu ortende Fahrzeug soll nur in bestimmten Intervallen seine Position an den Leitstand bermitteln Eine Short Message ist zwar auf 140 Bytes Daten beschr nkt bzw 160 Zeichen bei Ver wendung eines 7 Bit Codes doch ist dieses Datenvolumen f r die bertragung eines GPS Datensatzes ausreichend F r bestimmte Anwendungsbereiche insbesondere im Speditionsbereich wo nur fallweise eine Position eines Fahrzeuges ben tigt wird erweist sich das Short Messaging Service als ideale bertragungsm glichkeit Vorteile von SMS gegen ber Data Call e Gesicherte bertragung e mehrere Fahrzeuge k nnen quasi parallel geortet werden GeoLocator Seite 22 e Keine Kosten f r die
49. TIONSBESTIMMUNG 15 GENAUIGKEIT DES GPS SYSTEMS 17 FEHLEREINFLUSSE 18 VERFAHREN ZUR VERBESSERUNG DER GENAUIGKEIT 19 ZIVILE ANWENDUNGSGEBIETE 20 KAPITEL 2 GSM GLOBAL SYSTEM FOR MOBILE COMMUNICATIONS 21 EINLEITUNG 21 GSM SYSTEMARCHITEKTUR 22 MOBILSTATION 23 FUNKNETZ BASE STATION SUBSYSTEM BSS 23 MOBILVERMITTLUNGSNETZ SWITCHING AND MANAGEMENT SUBSYSTEM SMSS 24 BETRIEB UND WARTUNG OPERATION AND MAINTENANCE SUBSYSTEM OMSS 26 DIENSTE DES GSM 27 TRAGERDIENSTE 27 TELEMATIKDIENSTE 27 DAS SHORT MESSAGE SERVICE SMS 28 STANDARDISIERUNG UND WEITERENTWICKLUNG 29 GeoLocator Seite 4 KAPITEL 3 GEOLOCATOR FAHRZEUGORTUNG PER GPS UND GSM 30 ZIELSETZUNGEN 30 FUNKTIONSUMFANG 30 LEISTUNGSMERKMALE DES GESAMTSYSTEMS 31 UMGEBUNG ZIELSYSTEM 33 SYSTEMKOMPONENTEN 34 GEOLOCATOR 34 GPS APPLICATION PROGRAMMING INTERFACE 34 MAP APPLICATION PROGRAMMING INTERFACE 35 KOORDINATENTRANSFORMATION 35 DATENFLUGDIAGRAMM 36 OBJEKTMODELL 37 FAHRZEUGVERWALTUNG 40 EREIGNISVERWALTUNG 41 EREIGNISTYPEN 41 TELEFONBUCH 43 DATEIREFERENZ 43 KAPITEL 4 DOKUMENTATION GPSAPI 45 EINLEITUNG 45 KOMPONENTEN DES GPSAPI 46 LEITFADEN ZUR ANWENDUNG DES GPSAPI s 47 DATENSTRUKTUREN 50 SCHNITTSTELLE 53 DATEIREFERENZ 67 GPS GERATETREIBER 68 SCHNITTSTELLE DER GERATETREIBER 69 SPEZIELLE GERATETREIBER 73 GeoLocator Seite 5 KAPITEL 5 DOKUMENTATION MAPAPI 93 EINLEITUNG 93 KOMPONENTEN 94 OBJEKTMODELL 94 SCHNITTSTELLE 96 DATEIREFERENZ 108 KAPITEL 6 BENUTZERHANDBUC
50. Ultra High Frequency United States of America US Naval Observatory Universal Time Universal Time Coordinated Vertical Dilution of Precision Very High Speed Integrated Circuit Very Large Scale Very High Freque World Geodetic 5 Yuma Proving Gro 1 Pulse Per Minu 1 Pulse Per Seco nc ys un te nd ntegrated Circuit y VHF Omnidirectional Range tem 1984 d GeoLocator Seite 117 Literaturverzeichnis ANGER96 BARW96 BILL94 EBER97 FURST96 GSM0102 GSM0201 GSM0202 GSM0203 GSM0302 GSM0338 GSMO340 GSM0705 ANGERMANN D BAUSLERT G KLOTZ J REINKIG J ZHU S Y Hoch genaue Koordinatenbestimmung in gro r umigen GPS Netzen In Allge meine Vermessungsnachricht 103 Jg Heft 5 S 185 195 Verlag Herbert Wichmann Heidelberg 1996 BARWINSKI K et al Einmessung von Erdgas Hochdruckleitungen mit GPS wirtschaftlich eine Alternative In Allgemeine Vermessungsnachricht 103 Jg Heft 6 S 196 202 Verlag Herbert Wichmann Heidelberg 1996 BILL R FRITSCH D Grundlagen der Geo Informationssysteme Band 1 Hardware Software und Daten 2 Aufl Herbert Wichmann Verlag Heidel berg 1994 Ebersp cher J rg GSM Global System for Mobile Communication Vermittlung Dienste und Protokolle in digitalen Mobilfunktnetzen mit 41 Tabellen von J rg Ebersp cher und Hans J rg V gel Teubner Stuttgart 1997 ISBN 3 519 0619
51. Zeit busy und kann keine Daten entgegen nehmen dwResult gibt Auskunft Uber Erfolg MiBerfolg einer gesendeten Positionsanforderung dwReference beinhaltet in diesem Fall dann die von der Anwendung bei Absenden der Anforderung angegebene Id szText kann eine kurze Beschreibung des Ger tezustandes beinhalten GPSAPI_LOCATEPARAMS Diese Datenstruktur bestimmt in welchen Intervallen ein GPS Empf nger seine Position an die Anwendung bzw den Leitstand zur cksenden soll Sie wird von der Funktion gpsapi_Locate verwendet paramters to be provided in gpsapi Locate p P for single cyclic Position r R for Raw 0f automatic reports device dependent 0 if only once interval of reports in seconds 0 for continous if 0 messages should only be sent within this time of day GMT time expressed in seconds of day optional switches status to set ON OFF optional which switches status to set typedef struct char type long nReports long intval Secs long daySecsFrom long daySecsTill unsigned char switchStatus unsigned char switchDelta GPSAPI LOCATEPARANS GPSAPI_ORIGINATOR GPSAPI_RECIPIENT Mit dieser Datenstruktur wird ein Empf nger oder Absender einer Position oder einer Textnachricht oder eines anderen Ereignisses definiert typedef struct DWORD II device id char szName GPSAPI MAXNAME II optional char szAddress GPSAPI MAXADDRESS i e phone n
52. achtzeit und dies bei jedem Wetter Das NAVSTAR GPS l t sich in drei sog Segmente gliedern Raumsegment Benutzersegment und e Kontrollsegment Raumsegment Benutzer segment Kontroll segment Abb 4 Die Segmente von NAVSTAR GPS Das Raumsegment Das Raumsegment besteht aus mindestens 24 Satelliten die in sechs Bahnebenen mit jeweils vier Satelliten die Erde in einer H he von rund 20 200 km umkreisen Die Satelli tenbahnen sind um 55 zur quatorebene geneigt Die Satellitenbahnen sind nahezu kreisf rmig die Umlaufzeit eines Satelliten betr gt 11 Stunden 58 Minuten Mit 24 Satel liten k nnen von jedem Punkt der Erde zu jeder Zeit zwischen vier und acht Satelliten mit einem H henwinkel von zumindest 15 beobachtet werden Die wesentliche Aufgabe der Satelliten ist das Senden von Signalen die mit geeigneten Empf ngern registriert werden k nnen Hierzu ist jeder Satellit mit einer Uhr Oszillator Mikroprozessor Sender und Antenne ausgestattet Zust tzlich befinden sich mehrere Re serveuhren an Bord der Satelliten GeoLocator Seite 13 Der Oszillator im Satelliten generiert die fundamentale Frequenz von 10 23 MHZ Ganz zahlige Multiplikation der fundamentalen Frequenz mit 154 bw 120 erzeugt zwei Tr ger wellen im L Band die mit 11 und L2 bezeichnet werden und die Frequenzen 11 1575 42 MHz und L2 1227 60 MHz aufweisen Die Verwendung von zwei Tr gerwellen erm glicht die Elimi
53. anme Hm ENET Zjazd zeg ns Kane D gt 4 Fobrrmeue Gerti j F LOW EF Err Weeer aa 5 UAT MAI EI eme wu Abb 9 zeigt eine vom Autor durchgef hrte Messung ber den Zeitraum von ca 24 Stunden Man erkennt deutlich da durchaus auch gr ere als die eingangs angegebenen Abweichungen vorkommen k nnen Rastergr e 50 m GeoLocator Seite 18 Fehlereinfl sse GPS Messungen werden neben der bereits erw hnten Selective Availability noch durch verschiedene andere u ere Einfl sse verf lscht Geometric Dilution of Precision GDOP Die Genauigkeit einer Messung h ngt wesentlich von der Satellitenkonstellation also der Entfernung und Richtung der einzelnen Satelliten zum Beobachtungsort ab Je ungleich m iger die Verteilung der Satelliten ist desto schlechter ist die erreichbare Positionsge nauigkeit Diese Abweichung der Genauigkeit wird als GDOP Geometric Dilution Of Preci sion bezeichnet Einflu der Ionosph re Die vom Satelliten ausgesandten Signale m ssen Schichten ionisierter Gasatome durch queren welche die Ausbreitungsgeschwindigkeit dieser Signale hemmt Die Ionenkon zentration ist kein konstant kalkulierbarer Faktor sondern h ngt stark von der Tageszeit Jahreszeit Sonnenaktivit t geographischer Breite des Empf ngers und von der H he und Richtung des Satelliten ab Bei Empf ngern welche beide Tr gerwe
54. ap Handle einer bestimmten Karte R ckgabewert Handle des momentan markierten Layers Der R ckgabewert ist NULL wenn kein Layer markiert ist oder die Karte keinen Layer besitzt BOOL mapapi_GetLayerData HANDLE hLayer LAYER_DATA pData Diese Funktion liefert zus tzliche Daten zum angegebenen Layer Parameter HANDLE hLayer Handle eines bestimmten Layers LAYER_DATA pData Zeiger auf eine LAYER_DATA Datenstruktur typedef struct UINT mask LPSTR pszText LPSTR pszFilename type HANDLE hGroup LPARAM Param LAYER DATA flags that specify which data members are to be used name of this layer data file of the layer layer type handle of group the layer belongs to 32bit value associated with the layer GeoLocator Seite 104 mask kann eine beliebige Kombination folgender Werte sein Gruppenflag Beschreibung LYF_TEXT Der Name des Layers soll zuruckgegeben werden pszText muB in diesem Fall einen g ltigen Zeiger auf einen Puffer f r den Namen enthalten maximale Lange des Namens MAX_PATH LYF_FILENAME Der Dateiname des Layers soll ermittelt werden pszFilename muB auf einen gen gend gro en Puffer max L nge eines Dateinames MAX_PATH verweisen LYF_TYPE type wird gesetzt LYF_GROUP hGroup erh lt ein Handle auf die Gruppe der der Layer angeh rt LYF_PARAM Der Param Wert soll gesetzt werden R ckgabewert TRUE im Erfolgsfall
55. arddialog zum Speichern von Dateien Die Karte wird unter dem vom Benutzer angegebenen Dateienamen abgespeichert Parameter HANDLE hMap Karten Handle der zu speichernden Karte R ckgabewert TRUE falls die Karte gespeichert wurde FALSE sonst LPSTR mapapi_GetMapFilename HANDLE hMap Liefert einen Zeiger auf den Dateinamen der Karte Parameter HANDLE hMap Handle einer bestimmten Karte R ckgabewert Zeiger auf den Dateinamen der Karte Besitzt die Karte noch keinen Dateinamen so hat der zur ckgelieferte String die L nge BOOL mapapi_ReadMap HANDLE hMap LPSTR IpszFilename Liest die Konfiguration einer Karte von der angegebenen Datei Parameter HANDLE hMap Handle einer bestimmten Karte LPSTR IpszFilename Dateiname einer Map Datei in dem alle Karteneinstellungen gespeichert sind R ckgabewert TRUE wenn die Karte gelesen werden konnte FALSE sonst GeoLocator Seite 108 BOOL mapapi_AddLayerDialog HANDLE hMap Die mapapi_AddLayerDialog Funkton ffnet den Windows Standarddialog GetOpenFile Name zum Ausw hlen einer Layerdatei Der Layer wird in die aktuell markierte Gruppe der angegebenen Karte eingef gt Parameter HANDLE hMap Handle einer Karte R ckgabewert TRUE wenn der Layer gelesen und in die Karte eingef gt werden konnte FALSE sonst Dateireferenz Die unten aufgelisteten Dateien werden zum Compilieren der MAPAPI DLL ben tigt Datei B
56. ation d h die Bestimmung von Position und Geschwindigkeit eines beliebigen bewegten oder ruhenden Objektes erm glichen Dar berhinaus sollte auch noch eine genaue Zeitinformation zur Verf gung gestellt werden Die Resultate sollten in Echtzeit also ohne merkbaren Zeitverzug unmittelbar nach den Messungen verf gbar sein Weiters wurde die Forderung gestellt bei jedem Wetter zu jeder Zeit und an jedem beliebigen Ort auf oder nahe der Erde also auf dem Land auf dem Wasser und in der Luft zu funktioieren Die Realisierung von NAVSTAR GPS Alle bisherigen Navigationsverfahren sind nur in einem mehr oder weniger begrenzten Gebiet verf gbar haben unterschiedliche Genauigkeiten und erlauben jedes f r sich al leine keine dreidimensionale Positionsbestimmung Sie sind teilweise sehr gro unhand lich schwer teuer und relativ ungenau Es war klar da ein neues allen bekannten Systemen berlegenes Navigationsverfahren nur vom Weltraum aus ber Satelliten betrieben werden konnte So wurde vom DOD das NAVSTAR Satelliten System und von der Sowjetunion das quivalente GLONASS Satelliten System entwickelt Das Ergebnis war auf beiden Seiten ein Navigationssystem das allen anderen bisher entwickelten Systemen in vielerlei Hinsicht berlegen ist Es ist 4 Abk f r Global Navigation Satellite System GeoLocator Seite 12 bis in gro e H hen weltweit verf gbar erm glicht eine ununterbrochene Versorgung zu jeder Tages und N
57. ator Seite 54 int gpsapi_GetDevCaps int index GPSDEVCAPS IpDevCaps Ermittelt spezielle Ger teinformation f r das angegebene Ger t u a auch eine eindeutige Ger te ID die f r alle weiteren Funktionsaufrufe die auf GPS Ger te bezug nehmen be n tigt wird Parameter int index Index auf ein GPS Ger t G ltiger Bereich ist 0 n 1 wobei n die Anzahl der vor handen GPS Ger te ist n kann mit der Funktion gpsapi_GetNumDevs ermittelt werden GPSDEVCAPS pDevCaps Zeiger auf eine GPSDEVCAPS Struktur Sie ist wie folgt definiert gps device capabilities 111111 typedef struct _GPSDEVCAPS char szName GPSAP MAXDEVNAME the device s name and manufacturer char szlibrary PATH 1 full filename of the device driver DWORD dwDriverVersion II driver version DWORD dwCapabilities II capabilities of this device int id of serial port 1 2 3 DWORD dwBaudrate II 2400 9600 19200 DWORD vier d 1 unique device id in the current configuration union DWORD dwFlags DWORD flogFile 1 1 log device events GPSDEVCAPS Ruckgabewert TRUE bei Erfolg FALSE wenn keine Gerateinformationen ermittelt werden konnten z B wenn index au erhalb des g ltigen Bereiches liegt HWND gpsapi_OpenDevStatusWnd HWND hwndOwner DWORD nDevld ffnet das Ger te Statusfenster In diesem Fenter wird jeweils die letzte eingegangene GPS Position Anzahl
58. b das GSM Modul eingeschal tet ist und auf Kommandos reagiert Der weitere Verlauf der Initialisierungsphase ist dem umseitig angegebenen Zustandsdiagramm zu entnehmen Bei Zeit berschreitung oder bei anderen als den im Diagramm angegebenen Antworten geht der GPS Treiber in den ERROR Zustand diese Zustands berf hrungen sind nicht explizit angegeben Der Treiber sendet im Fehlerfall eine entsprechende Fehlermeldung ber die GPSAPI DLL an die Anwendung Die angegebenen Namen f r die Zust nde ent sprechen den Konstanten die im Sourcecode verwendet wurden Seite 85 GeoLocator DUT AT CPI N GS_ISPIN response OK REQUESTED AT CREG CPIN SIM PUK CPIN SIM PIN AT CPIN lt puk gt lt pin gt AT CPIN lt pi n gt CPI N READY AT CREG DU OK AT CREG AT CREG CREG n 1 home network oder CREG n 5 roaming GS_REGISTERED OK Abb 25 Zustandsdiagramm der Initialisierungsphase Hinweise Tritt im Zustand GS_SETPUK ein Fehler auf CME ERROR 16 falsche PIN so wird ein Fortsetzen der Initialisierung nicht zum Ziel f hren Nach 10 Fehlversuchen w rde die SIM Karte gesperrt Der Ger tetreiber geht daher in den Fehlerzustand ber und gibt eine entsprechende Warnung an den Benutzer aus PUK ung ltig oder nicht an gegeben Die Fehlerursache kann der Ereignisanzeige entnommen werden GeoLocator Seite 86 e Bestimmte Antworten k nnen immer hereinkommen unter Umst
59. bjekte GT_DYNAMIC Diese Gruppe ist f r Fahrzeuglayer vorgesehen bzw f r Layer die laufend um neue GPS Positionen erweitert werden GT_POINT Layer dieser Gruppe beinhalten nur eine einzige GPS Position Referenzpunkte Standorte von bestimmten Objekten R ckgabewert Gruppen Handle das die Gruppe eindeutig identifiziert Es wird dazu ben tigt wenn in der Folge Layer in die Karte eingef gt werden sollen HANDLE mapapi_GetFirstGroup HANDLE hMap Liefert die erste Gruppe der angegebenen Karte Parameter HANDLE hMap Handle der Karte R ckgabewert Gruppen Handle Der R ckgabewert ist NULL wenn die Karte keine Gruppen enth lt GeoLocator Seite 100 HANDLE mapapi_GetNextGroup HANDLE hMap Liefert in aufeinanderfolgenden Aufrufen jeweils die n chste Gruppe der Karte Parameter HANDLE hMap Handle der Karte R ckgabewert Gruppen Handle Der R ckgabewert ist NULL wenn die Karte keine weiteren Gruppen mehr enth lt BOOL mapapi_GetGroupData HANDLE hGroup GROUP_DATA pData Die Funktion mapapi_GetGroupData ermittelt die Eigenschaften einer bestimmten Gruppe Parameter HANDLE hGroup Handle einer bestimmten Gruppe GROUP_DATA pData Zeiger auf eine GROUP_DATA Datenstruktur die in Abh ngigkeit des mask Datenfeldes gef llt wird typedef struct UINT mask Il a set of bit flags that specify which data members II to be used LPSTR pszText name of this
60. chen ein G ltigkeitsflag Signal st rke und momentane Position des Satelliten Das GPSAPI definiert daf r die folgende Datenstrukturen typedef struct I tracking status for each channel unsigned char satld II sat id unsigned char mode I tracking mode unsigned char signal II signal strength unsigned char chanFlg channnel flag GPSAPI CHN TIITII tracking status 1111 typedef struct int chn II number of available channels 8 GPSAPI CHN channel 8 II tracking status of each channel GPSAPI SATTRK In der vorliegenden Implementierung liefert das GPSAPI den Trackingstatus von maximal 8 Satelliten GeoLocator Seite 52 GPSAPI_DEVSTATE Uber diese Datenstruktur erh lt eine Anwendung Informationen ber aktuelle Geratezu stand des GPS Empf ngers und ber Erfolg Mi erfolg ausgef hrter Operationen typedef struct DWORD dwid DWORD dwState DWORD dwOperati on DWORD dwResult LONG Param char szText GPSAP MAXSTATETEXT GPSAPI DEVSTATE device id code of current device state latest operation result code of last operation additional parameter depends on dwOperati optional description of the messsage cp Een dwId ist die Ger teld des GPS Ger tes dwState kann eine der folgenden Werte anneh men Wert Beschreibung GPSAPI_DS_UNKNOWN Zustand des Empf nger ist unbekannt GPSAPI_DS_READY Ger t ist betriebsbereit GPSAPI_DS_BUSY Ger t ist zur
61. dalpha bet in 140 Bytes zu packen Nicht verwendete Bits werden auf gesetzt Anhang Tabelle des GSM Standardalphabets Dieses Alphabet mu in jedem GSM Ger t implementiert sein Weitere Alphabete sind optional b7 0 0 0 0 1 b6 0 0 1 1 0 0 b5 0 0 1 0 I 0 1 194 93 182 oil 0 1 2 3 4 5 6 7 0 0 0 0 0 0 i P D 0 0 0 al al 1 A Q a q 0 0 1 0 2 5 2 RI b 0 0 3 vr 5 0 1 ela 0 0 5le o 5 E Ule 0 0 6 u 6 F V f 0 7 i y 7 G W g o oly 8 H x h 9 o CHE KA 1 i T eZ 0 1 11 1 K A 1 0 o IR E i 0 1 13 MIN 0 14 B N 1 15 E O S Diese Zeichen sind nicht definiert sollten aber als Leerzeichen dargestellt werden GeoLocator Seite 92 Dateireferenz TARGET GPS Folgende Dateien sind dem Target GSM Ger treiber zugeordnet Datei Beschreibung Verzeichnis Source GpsDev h Headerdatei f r alle GPS Ger tetreiber Target h cpp Implementierung der ger tespezifischen Funktionen DSmsOpt h cpp Target Setup Dialog in erster Linie Einstellungen f r GSM fill h cpp enth lt eine Hilfsfunktion zum F llen der GPSAPI_POS Struktur Target def Projektdefinitionsdatei Verzeichnis Res targ_gr rh rc Resource Dateien deutsch targ_bmp
62. de Hold 2D fix Bit 3 Acquiring Satellites Position Hold Bit 2 Differential Bit 1 Insufficient visible satellites lt 3 Isb Bit 0 Bad Almanac C Checksum Der Ea Datensatz ist wie der Ba Datensatz definiert allerdings enth lt er die Sa tellitendaten f r 8 Satelliten und ist daher um zwei Satellitendatenfelder i msd l nger GeoLocator Seite 78 Dateireferenz ONCORE GPS Folgende Dateien sind dem Oncore Ger treiber zugeordnet Datei Beschreibung Verzeichnis Source GpsDev h Headerdatei f r alle GPS Ger tetreiber Oncore h cpp Implementierung der Oncore spezifischen Funktionen DOncOpt h cpp Oncore Setup Dialog fill h cpp enth lt eine Hilfsfunktion zum F llen der GPSAPI_POS Struktur Oncore def Projektdefinitionsdatei Verzeichnis Res oncor_gr rh rc Resource Dateien deutsch oncr_bmp rc Icons und Bitmaps Verzeichnis misc Source log h cpp Logfile Funktionen f r Debugging Zwecke Verzeichnis exe GpsAPI lib Bibliothek zum Linken des GpsAPI s Loadtime Linking GeoLocator Seite 79 TARGET GPS Ortung via GSM Beim sog Target Ger t handelt es sich um ein GPS Ger t das eigentlich kein GPS Ger t ist Tats chlich l t sich mit dem Treiber jedes beliebige GSM Ger t ansprechen sofern es dem ETSI Standard GSM 07 07 f r AT Kommandos entspricht Sinnvoll einsetzen l t sich dieser Treiber allerdings nur im Zusammenspiel mit dem Ge oTracker von C amp N Dieser E
63. det eine Textnachricht an einen durch pRecipient bezeichneten Emp f nger Diese Funktion ist nur implementiert sofern das angeschlossene Ger t z B ein GSM Handy berhaupt in der Lage ist Textnachrichten zu versenden Parameter HANDLE hDevice Handle des aktuellen Ger teobjektes DWORD msgId Eine von der aufrufenden Anwendung definierte ID Diese ID muB bei Statusmeldun gen Erfolg Mi erfolg der Sendevorganges vom Ger tetreiber zur ckgegeben wer den damit die Anwendung die Textnachricht eindeutig identifizieren kann GPSAPI_RECIPIENT pRecipient Spezifiziert die Adresse des Empf ngers Fahrzeuges LPSTR pszText Zeiger auf die zu sendende Textnachricht Ggf mu dieser Text im ANSI Zeichen satz vom Treiber in den vom Ger t verwendeten Zeichensatz umgewandelt werden LPSTR pWorkSpace Zeiger auf den privaten Arbeitsbereich des Treibers R ckgabewert TRUE bei Erfolg FALSE sonst GeoLocator Seite 73 Spezielle Geratetreiber In diesem Abschnitt wird die Implementierung der drei bestehenden Ger tetreiber doku mentiert Breiteren Raum wird der Target gps Treiber einnehmen weil er der zur Fernor tung wichtigste Ger tetyp ist NMEA GPS Dieser Ger tetreiber ist in der Lage Daten von allen Empf nger zu decodieren die die Daten gem der Spezifikation der National Marine Electronics Association NMEA lie fern Inzwischen gibt es mehrere NMEA Spezifikationen Der folgenden Abschnitt be schr nkt s
64. direction east W west GeoLocator Seite 75 2 2 speed over ground knots y y track made good 0 0 359 9 reference to true north ddmmyy UTC date of position fix dd day 01 31 mm month 01 12 yy year 00 99 d d magnetic variation degrees 0 0 180 0 variation sense east W west CC checksum hex 00 7F Anmerkung Die GPSAPI_POS Datenstruktur wird immer erst nach dem Eintreffen beider Datens tze an das Hauptmodul zur ckgegeben da zum Setzen aller Datenfelder beide ben tigt wer den 095144 00 4809 8938 N 01402 1559 E 2 3 222 0 141194 1 2 E bD Richtung Checksum G ltigkeitsfeld Geogr L nge Satzkennung Datum Geogr Breite Geschwindigkeit in Knoten Magnetische Zeitpunkt UTC der Abweichung Positionsbestimmung Abb 23 Beispiel f r einen GPRMC Datensatz Dateireferenz NMEA GPS Folgende Dateien werden zum Compilieren der NMEA DLL ben tigt Datei Beschreibung Verzeichnis Source GpsDev h Headerdatei f r alle GPS Ger tetreiber NMEA cpp Implementierung der NMEA spezifischen Funktionen NMEA def Projektdefinitionsdatei Verzeichnis Res nmea_gr rh rc Resource Dateien deutsch Verzeichnis misc Source log h cpp Logfile Funktionen f r Debugging Zwecke GpsAPI lib Bibliothek zum Linken des GpsAPI s Loadtime Linking GeoLocator Seite 76 ONCORE GPS Der ONCORE GPS Treiber wurde
65. e Diese Funktion wird vom GpsAPI aufgerufen wenn der TimeOut Wert des zuletzt gesen deten Befehles berschritten wurde Der Ger tetreiber kann daraufhin eine entsprechen de Fehlerbehandlung einleiten oder eine entsprechende Fehlermeldung an die Anwen dung senden Parameters HANDLE hDevice Handle des betroffenen Ger tes LPSTR pWorkSpace Zeiger auf den privaten Arbeitsspeicher R ckgabewert immer 0 wird in der aktuellen Version nicht verwendet GeoLocator Seite 71 int gpsdev_Decode HANDLE hDevice LPSTR IpBuffer DWORD dwSize LPDWORD IpParsedBytes LPSTR IpWorkSpace Die Funktion gpsdev_Decode wird vom GPSAPI aufgerufen sobald Daten an der seriellen Schnittstelle eingetroffen sind Parameter HANDLE hDevice Handle des aktuellen Ger teobjektes LPSTR pBuffer Zeigt immer auf das erste noch nicht decodierte Zeichen im dem Ger t zugordneten Empfangspuffer DWORD dwSize Anzahl der Zeichen im Empfangspuffer LPDWORD IpParsedBytes Adresse der Variable f r die Anzahl der vom Treiber verarbeiteten Zeichen Dieser Wert mu vom Ger tetreiber gesetzt werden damit der Speicherbereich vom GPSAPI wieder f r neue Daten verwendet werden kann LPSTR pWorkSpace Zeiger auf den privaten Arbeitsbereich des Treibers Hier k nnen Zwischenergebnisse oder bestimmte Ger tezust nde zwischengespeichert werden Sie bleiben bis zum n chsten Funktionsaufruf erhalten R ckgabewert nicht verwendet
66. e DLLs Prozeduren zur Koordinatentransformation bereitstellen Der GeoLocator macht von der zweiten M glichkeit Gebrauch Alle Einstellungen bzgl des Koordinatensystems beziehen sich auf die aktuelle vom MapAPI ge ffnete Karte Es ist daher ohne weiteres m glich unterschiedliches Kartenmaterial gleichzeitig zu verwen den Grunds tzlich k nnen die Koordinaten immer wieder neu transformiert werden da die im GPSAPI definierte und systemweit verwendete Datenstruktur f r GPS Positionen die originalen WGS84 Koordinaten enth lt Sowohl GpsAPI als auch MapAPI verwenden zur Koordinatentransformation eine gekaufte Danymic Link Library eines Fremdherstellers Dieses Bibliothek ist in der Lage Koordina ten zwischen beliebigen Koordinatensystemen umzurechnen Die meisten g ngigen Koor dinatensysteme sind bereits vordefiniert Zus tzlich bietet die Bibliothek aber auch die M glichkeit neue Koordinatensysteme zu definieren 10 World Geodetic System 1984 GeoLocator Seite 36 DatenfluBdiagramm Die folgende Skizze versucht den Zusammenhang zwischen GPSAPI GeoLocator MapAPI und Koordinatentransformations DLL CoordCvt dll zu verdeutlichen sowie den Da tenflu vom GPS Ger t bis zum MapAPI zu veranschaulichen GPS Device GPS Daten Konfigurations daten Positionsrequests u Textnachrichten GeoLocator GPS Daten herstellerunabh decodierte GPS Daten herstellerunabh u Textnachrichten
67. edoch als berdimensioniert und f r den weniger erfahrenen Benutzer als nicht einfach zu bedienen Mit GPS allein l t sich zwar die Positionen eines beliebigen Ortes bestimmen f r die Ortung eines Objektes ben tigen wir jedoch noch ein geeignetes Medium zur Daten ber tragung Wir werden sehen da GSM eine f r jedermann kosteng nstige M glichkeit dar stellt Daten weltweit drahtlos zu bertragen Nicht zuletzt mu hier auch die Frage nach der Verantwortung der Gesellschaft gegen ber gestellt werden Sind wir George Orwell s 1984 ein St ck n her gekommen oder stehen wir gar kurz davor Einschl gige Anfragen best tigen dass man in Zukunft in die sem Zusammenhang wird wachsam sein m ssen Zwei wesentliche Risiken und Gefahrenquellen sind Das Rationalisierungs und vor allem Kontrollpotential in der Arbeitswelt e sowie die Probleme des Datenschutzes und die damit verbundene Gefahr eines ber wachungsstaates Environmental Systems Research Institute Inc gilt als einer der f hrenden Hersteller von GIS Softwareprodukten http ww esri com GeoLocator Seite 7 Zielsetzung und Aufbau der Arbeit Erstes Ziel der Arbeit war es ein Application Programming Interface zur GPS Datener fassung zu entwickeln in der Folge kurz GPSAPI genannt Dieses API sollte mit GPS Empf ngern verschiedener Hersteller verwendbar sein Demzufolge mu te dieses GPSAPI so konzipiert werden da es leicht um weitere GPS Em
68. em PC verbunden wird Das zu ortende Fahrzeug mu mit einem GeoTracker von Communication amp Navigation ausgestattet sein Nur dieses Ger t das zus tzlich zur GPS Empfangseinheit mit einem eigenen Mikroprozessor ausgestattet ist ist in der Lage die vom GeoLocator gesendeten SMS Nachrichten entsprechend zu verarbeiten Abb 13 zeigt eine m gliche Systemkonfiguration oe GeoTracker ee ee ea T Leitstand GSM Netz Fahrzeug 8 Neuer Firmenname Inprise Das GSM Ger t mu dem ETSI Standard GSM 07 07 ETS 300916 entsprechen Achtung manche Herstel ler von GSM Ger ten verwenden zum Teil eigene propriet re Protokolle GeoLocator Seite 34 Systemkomponenten Das Gesamtsystem GeoLocator gliedert sich im Wesentlichen in drei Teilsysteme Die Anwendung GeoLocator als solche und zwei Dynamic Link Libraries GPSAPI DLL und der MAPAPI DLL Die folgende Grafik zeigt schematisch den strukturellen Aufbau Benutzeroberflache Fahr zeugverwaltung GPS API Kontrolle serielle Schnitt stelle Ger teverwaltung Koordinatentransformati y y on Postprocessing PSAPI DLL APAPI DLL MAP API Kartendarstellung Zoo men Ein Ausblenden von A Layern und Objekten Ger te Treiber Kommunikation mit Ger t Decodierung der Signale COORDCVT DLL Konvertierung der Daten 8 2777 gt _ DLL zur in standardisierte Struktu oordinatentransformation ren Abb 14 Struktureller Aufbau des Gesamtsystems
69. en fenster innerhalb des durch hwndOwner angegebenen Fensters mit einer bestimmten Gr e Mit mapapi_ResizeMap kann die Gr e nachtr glich jederzeit ver ndert wer den Es werden bzgl Hintergrundfarbe Raster Zoomfaktor etc bestimmte Standard werte verwendet Parameter HWND hwndOwner Fensterhandle des Fensters innerhalb dem die Karte angezeigt wird RECT rcSize Anfangsgr e und Position des Kartenausschnittes in Pixel relativ zum Clientbereich des durch hwndOwner angegebenen Fensters rcSize top Clientbereich des Fensters left rcSize bottom MapAPI Kartenfenster rcSize right DWORD mapStyle Dieser Parameter legt bestimmte Kartenstile fest Eine Kombination folgender Werte ist m glich Kartenstil Beschreibung MS_VISIBLE Karte ist sichtbar analog zum Windows Fenstertil WS_VISIBLE MS_SHOWGRID Auf der Karte wird ein Raster dargestellt MS_SHOWSTATUS Blendet im unteren Bereich des Kartenfensters eine Status zeile ein innerhalb der die Rastergr e eine Ma stabsleiste sowie die aktuelle Mausposition relativ zur Karte geographi sche L nge und Breite angezeigt werden GeoLocator Seite 97 MS_LAYERLIST Offnet im linken Fensterbereich eine explorerahnliche Baumansicht in der die auf der Karte dargestellten Layer aufgelistet werden R ckgabewert Handle des neuen Fensters Dieses Handle wird bei allen weitern Funktionsaufrufen ben tigt die sich auf diese Karte beziehen
70. en Adresse f r Anzahl der Zeichen die gesendet wurden R ckgabewert TRUE im Erfolgsfall FALSE sonst BOOL gpsapi_WriteLog HANDLE hDevice LPSTR IpBuffer Mit gpsapi_WriteLog kann die Ger tetreiber DLL beliebige Meldungen oder Warnungen aufzeichnen Eine Prokollierung ist allerdings nur dann m glich wenn bei den Ger teopti onen dieses Ger tes die Option Prokolldatei aufzeichnen aktiviert wurde Diese Funktion schreibt den angegebnen String mit Uhrzeit und Datum versehen in das dem GPS Ger t zugeordnete Logfile Das Logfile hat den gleichen Namen wie der Ger te treiber des GPS Ger tes allerdings mit der Dateiendung log Logfiles werden immer in das tempor re Verzeichnis des lokalen Rechners geschrieben GeoLocator Seite 65 Parameter HANDLE hDevice Handle des GPS Ger tes LPSTR pBuffer Adresse des zu protokolliernden Textes R ckgabewert TRUE im Erfolgsfall FALSE sonst HANDLE gpsapi_GetDevice DWORD nDevld Die Funktion gpsapi_getDevice ermittelt anhand der Device ID das aktuelle Handle des Ger tes Parameter DWORD nDevIid Eindeutige Ger te ID R ckgabewert Die Funktion liefert das Handle des Ger tes Der R ckgabewert ist NULL falls das Ge r t nicht gefunden wurde DWORD gpsapi_GetDeviceId HANDLE hDevice Diese Funktioniert liefert zu einem gegebenen Ger tehandle die Ger te ID Parameter DWORD nDevId Eindeutige Ger te ID R ckgabewe
71. en Puffer der die zu lesenden Daten aufnehmen soll DWORD cbData Gr e des Datenpuffers in Bytes R ckgabewert TRUE bei Erfolg FALSE sonst GeoLocator Seite 67 Dateireferenz Die unten aufgelisteten Dateien werden zum Compilieren der GPSAPI DLL ben tigt Datei Beschreibung Verzeichnis Source GpsAPI h GpsTypes h Private h GpsAPI cpp Device h cpp ComPort h cpp Connect h cpp DGpsSetp h cpp DGpsStat h cpp DSelDev h cpp Shared h cpp gpsapi def Verzeichnis Res GpsAPI rh gapi_gr rc Bitmaps rc GeoDbase h cpp log h cpp LoadDLL h cpp RegEx h cpp coordcvt h cpp gcalcex h cpp syseldig h cpp cosysdlg h cpp datumdlg h cpp ellipdig h cpp geocalc h cpp geodg_gr rh rc Definition aller exportieren DLL Funktionen Definition aller ffentlich bekannten Datenstrukturen Definition aller globalen nicht exportierten Funktionen und Daten strukturen Implementierung der exportierten und nicht exportieren Funktio nen TDevice generisches GPS Empf nger Objekt TComPort Objekt zum Steuern von seriellen Schnittstellen unter Win32 TConnection Objekt das die Zuordnung von Gps Ger ten TDevi ce Objekten zu Verbrauchern sicherstellt Allgemeiner Setupdialog f r GPS Ger te Statusanzeige f r GPS Empf nger Hilfsdialog zum Ausw hlen installierter GPS Ger te Shared Memory Object Speicherbereich auf den alle Anwendun gen die die DLL verwenden Zugriff haben Pro
72. en TEs Terminal Equipment k nnen unter Nut zung dieser Tr gerdienste beliebige Protokolle h herer Schichten einsetzen sind f r die Kompatibilit t der in den TEs betriebenen Protokollen aber selbst verantwortlich Bei den Telematikdiensten sind auch die Protokolle in den Endeinrichtungen standardisiert wor den Die Tr gerdienste zur Daten bertragung in GSM werden in zwei verschiednen Modi ange geben transparent T oder nicht transparent NT Die transparente Verbindung ist durch Vorw rtsfehlerkorrektur gesichert Abh ngig vom jeweiligen Kanalzustand existiert eine schwankende Bitfehlerrate Der nicht transparente Modus aktiviert f r die zus tzli che Sicherung der Daten bertragung das speziell auf den GSM Funkkanal angepa te Ra dio Link Protocol RLP Durch das ARQ Verfahren des RLP werden Bl cke mit Restbitfeh lern die nach der Vorw rtsfehlerkorrektur eventuell noch im Datenstrom enthalten sind zur Wieder bertragung angefordert Telematikdienste Aufbauend auf die Tr gerdienste in GSM ist eine Reihe von Telematikdiensten teleservi ces TS definiert Die wichtigsten Kategorien sind Sprache Kurznachrichtendienste SMS Zugang zu Message Handling Systemen MHS Zugang und zum Bildschirmtext System sowie Teletext und Fax bertragung GeoLocator Seite 28 Die Sprachdienste waren von jedem Netzbetreiber in der Anfangsphase bis 1991 zu imp lementieren Im folgendende Tabelle enth lt einen Auszug der Telematikdie
73. en als syn chron laufend annehmen man mu jedoch den Empf ngeruhrfehler als Unbekannte be r cksichtigen Damit liegen aber nunmehr f r eine r umliche Positionsbestimmung nicht GeoLocator Seite 16 mehr nur die drei unbekannten Koordinaten des zu bestimmenden Punktes vor sondern es kommt als vierte Unbekannte noch der Uhrfehler des Empf ngers hinzu der auch als unbekannte Additionskonstante in allen gleichzeitig gemessenen Entfernungen interpre tiert werden kann Daher werden die Me gr en als Pseudoentfernungen bezeichnet Um nun die Position des Empf ngers zu erhalten verwendet man einen einfachen trigo nometrischen Trick Am besten l t sich die L sung des Uhrenproblems an einem zwei dimensionalen Beispiel zeigen Auf die dreidimensionale Positionsbestimmung ist es ana log anwendbar Wenn wir annehmen da unsere Empf ngeruhr eine Sekunde vor geht erhalten wir fol gende Situation mit drei Satelliten Die drei gemessenen Standlinien ergeben die drei Schnittpunkte C und D ge Abb 8 Das Prinzip der Positionsbestimmung Nun kann man bereits graphisch erkennen wie sich die tats chliche Position A trotz falschgehender Uhr nicht ver ndert wenn man sie in den Schwerpunkt des Fehlerdrei ecks BCD setzt Daf r m ssen nur zwei Voraussetzungen erf llt sein die Uhr mu f r die Dauer der drei Messungen eine kurzzeitige jedoch hochpr zise Genauigkeit aufweisen und es mu immer ein zus tzlicher Satellit zu
74. en korrigiert Zur Kontrolle des Postprocessings kann man sich die Daten in ArcGPS auch graphisch darstellen lassen Hier kommt das MAP API zum Einsatz C amp N GeoTracker Schnittstelle RS232 GPS API ESRI MAP API Abb 1 GPS API und MAP API als Bestandteile von ArcGPS 2 Digitale Katastralmappe 3 ArcGPS ist ein Softwareprodukt von C amp N das speziell f r das Postprocessing von GPS Daten und deren Ex port in Datenformate f r Geographische Informations Systeme entwickelt wurde Besonders wurde auf die Bedr fnisse von ArcView Anwender eingegangen daher die hnlichkeit in der Namensgebung GeoLocator Seite 9 Fallbeispiel 2 In einem Speditionsunternehmen kommuniziert der Disponent mit den Fahrern der LKW Flotte haupts chlich ber SMS In unregelm igen Abst nden ben tigt er die Position bestimmter Fahrzeuge Er sendet an das Fahrzeug mittels SMS eine Positionsanforde rung Der GPS Empf nger beantwortet die Anforderung mit der aktuellen Fahrzeugpositi on Die Fahrzeugposition soll in Map amp Guide das im Betrieb bereits zur Routenplanung eingesetzt wird visualisiert werden Jedes Fahrzeug wird mit einem GPS Empf nger und einem GSM Modem od eingebau tem GSM Modul ausgestattet Der lokale PC wird ebenfalls mit einem GSM Modem aus gestattet Mithilfe des GPS APIs ist es m glich sowohl Textnachrichten an den Fahrer als auch Positionsanforderungen an den GPS Empf nger im Fahrzeug zu sende
75. en und Versenden von Short Messages vorhand en Damit nicht jedesmal beim Verfassen einer Nachricht die Nummer erneut eingetippt werden mu kann man sie aus dem Telefonbuch ausw hlen Telefonbuch KE Glaser Karl jun Led Bernhard Neuer Eintrag Name Telefonnummer Anmerkung 436641714547 Goldw rth Hageneder Franz 436763114939 Abbruch 436764759093 GSM Modul Oberegger 436644508828 GSM Modul Oberegger Werner 436644415026 Handy E Pauch Barbara 326644514063 Pichler Helmut 436642840748 Pichler Michael 436644514140 SchaubmairAndreas 436644447044 Tilzer Stefan 436 765237161 wodo 436641328645 Eigenschaften L schen Dateireferenz Verzeichnisstruktur Das gesamte Projekt GeoLocator einschlie lich MapAPI und GPSAPI umfa t folgende Verzeichnisse exe exe data Doku GeoLocator GeoLocator Doku GeoLocator Source GeoLocator Res GeoLocator Obj GpsAPI GpsDevs Executables enth lt die Anwendung GeoLocator exe selbst und alle zum Betrieb notwendigen DLL s MapAPI dll GPSAPI dII NMEA gps Oncore gps Target gps CoordCvt dll Koordinaten transformation Verzeichnis f r Fahrzeugverwaltung Vehicles dat Telefonbuch PhoneBk dat und Ereignisdateien Requests dat GpsPos dat SMSin dat SMSout dat Projektdokumentation Ger tespezifikationen Datenbl tter Verzeichnis f r Projektdateien Sourcecodes und Reso
76. es Layers ist in diesem Fall die leere Zeichenkette Er kann nachtr glich in der Baumansicht umbenannt werden Folgende Dateiformate werden zur Zeit unterst tzt Dateiendung Beschreibung Gescannte Karte die in einem St ck vorliegt Klasse TBitmapLayer Karte die gest ckelt vorliegt Klasse TBmpPieceLayer COR oder UNC Internes Format von C amp N beinhaltet GPS Positionen als ASCII Text Klasse TCORLayer DXF Datei im AutoCAD DXF Format Klasse TDXFLayer R ckgabewert Handle des neuen Layers Konnte der Layer nicht erzeugt werden ist der R ckgabe wert NULL HANDLE mapapi_GetFirstLayer HANDLE hMap Die Funktion liefert ein Handle auf den ersten Layer der Karte unabh ngig der Zugeh rig keit zu einer Gruppe Parameter HANDLE hMap Handle einer bestimmten Karte R ckgabewert Handle des Layers Der R ckgabewert ist NULL wenn die Karte keinen Layer besitzt GeoLocator Seite 103 HANDLE mapapi_GetNextLayer HANDLE hMap Die Funktion liefert jeweils das n chste Layer Handle der Karte unabh ngig der Zugeh rigkeit zu einer Gruppe Parameter HANDLE hMap Handle einer bestimmten Karte R ckgabewert Handle des Layers Der R ckgabewert ist NULL wenn die Karte keine weiteren Layer besitzt HANDLE mapapi_GetCurSelLayer HANDLE hMap Die Funktion mapapi_GetCurSelLayer liefert den momentant markierten Layer der Kar te Parameter HANDLE hM
77. eschreibung Verzeichnis Source MapAPI h Definition aller exportieren DLL Funktionen MapAPI cpp Implementierung der exportieren Funktionen MapFrame h cpp TMapFrameWnd Rahmenfenster Objekt MapWnd h cpp TMap Fenster Objekt f r den eigentlichen Kartenausschnitt LayrTree h cpp Objekt zur Anzeige der Gruppen und Layer Symbol h cpp Objekt zum Zeichnen von Layer Symbolen Group h cpp TGroup Layer h cpp TLayer Basisklasse f r alle anderen Layer VectLayr h cpp TVectLayer Basisklasse f r alle vektororientierten Layer CORLayer h cpp TCORLayer DXFLayer h cpp TDXFLayer BmpLayer h cpp TBitmapLayer BmpPcLyr h cpp TBmpPieceLayer DLayrOpt h cpp Layer Optionen Dialog DMapOpt h cpp Karten Optionen Dialog DMousPos h cpp Fenster zur Anzeige von Mausposition und Ma stabsleiste PrevWnd h cpp Voransichtsfenster Palette h cpp Def Impl von Funktionen zum Auslesen von Paletteneintr gen aus einer Bitmap Datei InfoWnd h cpp TDistInfoWnd Dialog zur Anzeige von Distanzen zw GeoLocator Seite 109 Verzeichnis Res MapAPI rh MapAPI_gr rc Bitmaps rh rc GeoDbase h cpp log h cpp LoadDLL h cpp RegEx h cpp coordcvt h cpp gcalcex h cpp syseldlg h cpp cosysdlg h cpp datumdlg h cpp ellipdig h cpp geocalc h cpp geodg_gr rh rc Textfile h cpp getnames h cpp corpfile h cpp Definitionen und Konstanten f r alle Resourcen Beinhaltet alle sprachabh ngigen deutschen Resourcen Dialo ge String
78. extMsg DWORD dwDevlId GPSAPI_RECIPIENT pRecp LPSTR pszText DWORD msgld Sendet eine Textnachricht an den angegebenen Empf nger Parameter DWORD dwDevId Ger tde ID des entsprechenden Ger tes GPSAPI_RECIPIENT pRecp Gibt die Adresse des Empf ngers Fahrzeuges an LPSTR pszText Text der an das Fahrzeug versandt werden soll Je nach Ger t kann es unterschiedli che Maximall ngen geben bei SMS kann man maximal 160 Zeichen versenden Zu lange Zeichenketten werden ohne R ckmeldung abgeschnitten DWORD msgId Von der aufrufenden Anwendung angegebener Schl ssel Diese ID wird vom GPSAPI verwendet um die Anwendung ber den Status gesendet Fehler der Nachricht zu benachrichtigen R ckgabewert TRUE im Erfolgsfall FALSE sonst int gpsapi_GetGpsData HANDLE hConnection UINT uType GPSAPI_ORIGINATOR IpOriginator SYSTEMTIME sysTime LPVOID IpData UINT uSize Mit dieser Funktion liest eine Anwendung das jeweils n chste GPS Ereignis aus der Ereig niswarteschlange Normalerweise wird diese Funktion nach Erhalt einer GPS Ereignisbe nachrichtigung aufgerufen um die GPS Daten zu entgegenzunehmen Anmerkung Diese Funktion wird nicht ben tigt wenn die Anwendung beim Aufbau der Verbindung eine Callback Funktion angegeben hat In diesem Fall werden n mlich die GPS Daten sofort nach Erhalt der Callback Funktion bergeben und nicht in der GPS Ereigniswarteschlange zwischengespeichert Parameter
79. ey char m_szAddress VHCL_MAXID vehicle address phone number TVehicleLayerList TVehicleLayer HANDLE m_hLayer associated map layer char m_szAddress VHCL_MAXID vehicle address phone number Abb 18 Objektmodell Fahrzeugverwaltung Da die Fahrzeugverwaltung nur f r eine relativ kleine Anzahl von Fahrzeugen ausgelegt ist n lt 1000 werden die Daten von TVehiclelist in die Textdatei Vehicles dat kurzer hand mit den Windows Profilefunktionen WritePrivateProfileString GetPrivateProfile String gespeichert bzw gelesen Ein Eintrag f r ein Fahrzeug sieht wie folgt aus 00000007 Name VW Passat Variant o UU 731M d 436764759093 Group l 1 LocateParams 70E70300002C0100006054000000E1000000001C F r jedes Fahrzeug wird eine eigene Section angelegt Wichtig sind die Eintr ge d und GpsDevice GpsDevice identifiziert das Ger t ber das das Fahrzeug erreichbar ist Es handelt sich dabei um den Index auf die am System angeschlossenen Ger te 1 bedeutet im konkreten Fall also da das Fahrzeug ber das erste an den PC angeschlossene GPS Ger t erreichbar ist d ist die Adresse des Fahrzeuges Im oben angef hrten Beispiel handelt es sich offen sichtlich um eine Mobilrufnummer beim angeschlossenen GPS Ger t handelt es sich daher um ein GSM Modul Rufnummern m ssen brigens immer im Internationalen For mat 43 angegeben werden Hinter LocateParams
80. f r die Motorola Oncore GPS Empf nger Serie entwi ckelt Die Daten werden ber eine serielle Schnittstelle je nach Ger t entweder mit 9 600 oder 19 200 Baud acht Datenbits einem Stopbit und ohne Parit t gesendet Jeder Da tensatz beginnt mit zwei at Symbolen und einer Satzkennung die ebenfalls aus zwei Zeichen besteht Die Satzkennung bestimmt L nge und Inhalt des nachfolgenden bin ren Datenstroms Abgeschlossen wird jeder Datensatz mit einer Pr fsumme mit der L nge von einem Byte und lt CR gt lt LF gt hex OD und hex OA Es wird an dieser Stelle nur der wichtigste Datensatz der Ba Datensatz f r 6 Kanal bzw der Ea Datensatz f r 8 Kanal Empf nger angef hrt Aus diesen Datens tzen werden die Daten f r die GPSAPI_POS Datenstruktur entnommen Bez glich aller ande ren Datens tze sei auf das Handbuch des Empf ngers hingewiesen Oncore User s Guide von Motorola BamdyyhmsffffaaaaoooohhhhmmmmvvhhddtntimsdimsdimsdimsdimsdimsdsC lt CR gt lt LF gt Jeder Buchstabe repr sentiert jeweils ein Byte L nge der Nachricht 68 Bytes Parameter Auszug aus dem Oncore User s Guide von Motorola Date m month 1 12 d day 1 31 yy year 1900 2079 Time h hours 0 23 m minutes 0 59 seconds 0 60 ffff fractional seconds 0 999 999 999 0 0 to 0 999999999 Position aaaa latitude in msec 324 000 000 324 000 000 90 to 90 0000 longitude in msec 6
81. fp nger erweiterbar ist ohne da bereits bestehende Komponenten des GPSAPIs neu compiliert werden m ssen Ziel Nummer zwei war die Entwicklung eines MAPAPIs eines Aplication Programming In terface zur visuellen Darstellung von GPS Daten bzw von Vektordaten Um diese beiden APIs herum sollte eine Anwendung entwickelt werden die sich dazu eignet die beiden Komponenten ausgiebig zu testen aber auch die Leistungsf higkeit der Produkte zu demonstrieren der GeoLocator Kapitel 1 beschreibt das System auf das die Fahrzeugortung beruht das Global Positi ong System NAVSTAR GPS Die Komponenten des Systems werden vorgestellt M g lichkeiten aber auch die Grenzen des Systems behandelt Kapitel 2 gibt eine berblick ber des Global System For Mobile Communications besser bekannt als GSM Es wird die grunds tzliche Funktionsweise des Systems erl utert sowie die einzlenen Komponenten berblicksweise vorgestellt N her vorgestellt wird das Short Message Service SMS das wie wir sehen werden f r die Fahrzeugortung von besonde rer Bedeutung ist Kapitel 3 zeigt den GeoLocator als Instrument zur weltweiten Ortung von Objekten Er stellt das Verbindungsglied zwischen GPSAPI und MAPAPI dar Kapitel 4 dokumentiert das GPSAPI als solches Aufbau Schnittstellen Objektmodelle interne Zusammenh nge und die derzeit implementierten Ger tetreiber Kapitel 5 widmet sich dem API zur Darstellung von Kartenmaterial und GPS Daten dem Map
82. ger Index GSM Anwendung CMS ERROR 321 Fehler ung ltiger Index AT CMGS Nachricht senden Mit diesem Kommando werden Nachrichten versandt Je nach eingestelltem Nach richtenformat siehe CMGF m ssen die Parameter des Kommandos unterschiedlich angegeben werden lt adress gt bezeichnet die Adresse des Empf ngers Endezeichen ist 7 ASCII Zeichen 26 Der Text kann alle existierenden Zeichen enthalten mit Ausnahme des Z Zeichens Nachricht senden im Textmodus AT CMGS lt address gt lt CR gt lt ascii text gt lt Z gt Im PDU Modus muB zuerst die Lange der PDU Protocol Data Unit angegeben wer den Adresse Text und andere Parameter sind in der PDU selbst enthalten Nachricht senden im PDU Modus Details dazu siehe Abschnitt Aufbau einer AT CMGS lt ength gt lt CR gt lt pdu hex string gt lt Z gt Antwort des GSM Ger tes im Erfolgsfall CMGS gt OK wobei lt mr gt eine Nachrichten Referenznummer darstellt die vom GSM Modul generiert wird Sie beginnt mit O und wird mit jeder ausgehenden Nachricht unabh ngig davon ob sie erfolgreich gesendet werden konnte oder ob ein Fehler aufgetreten ist um eins erh ht Sie hat einen Zyklus von 256 d h auf 255 folgt 0 Hinweis Diese Nummer ist kein Speicherplatz Index ausgehende Nachrichten werden nicht gespeichert Beispiel zum Senden einer Nachricht im PDU Modus Anwendung GSM AT CMGF 0 setze PDU Modus GSM Anwendung OK PDU
83. h Kurznachrich ten zu versenden Mit dem Kurznachrichtendienst in Verbindung mit Mehrwertdiensten beispielsweise Mailboxsysteme mit automatischem Versand einer Kurznachricht bei ge speicherten Anrufen geht das Dienstangebot der GSM Netze ber den Umfang der Dienste in den Festnetzen hinaus 5 Vorausgesetzt es wird ein 7 Bit Code zur Codierung der alphanumerischen Nachricht verwendet Alternativ dazu ist auch die Verwendung des 8 Bit ASCII Codes m glich In diesem Fall kann die Nachricht nur 140 Zeichen umfassen allerdings ist diese M glichkeit in einigen sich derzeit am Markt befindlichen Endger ten nicht implementiert GeoLocator Seite 29 Fur den Kurznachrichtendienst muB ein Netzbetreiber ein Dienstzentrum Service Center einrichten das im Store and Forward Betrieb Kurznachrichten entgegennimmt von Mo bilstationen e mail Fax etc und diese dann gegebenenefalls zeitversetzt an den Emp fanger unabh ngig von seinem Aufenthaltsort weiterleitet Umgekehrt ist es grunds tzlich m glich Kurznachrichten auch an Festnetzkunden weiterzuleiten per Fax e mail etc Die Kurznachrichten werden ber ein verbindungsloses paketvermittelndes Protokoll bertragen Der Empfang einer Nachricht mu von der Mobilstation bzw dem Service Cen ter best tigt werden Die bertragung von Kurznachrichten ist gesichert Treten w hrend der bertragung einer Nachricht St rungen auf wird sie wiederholt R ckmeldungen ob und wann eine
84. hricht sofort auf dem Display dargestellt in Class 1 im ME Mobi le Equipment also im Speicher des Ger tes selbst abgelegt in Class 2 auf der SIM Karte gepsichert und bei Class 3 an ein TE Terminal Equipment an ein angeschlos senes Ger t ausgegeben Diese Option f r Nachrichtenklassen mu allerdings nicht in allen GSM Ger ten implementiert sein 17 Alphabet und 7 Bit Codierung sind definiert in ETSI GSM 03 38 Digital cellular telecommunications system Phase 2 Alphabets and language specific information GeoLocator Seite 90 Service Center Time Stamp SCTS Die SCTS informiert den Empf nger dar ber wann die Nachricht im SMSC eingetrof fen ist Die Zeitangabe bezieht sich auf Lokalzeit 1 octet_ 2 octet_ 3 4 octet_ 5 6 octet__7 octet Beispiel 9 9 5 0 1 2 3 1 5 4 1 3 00 bedeutet 21 Mai 1999 13 45 31 Uhr Die Zeitzone gibt die Differenz Anzahl der Viertelstunden zwischen Lokalzeit und GMT an Validity Period VP Das VP Feld bestimmt die Gultigkeitsdauer einer Kurznachricht Konnte die Nachricht vom SMSC nicht innerhalb der angegebenen Zeitspanne zugestellt werden kann sie vom SMSC gel scht werden Es existieren zwei M glichkeiten die Validity Period festzulgen relativ oder absolut Im ersten Fall relative Zeitangabe besteht das VP Feld nur aus einem Octet Es ist ein Wert der angibt wie lange die Nachricht g ltig ist beginnend mit dem Zeitpunkt ihres Eintreffens im S
85. ich auf die NMEA 0183 Spezifikation die von vielen GPS Empf ngern unter st tzt wird Gem NMEA 0183 werden die Daten ber eine serielle Schnittstelle mit 4 800 Baud acht Datenbits einem Stopbit und ohne Parit t gesendet Jeder Datensatz beginnt mit einem Dollar Zeichen Darauf folgt die Satzkennung Sie kennzeichnet den Inhalt der nachfolgenden Daten die jeweils durch Beistriche getrennt sind Nach dem letzten Datum folgt ein Stern als Endezeichen und eine Kontrollsumme Die Kontrollsumme ist der XOR Wert aller Zeichen beginnend mit dem 1 Zeichen nach dem Dollar und endend mit dem letzten Zeichen vor dem Stern Abgeschlossen wird der Datensatz mit lt CR gt lt LF gt hex OD und hex Die maximale L nge eines Datensatzes ist mit 79 Zeichen begrenzt In der vorliegenden Implementierung wertet der NMEA GPS Treiber die GPGGA und die GPRMC Datens tze aus Sie sind wie folgt definiert GPGGA hhmmss ss ddmm mmm n dddmm mmm e q S y y 4 2 9 9 2 t t 111i CC lt CR gt lt LF gt Der GPGGA Datensatz liefert u a Zeitpunkt der Positionsbestimmung UTC geographi sche L nge und Breite Anzahl der verwendeten Satelliten HDOP und einen Qualit tsindi kator Parameter Auszug aus der NMEA 0183 Spezifikation hhmmss ss UTC of position fix hh hours 00 24 mm minutes 00 59 55 55 seconds 00 00 59 99 ddmm mmm n laittude dd degrees 00 90 mm mmm minutes 00 000 59 999 n
86. ient PC MAP API gt MAP API Abb 3 Schematicher Aufbau des Client Server Ortungssystems Wesentliche Komponente der GPS Server Software ist das GPS API dessen Aufgabe es ist die GPS Daten und die Korrekturdaten der GPS Referenzstation einzulesen zu deko dieren und an das Hauptmodul weiterzuleiten Der GPS Server berechnet aus korrespon dierenden GPS und Korrekturdaten die exakten Positionen der mobilen Einheiten und legt diese in einer Oracle Datenbank ab Zus tzlich werden die Positionsdaten an die Cli ent Anwendungen aktiv weitergeleitet Auf der Client Seite wird das MAP API zum Darstellen des Betriebsgelandes Vektor Daten oder Bitmap und der Fahrzeugpositionen verwendet GeoLocator Seite 11 Kapitel 1 GPS Global Positioning System NAVSTAR Global Positioning System D er Krieg ist V ater aller D ing Dieses Zitat trifft wohl auf kein anders System in h herem Ausma zu als auf Global Posi tioning Systeme Wenn hier von GPS die Rede ist so ist in erster Linie das vom amerika nischen Verteidigungsministerium in Auftrag gegebene und von diesem betriebene NAVSTAR Global Positioning System gemeint Das NAVigation Satellite Timing And Ran ging Global Positional System ist ein wetterunabh ngiges weltweit verf gbares Satelli ten Navigationssystem Neben seinem milit rischen Einsatzbereich wurde aber auch sehr bald die Anwendungsm glichkeit im zivilen Bereich erkannt Zielsetzung von GPS Es sollte die Navig
87. iert So wird sie inzwischen auf folgenden Gebieten eingesetzt e Navigation f r Luft und Seefahrt e Vermessungstechnik e GIS Datenerfassung e Fahrzeugortung Logistik Ver und Entsorgungsbetriebe e Leitsysteme f r Rettung Polizei Feuerwehr und Katstrophenschutz e technische Geologie Erderkundung Plattentektonik e Bestandsaufnahmen e Bergwesen e Arch ologie e Topographie e Hydrographie e Kulturtechnik und Wasserwirtschaft Planung von Versorgungsleitungen e Forst u Holzwirtschaft landwirtschaftliche Fl chenbestimmung e Umwelttechnik e Zeitme technik Blindenhilfe GeoLocator Seite 21 Kapitel 2 GSM Global System For Mobile Communications Einleitung Damit ein Fahrzeug geortet werden kann d h daB die Fahrzeugposition an einem belie bigen anderen Punkt bekannt ist m ssen die GPS Daten an den zentralen Leitstand bertragen werden Dazu bieten sich grunds tzlich folgende M glichkeiten an e Daten bertragung per Funk e Daten bertragung per Satellitenverbindung International Mobile Satellite Organization INMARSAT e Daten bertragung per GSM Funk hat nur eine beschr nkte Reichweite In sterreich sind Funkmodems mit einer ma ximalen Sendeleistung von 0 5 Watt zul ssig In der Praxis erreicht man damit eine Reichweite von h chstens 5 bis 10 km Entfernung Sind gr ere Strecken zu berbr cken scheidet diese M glichkeit also aus F r weltweite Daten bertragung bietet I
88. igt wie die Nachricht zu behandeln ist als FAX Voice SMS usw DCS Data Coding Scheme Parameter gibt an wie die Nutzdaten User Data codiert sind 7 bit oder 8 bit SCTS Service Center Time Stamp Parameter gibt Zeitpunkt des Eintreffens der Nach richt im SMSC an VP Validity Period Parameter gibt die Dauer an wie lange die Nachricht vom SMSC gespeichert werden mu UDL User Data Length Anzahl der Zeichen der Kurznachricht UD User Data Daten der Kurznachricht Protocol Data Unit Type PDU Typ SMS SUBMIT SMS DELIVER bits 7 6 5 4 3 2 0 bits 7 6 5 4 3 2 1 0 er one wel 0 0 0 0 1 0 1 0 Replay Path nicht gesetzt 1 Replay Path gesetzt UDHI 0 UD beinhaltet nur Kurznachricht 1 UD beinhaltet zus tzlich zur Kurznachricht einen Header SRI wird nur vom SMSC gesetzt 0 keine Statusmeldung wird gesendet 1 eine Statusmeldung soll an das Endger t zur ckgeschickt werden SRR Statusmeldung wird nicht angefordert 1 Statusmeldung wird angefordert GeoLocator Seite 88 VPF bit4 bit3 0 0 Validity Period Feld nicht vorhanden 0 1 reserviert 1 0 VP Feld vorhanden relative Dauer 1 1 VP Feld vorhanden absolute Zeitangabe MMS wird nur vom SMSC gesetzt 0 Im SMSC wind weitere Nachrichten f r diese MS vorhanden 1 Keine weiteren Nachrichten vorhanden RD 0 Weist das SMSC an eine Nachricht zu akzeptieren die dieselbe MR und DA besitzt als eine zuvor gesendete und noch nicht zugestellte Nachricht 1 Weist
89. in GPS basiertes Fahrzeugortungssystem entstehen das es erm glicht die von einem GPS Empf nger erhaltenen Daten auszuwerten zu protokollie ren und geeignet darzustellen Als Hintergrund sollen sowohl digitalisierte Landkarten auch Satellitenbilder als auch vektororientierte Daten Leitungssysteme Stra en Ver messungspunkte zus tzliche Orte und andere Objekte vom GPS Empf nger aufgezeich nete Routen verwendet werden k nnen Grunds tzlich sind zwei Einsatzvarianten m glich a als mobiles System z B ein Lap top an den der GPS Empf nger direkt angeschlossen wird und b als ortsgebundener Leitstand der die Verbindung zum GPS Empf nger meist zu einem Fahrzeug ber ein Datenfunkmodem oder ber GSM aufbaut Zus tzlich sollen weitere ortsrelevante Informationen aufgezeichnet werden k nnen Die zus tzlichen Informationen k nnen entweder direkt vom Benutzer ber die Tastatur ein gegeben werden z B Bezeichnung des aktuellen Standortes oder von einem Me ger t z B Me werte von Bodenproben stammen Auf dem verwendeten Kartenmaterial nicht existierende Orte oder Objekte k nnen vom Benutzer manuell eingetragen werden Die Objekte k nnen zu Gruppen zusammengefa t werden und wahlweise eingeblendet werden Mit Hilfe der integrierten Fahrzeugverwaltung besteht die M glichkeit ausgew hlte Fahr zeuge sofort auf Befehl oder in Intervallen periodisch zu orten Funktionsumfang Im Zuge der Entwicklu
90. in Zusammenarbeit mit ORF seit 15 Mai 1998 ge gen Lizenzgeb hr ein DGPS Service an GeoLocator Seite 20 Postprocessing Bei dieser Art der Positionsbestimmung wird die exakte Position erst im nachhinein be stimmt F r Echtzeitanwendungen scheidet diese M glichkeit zwar aus im Bereich Ver messungswesen ist dieses Verfahren jedoch weit verbreitet Im Unterschied zu DGPS werden die Korrekturdaten vom ortsfesten Empf nger nicht an den Feldempf nger ber tragen sondern die gemessenen Positionen nach erfolgter Erfassung in einen PC bertra gen und die exakten Positionswerte mittels geeigneter Postprocessing Software berech net Inverses Postprocessing Dabei handelt es sich um eine neue Technik die derzeit noch kaum eingesetzt wird ob wohl das Prinzip dem des Differential GPS sehr hnlich ist Der wesentliche Unterschied besteht darin da der Feldempf nger Rover nicht seine Positionen zum Leitstand schickt sondern seine Satelliten Rohdaten Die Position wird erst im Leitstand mit Hilfe der Positionsdaten des ortsfesten Empf ngers berechnet Vorteil dabei ist da man als Feldempf nger auch billigere Ger te einsetzen kann ohne dabei einen merklichen Quali t tsverlust hinnehmen zu m ssen Nachteil dabei ist allerdings da die Position nur im Leitstand und nicht vor Ort verf gbar ist Zivile Anwendungsgebiete Neben der milit rischen Nutzung hat sich die GPS Technologie bereits in vielen zivilen Bereichen etabl
91. inierte Nachricht an das Hauptfenster der Anwendung Zus tzlich zur Art wie das GPSAPI die Anwendung ber Ereignisse benachrichtigt wird mit dem Aufruf von gpsapi_Connect auch bereits festgelegt welche Ereignisse eine Be nachrichtigung ausl sen sollen Folgende GPS Ereignisse stehen zur Verf gung Ereignis Id Beschreibung GPSAPIEV POSITION Eine GPS Position ist an einem GPS Ger t eingetroffen GPSAPIEV SATTRK Der Trackingstatus ist verf gbar GPSAPIEV RAWDATA GPS Daten liegen im Rohformat vor Ein Datensatz wird di rekt vom GPS Empf nger an die Anwendung durchgereicht Das erm glicht Spezialanwendungen ganz bestimmte Daten vom Empf nger auszuwerten ohne selbst das Schnittstellen Handling bernehmen zu m ssen Wichtig ist da bei der Abfrage der Daten mittels gpsapi _GetGpsData der Emp fangspuffer gen gend gro ist Die maximale L nge eines Rohdatensatzes kann ber die GPSDEVCAPS ermittelt wer den GPSAPIEV TEXT Eine Textnachricht ist eingetroffen gpsapi _Connect Initialize DeviceResult lt GpsEventProc od WM_GPSEVENT Die Anwendung wird bei einem GPS Ereignis durch eine Nachricht oder durch die Call back Funktion GpsEventProc benachrichtigt GeoLocator Seite 48 Eine Anwendung kann gleichzeitig mehrere Verbindungen zu einem GPS Ger t aufbauen So ist es durchaus denkbar daB ein Thread der Anwendung Positionen behandelt ein weiterer Thread sich nur um Textnachrichten ki
92. ist GMI_LAYER Der Men eintrag ist genau dann verf gbar wenn ein Layer der Gruppe markiert ist Werden beide Flags gesetzt ist der Men eintrag nat rlich immer verf gbar R ckgabewert TRUE bei Erfolg FALSE sonst HANDLE mapapi_AddLayer HANDLE hMap HANDLE hGroup const char IpszTitle const char IpszFilename Mit der Funktion mapapi_AddLayer k nnen beliebige Layer in eine Karte eingef gt werden Es kann sich dabei um neue oder leere Layer handeln oder um Layer die aus einer Datei IpszFilename eingelesen werden sollen GeoLocator Seite 102 Parameter HANDLE hMap Handle einer bestimmten Karte HANDLE hGroup Handle der Gruppe der der Layer angeh ren soll Ist dieses Gruppenhandle NULL so wird der Layer in die aktuell markierte Gruppe der Karte eingef gt Ist keine Gruppe markiert so wird er in die letzte Gruppe der Karte eingef gt LPSTR IpszTitle Name des Layers Dieser Name wird in der Baumansicht angezeigt Ist pszTitle NULL dann wird standardm ig der Dateiname ohne Pfad als Layername verwendet LPSTR pszFilename Vollst ndiger Dateiname eines existierenden Layers Handelt es sich um einen g lti gen Dateinamen so werden die Daten des Layers aus dieser Datei gelesen Ist der Dateiname NULL so wird ein neuer Vektorlayer in der Karte eingef gt der zu diesem Zeitpunkt noch keine Position enth lt Es ist m glich sowohl pszTitle als auch pszFilename auf NULL zu setzen Der Name d
93. iteres auch von der CD aufrufen GeoLocator exe Es wird in diesem Fall jedoch nicht das Data Unterverzeichnis als Arbeitsverzeichnis ver wendet sondern das tempor re Verzeichnis des lokalen Arbeitsplatzrechners Sollen also bereits vorhandene Dateien z B Fahrzeugverwaltung Adre buch etc verwendet wer den so sind diese vom Data Verzeichnis der CD in das tempor re Verzeichnis zu kopie ren und das ReadOnly Bit zur ckzusetzen Das gleiche gilt auch dann wenn das Pro gramm von einem Netzwerklaufwerk gestartet wird und der Benutzer keine Schreibrech te auf das Data Verzeichnis besitzt Wird das Programm zum ersten Mal gestartet so sind sofern vorhanden Gps Ger te treiber ber das Men Extras GPS Setup einzurichten Deinstallation Zur Deinstallation ist erstens das Programmverzeichnis in das das System kopiert wurde zu l schen und zweitens die Eintr ge in der Registry zu entfernen Folgende drei Eintr ge k nnen gel scht werden HKEY LOCAL MACHI NE SOFTWARE Communication amp Navigation Geolocator HKEY LOCAL MACHINE SOFTWARE Communication amp Navi gation GPSAPI HKEY LOCAL NE SOFTWARE Communication amp Navi gation MAPAPI Die letzten beiden Eintr ge sollten jedoch nur dann gel scht werden wenn au er dem GeoLocator keine andere Anwendung das GPSAPI oder das MAPAPI verwendet GeoLocator Seite 111 Konfiguration Wenn das Programm zum ersten mal gestartet wird und ein GPS Ger
94. jekt Definitionsdatei Definitionen und Konstanten f r alle Resourcen Beinhaltet alle sprachabh ngigen deutschen Resourcen Dialoge Strings Bitmaps Icons Cursors Verzeichnis misc Source TGeoDatabase Objekt zur Kapselung der DLL Aufrufe zur Koordi natentransformation Logfile Funktionen f r Debugging Zwecke eigenes TDIl Objekt kapselt LoadLibrary FreeLibrary TRegistry Objekt vereinfacht Zugriff auf Registry Koordinatenkonvertierungsfunktionen Erweiterte Funktionen f r den Zugriff auf BlueMarbles Koordinaten system Datei z B L schen von Eintr gen Dialog zum Ausw hlen eines Koordinatensystems Dialog zum Bearbeiten Definieren von Koordinatensystemen Dialog zum Bearbeiten Definieren eines geod tischen Datums Dialog zum Bearbeiten Definieren von Ellipsoiden Koordinaten Transformationsdialog Resourcen der Koordinatendialoge GeoLocator Seite 68 GPS Geratetreiber Ein GPS Ger tetreiber enth lt im wesentlichen nur einen Konfigurationsdialog um emp f ngerspezifische Einstellungen vornehmen zu k nnen sowie eine Decodierroutine an die alle von der Schnittstelle des GPS Empf ngers eingelesenen Daten weitergeleitet werden Aufgabe der Decodierungsfunktion ist es den Datenstrom nach g ltigen GPS Datens tzen zu durchsuchen und erkannte Datens tze an das GPSAPI zur ckzuliefern Wird z B eine GPS Position erkannt f llt der GPS Treiber die Datenstruktur GPSAPI_POS mi
95. kehrskan le umfa t das BSS im wesentlichen alle Funktionen der OSI Schicht 1 Mobilvermittlungsnetz Switching and Management Subsystem SMSS ISC PLMN amp Internat PSTN ISDN PDN GMSC HER VER Abb 11 Die Komponenten des SMSS MSC Mobile Switching Center Location Register VLR Visited Location Register GMSC Gateway MSC ISC International Switching Center Das Mobilvermittlungsnetz Switching and Management Subsystem SMSS besteht aus einem oder mehreren Mobilvermittlungszentren Mobile Switching Center MSC und den Datenbanken welche die zur Vermittlung und Diensterbringung notwendigen Daten spei chern Heimatregister Home Location Register HLR und Besucherregister Visited Loca tion Register VLR Mobilvermittlungszentrum Mobile Switching Center Das MSC erf llt alle vermittlungstechnischen Funktionen eines Festnetz Vermitt lungsknotens wie Wegsuche Signalwegschaltung und Dienstmerkmalsbearbeitung Der Hauptunterschied zwischen einem ISDN Vermittlungsknoten und einem MSC ist da ein MSC die Zuteilung und Verwaltung von Funkressourcen und die Mobilit t der Teilnehmer zu ber cksichtigen hat Das MSC hat deshalb zus tzliche Funktionen f r die Aufenthalts registrierung von Teilnehmern und f r den Handover von Verbindungen beim Wechsel von Zellen vorzusehen GeoLocator Seite 25 Jedes GSM PLMN Public Land Mobile Network kann mehrere MSC besitzen von denen jedes f r einen Teil de
96. ll Fur unseren Zweck ben tigen wir nur PID OOH PDU ist eine Short Message Detailinformationen siehe GSM0340 Kapitel 9 2 3 9 Data Coding Scheme DCS Das DCS Feld spezifiziert das Datencodierschema der Nutzdaten User Data ver wendetes Alphabet und Nachrichtenklasse bits 7 6 5 4 3 2 1 0 oe x x x 0 0 00H 7 bit Codierung Standardalphabet 11 1 1 0 1 1 0 F6H 8 bit Codierung Nachrichtenklasse 2 Die Bits 7 4 spezifizieren das Codierungsschema Die Bits 3 0 werden in Abh ngig keit davon wie folgt verwendet coding group bits 7 4 bits 3 0 0000 Alphabet 0000 Default Alphabet 7 bit Codierung in UD 0001 1111 reserviert 0001 1110 reservierte Codierungsgruppen 1111 Datencodierung Nachrichtenklasse bit 3 reserviert auf 0 gesetzt bit 2 Datencodierung O Default alphabet 7 bit data coding in the User Data 1 8 bit Datencodierung bit 1 bit 0 Nachrichtenklasse 0 0 ClassO immediate display 0 1 Classi ME Mobile Equipment specific 1 0 Class2 SIM specific message 1 1 Class3 TE Terminate Equipment specific 7 Bit Alphabet Wird das Standardalphabet verwendet so werden die Nutzdaten User Data im 7 bit Alphabet codiert Wird dieses Alphabet verwendet kann die Nachricht aus bis zu 160 Zeichen statt 140 Zeichen in 8 bit Codierung bestehen Nachrichtenklassen Die Nachrichtenklassen spezifizieren wie die Nachricht behandelt werden soll In Class 0 wird die Nac
97. llen L1 und L2 emp fangen k nnen kann der Einfluss der Ionosph re kompensiert werden Einflu der Troposph re Auch die Troposph re beeinflusst die Ausbreitung der Satellitensignale troposph rische Refraktion Entscheidend ist hierbei der H henwinkel der Satelliten Multipath Dieser Effekt tritt infolge von Mehrfachreflexionen des Signals auf Diese Mehrwegaus breitung des Satellitensignals tritt vor allem in der N he von reflektierenden Fl chen auf und kann die gemessenen Phasen bis zu mehreren Zentimetern verf lschen Multipath kann durch spezielle Antennen oder eine geeignete Wahl des Antennenstandortes redu ziert oder ganz vermieden werden Auch Sender oder sonstige elektrische Anlagen Hoch spannungsleitungen Oberleitungen Transformatoren in unmittelbarer N he der Antenne k nnen die Satellitensignale beeinflussen Multipath Effekte treten auch in stark bewalde tem Gebiet auf Genauigkeit der Satellitenumlaufbahnen Zwischen der vorausberechneten und der tats chlichen Umlaufbahn der Satelliten gibt es geringf gige Abweichungen den sogenannten Ephemeridenfehler Genauigkeit der Uhren Auch die hochpr zisen Atomuhren sind nicht frei von Abweichungen Abschattung der Signale durch Horizont berh hung Abschattung tritt unter dicht belaubten B umen unter einer berh ngenden Felswand und in engen Stra enschluchten auf Dadurch ist der gleichzeitige Empfang von vier ver schiedenen Satellitensignalen erschwert u
98. mittels der Funktion gpsapi_GetDevCaps bestimmte Eigenschaften des Empf ngers abfragen Daf r mu die wie folgt definierte Datenstruktur bereitgestellt werden typedef struct _GPSDEVCAPS char szName GPSAP MAXDEVNAME har szLibrary PATH ORD dwDriverVersi on the device s name and manufacturer filename of the device driver D II driver version DWORD dwCapabilities II capabilities of this device int nPortid 1 id of serial port e g 1 4 DWORD dwBaudrate II 2400 9600 19200 DWORD nDevid unique device id in the current configuration union DWORD dwFlags DWORD flogFile 1 1 log device events GPSDEVCAPS In szName steht nach Aufruf der Funktion der Name und eventuell auch der Hersteller des GPS Empf ngers szLibrary beinhaltet Pfad und Name des Ger tetreibers Diese An gabe ist an und f r sich nur f r das das GPSAPI selbst von Interesse Ebenso braucht sich eine Anwendung nicht um dwDriverVersion nPortId und dwBaudrate k mmern F r eine Anwendung sind die Datenfelder dwCapabilities und vor allem die nDevId wich tig dwCapabilities ist vorgesehen f r besondere Eigenschaften des Empf ngers z B ob auch Textnachrichten bertragen werden k nnen Die nDevId wird von der Anwendung unbedingt ben tigt wenn es eine Verbindung zu diesem Empf nger herstellen will GeoLocator Seite 51 GPSAPI_POS Zentrale Datenstruktur des GPSAPT s ist die GPSAPI
99. mmert Zusammenhang zwischen GPS Geratetreibern internem TDevice Objekt und Verbindungen TConnections Das GPSAPI verwaltet alle verwendeten GPS Ger te in einer Ger teliste TDeviceList Jedem GPS Ger t TDevice in dieser Liste ist eine Verbindungsliste TConnectionList zugeordnet in der alle offenen Verbindungen TConnections seitens der Anwendung verwaltet werden In diesen Verbindungsobjekten wird gespeichert wie die Anwendung ber Ereignisse benachrichtigt werden soll Callback oder Message und ber welche Er eignisse die Anwendung benachrichtgt werden will TDevice Liste GPS Ger t 1 Anwendung GPS Ger t 2 Connection 2 Connection 1 Abb 21 Skizze der Ger teliste TDeviceList Vom GPS Ger t eintreffende Ereignisse werden nun an die Verbindungsobjekte weiterge reicht Je nach Art der Verbindung gibt es nun zwei M glichkeiten Fall 1 Callback Mechanismus Hat die Anwendung dieses Ereignis angefordert ruft das Verbindungsobjekt TConnecti on in diesem Fall sofort die Callback Prozedur der Anwendung auf und bergibt damit die Daten des GPS Ereignisses an die Anwendung Fall 2 Anwendung wird per Nachricht informiert Handelt es sich um ein Ereignis ber das die Anwendung benachrichtigt werden will so wird dieses Ereignis in die dem Verbindungsobjekt zugeordneten Ereigniswarteschlange eingetragen und die Anwendung durch ein PostMessage ber das Eintreffen des Ereig nisses benachrichtigt Die
100. mming Interface Dem MapAPI kommen alle Aufgaben eines geografischen Informationssystems zu Dar stellung von Karten GPS Positionen und Routen Scrollen Zoomen Messen von Distan zen zwischen bestimmten Positionen auf der Karte usw Innerhalb einer Karte Map wird jedes darzustellende Objekt als sog Layer bezeichnet Es kann sich dabei um ein Bitmap z B eine gescannte Landkarte um vektororienterte Daten z B eine zur ckgelegte Strecke oder manuell eingetragenen Punkte vorgegebe ne Vermessungspunkte handeln Mehrere Layer k nnen in Gruppen zusammengefa t werden z B eine Gruppe von Fahrzeugen In der Reihenfolge in der Layer in eine Karte eingef gt werden werden sie sp ter auch dargestellt Sp ter eingef gte Layer kommen somit auf einer h heren Ebene zu liegen und k nnen daher darunterliegende berdecken Kapitel 5 widmet sich dem MapAPI im Detail Koordinatentransformation Eine wesentliche Aufgabe des GeoLocators ist die Darstellung der vom GPSAPI erhaltenen dreidimensionalen Koordinaten in der Ebene Dazu ist es erforderlich die von GPS Empf ngern standardm ig im WGS84 gelieferten Positionen in das jeweils verwendete Landeskoordinatensystem umzuwandeln Es besteht die M glichkeit entweder die Koordinaten bereits bei der Erfassung in ein be stimmtes Landeskoordinatensystem zu transformieren oder jeweils bei der Darstellung Mit dem GpsAPI und dem MapAPI sind beide M glichkeiten realisierbar da beid
101. mpf nger ist in der Lage die gesendeten Positionsanforderun gen zu bearbeiten und entsprechend zu beantworten Der Treiber wurde entwickelt und getestet mit dem GSM Modul Falcom A1 der Firma Funkanlagen Leipoldt OHG Dieses Ger t besitzt eine RS232 Schnittstelle und ist daher ohne weiteres an jeden PC anschlie bar Abb 24 Das GSM Modul Falcom Al Foto Funklanlagen Leipoldt OHG Die Beschreibung des TARGET GPS Ger tetreibers gliedert sich in folgende Unterkapitel Daten bertragung Anschlu des GSM Moduls an den PC allg Hinweise ber R ckmeldungen des GSM Moduls AT Kommandos Auszugsweise werden die AT Befehle beschrieben die im Zusammenhang mit dem Senden und Empfangen von Kurznachrichten notwendig sind Die Initialisierungsphase beschreibt den Vorgang des Einbuchen des GSM Ger tes ins Netz und Initialisierung des GSM Ger tes aus der Sicht der Anwendung Aufbau einer Protocol Data Unit Die Protocol Data Unit ist die Datenstruktur die von GSM Ger ten unmittelbar zum Senden und Empfangen von Kurznachrichten verwendet wird Da wir haupts chlich GPS Positionsdaten also Bin rdaten bertragen wollen k nnen wir das GSM Modul nicht im Textmodus betreiben sondern im sog PDU Modus und hier ben tigen wir die genaue Kenntnis ber den Aufbau einer Protocol Data Unit GeoLocator Seite 80 Daten bertragung Die serielle Schnittstelle des FALCOM A1 ist werksseitig auf 9600 bps 8 bit
102. n GSM Modul Schnittstelle RS232 GPS API Map amp Guide Abb 2 Das GPS API als Kommunikationstreiber f r GPS SMS Fallbeispiel 3 Auf einem gr eren Firmengel nde soll aus Sicherheitsgr nden die Position von Rangier Lokomotiven schweren Zugfahrzeugen und anderen Fahrzeugen laufend berwacht und mitprotokolliert werden Es gibt mehrere Gruppen von Fahrzeugen f r die verschiedene Personen verantwortlich sind Die Positionsbestimmung erfolgt unter Einsatz der Differential GPS Technologie um die geforderte Genauigkeitsanspr che von unter 5 m erf llen zu k nnen Technische Grund lage f r die Ermittlung der GPS Korrekturdaten zur hochgenauen Positionsbestimmung der mobilen Einheiten ist die Verwendung einer GPS Referenzstation an exponierter Lage Die bertragung der Daten von den Fahrzeugen zu einer Zentrale erfolgt ber einen ei genen Funkkanal des bereits vorhandenen betriebsinternen Datenfunknetzes Jedes der Fahrzeuge wird mit einem GPS Empf nger und einem Funkmodem ausgestattet ber ein geeignetes Protokoll bermittelt jedes der Fahrzeuge in periodischen Abst nden etwa alle 10 Sekunden seine Position an die Funkstelle des zentralen Leitstandes GeoLocator Seite 10 Die Funkstelle des Leitstandes Ubermittelt die einkommenden Positionsdaten an den dar an angeschlossenen GPS Server Funkstelle GPS Referenzstation Schnittstelle z B RS232 LAN Netz Client PC Client PC Cl
103. nation bestimmter Fehlereinfl sse Auf diese Tr gerwellen sind zwei Codes der C A Code Coarse Acquisition Code und der P Code Precision Code aufmoduliert Die Codes stellen Zeitmarken dar und erlauben die Bestimmmung des Zeitpunktes der Signalaussendung Der C A Code hat eine Wellenl n ge von ungef hr 300 m und ist nur auf die L1 Tr gerwelle aufmoduliert Der P Code hin gegen hat eine Wellenl nge von etwa 30 m und ist sowohl auf die L1 Tr gerwelle als auch auf die L2 Tr gerwelle aufmoduliert Durch AS Anti Spoofing wird der P Code mit dem nur autorisierten Anwendern zug nglichen W Code berlagert das Ergebnis der U berlagerung wird als Y Code bezeichnet Der C A Code auch als Pseudo Random Noise PRN Code bezeichnet ist f r jeden Sa telliten eindeutig und wird von GPS Ger ten zur Identifizierung der Satelliten verwendet Der C A Code wiederholt sich alle 1023 bits eine Millisekunde Er ist die Basis f r alle zivilen GPS Anwendungen Die Positionsbestimmung unter Verwendung des C A Codes wird auch als Standard Positioning Service SPS im Gegensatz zum Precise Positioning Service PPS bezeichnet bei dem auch der Y Code bekannt sein mu Schlie lich wird auf die beiden Tr gerwellen L1 und L2 die sogenannte Navigationsnach richt aufmoduliert Sie enth lt die Bahndaten der Satelliten Zeitkorrektur Codes und an dere Systemparameter Das Kontrollsegment Das Kontrollsegment besteht aus einer Hauptkontrollstation ma
104. nd somit keine Positionsbestimmung m glich GeoLocator Seite 19 Verfahren zur Verbesserung der Genauigkeit Phasenmessung F r Anwendungen z B Geod sie Vermessungswesen f r die die Genauigkeit des SPS nicht ausreicht ben tigt man Empf nger die neben den Signallaufzeiten auch Messun gen der Phasen der Tr gerwellen erlauben Dabei unterscheidet man zwischen Einfre quenz und Zweifrequenzempf nger je nachdem ob die Phasen einer oder beider Tr gerwellen registriert werden k nnen Dies kann bei Kenntnis des C A oder Y Codes ber die Code Korrelation erfolgen ber den C A Code kann damit allerdings nur die Tr ger welle 11 wiederhergestellt werden Zur Rekonstruktion beider Tr gerwellen 11 und L2 ber eine Code Korrelation wird der Y Code ben tigt der jedoch vom DoD geheimgehal ten wird Bestimmte Techniken etwa das sog Quadrierverfahren Squaring erlauben zwar auch bei Nichtverf gbarkeit des Y Codes die Nutzung der L2 Tr gerwelle allerdings kommt es dadurch zu einem Genauigkeits oder einem v lligen Datenverlust durch ein h heres Rauschen im Signal Eine Messung die auf der Tr gerphase Carrier Phase basiert hat als Unbekannte die Phasenmehrdeutigkeit ambiguity Die Phasenmehrdeutigkeit ergibt sich aus der gesam ten Anzahl der Wellenzyklen in der Entfernung Satellit Beobachter Wenn es gelingt die se Fehlereinfl sse zu beherrschen so l t sich auch das hohe Genauigkeitspotential von GPS aussch
105. nden auch schon w hrend der Initialisierungsphase z B RING CMTI Diese Nachrichten werden in der gpsdev_Decode Routine daher gesondert behandelt Es wird zun chst nur ein Flag gesetzt das das Auftreten jedes dieser Ereignisse anzeigt Behandelt werden die Antworten erst wenn sich der Ger tetreiber im Zustand GS_READY befindet Aufbau einer Protocol Data Unit PDU Innerhalb der Short Message Transportschicht werden Kurznachrichten in Form von Pro tocol Data Units PDUs bertragen Es gibt sechs verschiedene Typen von PDUs e SMS SUBMIT bertr gt eine SMS von der MS Mobilstation an das SMSC Short Mes sage Service Center SMS DELIVER bertr gt eine Kurznachricht vom SMSC zur MS SMS DELIVER REPORT bermittelt Fehlerursachen SMSC an MS e SMS SUBMIT REPORT bermittelt Ubertragungsfehler MS an SMSC SMS STATUS REPORT bertr gt Status Meldungen vom SMSC an die MS SMS COMMAND sendet ein Kommando von der MS an das SMSC In unserem Fall sind nur die ersten beiden Typen SMS SUBMIT und SMS DELIVER also Versand und Empfang von Nachrichten von einer Mobilstation von Interesse Die folgenden beiden Skizzen zeigt den schematischen Aufbau dieser PDUs 0 1 oder 1 octet 1 octet 7 octets 1 octet 0 140 octets 1 octet 2 12 octets 1 1 D I I gt bits 7 6 5 4 3 2 1 0 Abb 26 Aufbau der PDU einer ausgehenden Nachricht SMS SUBMIT 1 octet 1 octet 7 octet
106. ng Unter A S versteht man die Verschl sselung des P Codes Der daraus resultierende Y Code steht nur mehr autorisierten Anwendern zur Verf gung W rtlich bedeutet Spoo fing ein Beschwindeln somit ist A S eine Ma nahme gegen ein Beschwindeln Das Benutzersegment Das Benutzersegment umfa t die Menge alle GPS Empf nger die uneingeschr nkt und kostenlos dieses System zeit sicht und wetterunabh ngig nutzen k nnen Aufgrund der Tatsache da es sich um ein passives System handelt ist die Anzahl der Benutzer un eingeschr nkt Nachstehende Grafik zeigt das Blockschaltbild eines GPS Empf ngers CHANNEL 1 CHANNEL2 F DOWN CONVERTER en ANTENNA CHANNEL 4 CHANNELS CHANNEL 6 NON VOLATILE MEMORY DATA POWER CONNECTOR Abb 6 Blockschaltbild eines 6 Kanal GPS Empf ngers Die am Empf ngereingang anstehenden Signale werden zun chst in einem analogen Empfangsteil des GPS Empf ngers verst rkt und auf eine niedrigere Frequenz umgesetzt GeoLocator Seite 15 Bis hierher hnelt noch alles einem ganz normalen Kommunikationsempf nger und das Signal enth lt noch unver ndert alle Daten Im anschlie enden Signalverarbeitungsteil erfolg die Signaltrennung in einzelne Kan le und die weitere Aufbereitung ist nur noch digital Abb 7 Der GeoTracker von Communication amp Navigation Foto C amp N als Beispiel f r einen GPS Empf nger Das Prinzip der Positionsbestimmung Die geod
107. ng des GeoLocators soll ein allgemein verwendbares GPSAPI ent stehen das im wesentlichen folgende Funktionen beinhaltet e Kontrolle von mehreren seriellen Schnittstellen e Lesen verschiedener GPS Daten Bin r NMEA herstellerabh ngig 6 Es wird hier der Begriff Fahrzeugverwaltung verwendet da dies dem voraussichtlich h ufigsten Anwen dungsfall entspricht Genausogut k nnen aber auch einzelne Personen die mit einem GSM Handy und ent sprechendem GPS Empf nger ausger stet sind geortet werden GeoLocator Seite 31 e Koordinatentransformation rechnet nach Bedarf die einlangenden GPS Koordinaten auf ein gew nschtes Zielkoordinatensystem um e Attributvergabe einzelnen GPS Positionen k nnen Eigenschaften zugewiesen werden Text e Fahrzeugverwaltung Auswahl Namensvergabe e Verwaltung und Einleitung von einzelnen oder zyklischen Ortungen je Fahrzeug Bisherige geographische Informationssysteme verwenden entweder ausschlie lich digita les Kartenmaterial oder sind rein vektororientiert Der GeoLocator soll die Vorteile beider Systeme in sich vereinen Einerseits die rasche Verf gbarkeit von digitalisiertem Karten material jeder beliebige Stadtplan kann mithilfe eines Scanners digitalisiert werden und ist in der Folge als Basis f r den GeoLocator verf gbar und die Genauigkeit von vektor orientierten Daten exakte Darstellung bei beliebiger Vergr erung Au erdem sind vom GPS Empf nger erhaltenen Daten
108. ngeben in wel ches Landeskoordinatensystem die GPS Positionen umgerechnet werden sollen Zus tz lich stehen Dialoge zum Definieren von neuen Koordinatensystemen zur Verf gung Achtung Wird innerhalb derselben Anwendung auch das MAPAPI verwendet so ist zu beachten da das MAPAPI dieselbe Datenbasis zur Koordinatentransformation verwen det Es ist also Vorsicht geboten wenn Koordinatensysteme ver ndert oder gar gel scht werden int gpsapi_GeoCalculatorDig HWND hwndOwner gpsapi_GeoCalculatorDlg ffnet einen Dialog mit dem der Benutzer manuell Koordi naten zwischen beliebigen Koordinatensystemen transformieren kann Parameter HWND hwndOwner Ein Fensterhandle der aufrufenden Anwendung R ckgabewert wird nicht verwendet immer 0 int gpsapi_SelectCoordSystemDlg HWND hwndOwner ffnet einen Dialog zum Ausw hlen eines bestimmten Landeskoordinatensystems In dieses Koordinatensystem werden alle eingehenden GPS Positionen konvertiert bevor sie an die Anwendung weitergeleitet werden Genaugenommen werden die Datenfelder der GPSAPI_XYZPT Struktur innerhalb der GPSAPI_POS Struktur gesetzt Die urspr nglichen WGS84 Koordinaten bleiben der GPSAPI_LLHPT Struktur L nge Breite H he auch noch erhalten Parameter HWND hwndOwner Ein Fensterhandle der aufrufenden Anwendung R ckgabewert wird nicht verwendet immer 0 GeoLocator Seite 62 int gpsapi_DefineCoordSystemDlg HWND hwndOwner
109. nste Kategorie TS Nr Dienst Sprache 11 Telefondienst 12 Notruf Kurznachrichtendienste 21 Short Message Mobile Terminated Point to Point 22 Short Message Mobile Originated Point to Point 23 Short Message Cell Broadcast MHS Zugang 31 Zugang zu Message Handling Systemen Videotext Zugang 41 Videotext Zugang Profil 1 42 Videotext Zugang Profil 2 43 Videotext Zugang Profil 3 Teletext bertragung 51 Teletext Fax bertragung 61 Sprache und Fax Gruppe 3 alternierend 62 Fax Gruppe 3 automatisch GSM Telematikdienste Telematikdienste wie etwa der Zugang zu einem Message Handling System X 400 oder zum Videotext System sind nur optional vorgesehen Mangels Nachfrage existieren auch kaum Implementierungen dieser Dienste bei den Netzbetreibern Daf r wurde der Ausbau der asynchronen Datendienste in vielen GSM Netzen vorangetrieben so da mittlerweile fast weltweit auch von mobilen Rechnern aus Faxversand empfang und Datenkommuni kation m glich sind Ein weiterer Telematikdienst dem eine hohe Priorit t einger umt wurde ist die M glich keit an der Mobilstation Kurznachrichten zu empfangen und zu versenden Short Message Service SMS Teleservice Nr 21 und 22 Das Short Message Service SMS Dieser Dienst sollte seit 1996 in allem GSM Netzen zur Verf gung stehen Der Dienst TS21 erm glicht es gezielt einzelnen Mobilstationen eine bis zu 160 Zeichen lange Nachricht zu senden Umgekehrt erlaubt Dienst TS22 Mobilstationen auc
110. ofing ASIC Application Specific Integrated Circuit ATE Automatic Test Equipment BCD Binary Code Deci ma BIH Bureau International de L Heure BIPM International Bureau of Weights and Measures BIT Built In Test BPSK Bi Phase Shift Keying C A code Coarse Acquisition Code CADC Central Air Data Computer CDMA Code Division Multiplex Access CDU Control Display Unit CEP Circular Error Probable CMOS Complementary Metal Oxide Semiconductor C No Carrier to Noise Ratio CRPA Controlled Radiation Pattern Antenna csoc Consolidated Space Operations Center CW Continuous Wave DAC Digital to Analog Converter dB Decibel X 10 Log X dB DGPS Differential GPS D Level Depot Leve DLM Data Loader Module DLR Data Loader Receptable DLS Data Loader System DMA Defense Mapping Agency DoD Department of Defense DOP Dilution of Precision dRMS Distance Root Mean Square DRS Dead Reckoning System DT amp E Development Test and Evaluation ECEF Earth Centered Earth Fixed ECP Engineering Change Proposa EDM Electronic Distance Measurement EFIS Electronic Flight Instrument System E Electro Magnetic EMCON Emission Contro ESGN Electrically Suspended Gyro Navigator FAA Federal Aviation Administration FMS Foreign Military Sales FOM Figure Of Merit FRP A Fixed Radiation Pattern Antenna FRPA GP FRPA Ground Plane GeoLocator Seite 115 GaAs GDOP GMT Gal Geo Gre Glo Han Hos 0 a 0 GP GP Lin
111. ogobjekt zum Bearbeiten der Fahrzeugoptionen MDI Child Fensterobjekt f r die Ereignisanzeige Definition Implementierung der Ereignisobjekte Dialogobjekt zum Erstellen und Bearbeiten von Textnachrichten Dialogobjekt zum Verwalten der Telefonbucheintr ge Dialogobjekt zum Bearbeiten von Telefonbucheintr gen Info Dialogobjekt Projekt Definitionsdatei Verzeichnis GeoLocator Res GeoLoc rh GeoLoc rc Bitmaps rc Definitionen und Konstanten f r alle Resourcen Beinhaltet alle sprachabh ngigen Resourcen Dialoge Strings Bitmaps Icons Cursors Verzeichnis misc Source log h cpp Verzeichnis exe GpsAPI lib MapAPI lib Logfile Funktionen f r Debugging Zwecke Bibliothek zum Linken des GpsAPI s Loadtime Linking Bibliothek zum Linken des MapAPT s Loadtime Linking GeoLocator Seite 45 Kapitel 4 Dokumentation GPSAPI Dieses Kapitel erl utert Zweck und Funktionsweise des Global Positioning System Appli cation Programming Interfaces kurz GPSAPI genannt Die GPSAPI Spezifikation definiert eine Schnittstelle f r die Verwendung von GPS Empf ngern unter Microsoft Windows Einleitung Zweck des GPSAPI s ist es vom jeweils angeschlossenen GPS Empf nger abstrahieren zu k nnen ebenso davon ob der Empf nger direkt am Ger t angeschlossen ist oder die Ver bindung ber ein GSM Modul oder eine Funkstrecke erfolgt Hauptaufgabe des Abies ist es Positionsdaten in einem vom GPS Empf nger unabh ngi gen
112. oll jedoch die Positionen eines entfernten Fahrzeuges ber ein GSM Ger t ermittelt werden so m ssen dessen Positi onsdaten angefordert werden Solche Positionsanforderungen werden in dieser Daten struktur gespeichert e Ereignis Ger tezustand TDeviceStatus Bei jeder nderung des Ger tezustandes eines GPS Ger tes z B busy idle sendet das GPSAPI eine spezielle Nachricht an die Anwendung f r die dieses Ereignisobjekt verwendet wird Jedes der Ereignisse wird in einer separaten Datei Dateiendung dat abgelegt Der Auf bau der Datei wird durch das jeweilige Ereignisobjekt bestimmt Alle notwendigen Grund operationen wie Einf gen L schen wahlfreier Zugriff auf bestimmte Datens tze werden durch ein Template festgelegt Mit Hilfe dieses Templates und der jeweiligen Ereignisklas se wird f r jedes Ereignis das entsprechende Dateiobjekt deklariert Der GeoLocator kann daher leicht um neue Ereignise erweitert werden Es gen gt ein neues Objekt von TEvent abzuleiten und mit dem Ereignisdatei Template eine neue Datei zu definieren Aufgrund der gro en Datenmengen die anfallen k nnen GPS Empf nger geben blicher weise Positionen im Sekundentakt aus kann es f r andere Anwendungen aber sehr wohl sinnvoll sein auf eine Datenbank zur Ablage von Positionsdaten zur ckzugreifen 12 UTC Universal Time Coordinated GeoLocator Seite 43 Telefonbuch Innerhalb der Ereignisverwaltung ist auch die M glichkeit zum Les
113. r Ereignisan zeige kann man in die jeweilgen Ereignisdatei Einsicht nehmen Positionsanforderungen und zu sendende Textnachrichten diese werden vom GeoLocator selbst generiert werden genauso wie eingehende Ereignisse behandelt TGpsPosEvent TSatTrkEvent TRequestEvent TShortMessage TDeviceStatus Abb 19 Objektmodell Ereignisse Ereignistypen Alle Ereignistypen werden von der virtuellen Basisklasse TEvent abgeleitet die damit die Schnittstelle f r alle Ereignisobjekte festlegt In der aktuellen Implementierung gibt es f nf verschiedene Typen von Ereignissen GeoLocator Seite 42 e Ereignis GPS Position TGpsPosEvent In der GPS Positionsnachricht sind enthalten Lange Breite H he in WGS84 Koordina ten Datum und Uhrzeit bez glich UTC Geschwindigkeit Richtung DOP Wert sowie Anzahl der sichtbaren und Anzahl der verfolgten Satelliten e Ereignis Satellitenzustand bzw Trackingstatus TSatTrkEvent In der Trackingstatusnachricht sind Nummer des Satelliten Tracking Modus und Sig nalst rke eines jeden der momentan sichtbaren Satelliten enthalten e Ereignis Kurznachricht TShortMessage Sofern eine GSM Ger t an den PC angeschlossen ist werden ein und ausgehende Kurznachrichten in dieser Datenstruktur gespeichert e Ereignis Positionsanforderung TRequestEvent Ist ein Empf nger direkt an den PC angeschlossen so sendet er je nach Ger teeinstel lungen seine Positionen unaufgefordert an den PC S
114. r Positionsbestimmung mit herangezogen werden also vier Satelliten f r eine dreidimensionale Positionsbestimmung Um die vier Unbekannten zu bestimmen braucht man somit vier Pseudoentfernungen Wegen der Forderung nach der Verf gbarkeit von GPS zu jeder Zeit und an jedem Ort GeoLocator Seite 17 m ssen daher zumindest vier Satelliten zu jeder Zeit 24 Stunden t glich an jedem Ort gleichzeitig beobachtbar sein Aus den erhaltenen Psuedoentfernungen und den in der Navigationsnachricht enthaltenen Ephimeriden Bahndaten der Satelliten berechnet der GPS Empf nger letztendlich die tats chliche Position Genauigkeit des GPS Systems Zivilen Anwendern ist steht das Standard Positioning Services also die Positionsbestim mung unter Verwendung des C A Codes weltweit frei zur Verf gung Die Genauigkeit wird allerdings wie bereits erw hnt vom DOD absichtlich verringert Selective Availabili ty Standard vs Precise Positioning Service Das DOD garantiert mit einer Zuverl ssigkeit von 95 f r das SPS eine Genauigkeit wie folgt e Lagegenauigkeit von 100 m eine e H hengenauigkeit von 156 m und eine e Zeitgenauigkeit von 340 Nanosekunden Die Genauigkeiten des Precise Positioning Service das in erster Linie milit rischen Zwe cken vorbehalten ist wird mit folgenden Werten angegeben e 22 m horizontale Genauigkeit 27 7 m vertikal Genauigkeit und 100 Nanosekunden D Qem Bemtetsy et Leerzsmen f
115. r y Koordinate double zoom Adresse f r den aktuellen Zoom Faktor R ckgabewert Keiner void mapapi_SetCurPos HANDLE hMap double x double y double zoom Setzte die aktuelle Position Mittelpunkt des sichtbaren Kartenausschnittes im Koordina tesystem der Karte und den aktuellen Zoomfaktor der Karte Parameter double x x Koordinate GeoLocator Seite 106 double y y Koordinate double zoom Neuer Zoom Faktor Ruckgabewert Keiner BOOL mapapi_OpenMapDialog HWND hwndOwner LPSTR IpszFilename int size Offnet eine Standarddialog zum Offnen einer Karte Der Dateiname der Karte wird in IpszFilename zur ckgegeben Parameter HWND hwndOwner Fensterhandle der aufrufenden Anwendung LPSTR IpszFilename Zeiger auf einen Puffer f r den Karten Dateinamen int size Gr e des durch IpszFilename adressierten Puffers R ckgabewert TRUE wenn der Benutzer eine Karte ausgew hlt hat FALSE sonst BOOL mapapi_SaveMap HANDLE hMap Speichert die angegebene Karte unter ihrem aktuellen Dateinamen Besitzt die Karte noch keinen Dateinamen wird die Funktion mapapi_SaveMapAs aufgerufen Parameter HANDLE hMap Karten Handle der zu speichernden Karte R ckgabewert TRUE falls die Karte gespeichert wurde FALSE sonst GeoLocator Seite 107 BOOL mapapi_SaveMapAs HANDLE hMap Speichert eine Karte unter einem neuen Dateinamen ab Die Funktion ffnet den Win dow Stand
116. rc Icons und Bitmaps Verzeichnis misc Source log h cpp Logfile Funktionen f r Debugging Zwecke Verzeichnis exe GpsAPI lib Bibliothek zum Linken des GpsAPI s Loadtime Linking GeoLocator Seite 93 Kapitel 5 Dokumentation MapAPI Dieses Kapitel dokumentiert das MAP Application Programming Interface MAPAPI eine DLL zur Verwaltung und Darstellung von Karten gescannte Bitmaps und geographischen Informationen GPS Positionen Vektordaten Einleitung Das MAPAPI bitetet dem Benutzer eine Schnittstelle zur Verwaltung von Karten und Lay ern das es ihm erm glicht auf einfache Weise Karten Layer und andere geographische Objekte darzustellen ohne sich mit Details der Speicherung und Darstellung von geogra phischen Daten befassen zu m ssen Ebenso braucht der Benutzer sich nicht um die Umrechnung der Koordinaten in das ver wendete Koordinatensystem zu k mmen Das MAPAPI bietet hier ausreichende Unterst t zung um beliebige Koordinatensysteme f r eine bestimmte Karte auszuw hlen Die Ko ordinaten aller Objekte die dann in diese Karte eingef gt werden werden automatisch vom MAPAPI in dieses Koordinatensystem transformiert Es wurde hier bereits mehrmals der Begriff Layer verwendet Damit wer den die verschiedenen Ebenen einer Vektorkarte bezeichnet Es k nnen beispielsweise Stra en Fl sse Seen Koordinatengitter Raster Fahrzeuge GPS Positionen Radwege etc in verschiedenen Ebe D rfer
117. rden vom GeoLocator alle GPS Positionen und auch andere Ereignisse wie Statusmeldungen oder Textnachrichten in ein Event Logfile geschrieben F r jeden Typ von Ereignis existiert ein eigenes Logfile GeoLocator Seite 37 Objektmodell Das folgende Objektmodell dient in erster Linie dazu einen berblick ber den GeoLocator zu geben Datenelemente und Methoden der einzelnen Objekte sind daher nur ansatzweise skizziert Bez glich Details sei auf die im Anschlu angegebenen Objektbeschreibungen bzw die entsprechenden Headerdateien verwiesen TGeoLocApp TVehicleLayerList TVehicleLayer TEventFiles a list of vehicles and HANDLE m_hLayer TVehicleLayerList associated layers char m_szAddress TGeoLocFrameWnd HANDLE m_hDevCon n connection handles to gps devices TGeoMD IClient int m_nChildCount TMapMDIChild TMapChildWindow TMapChildWnd m_pMap HANDLE m_hMap UINT m_mapStyle HANDLE m_hVehicleGroup TEventMDIChild TEventWindow TEventWnd m_pClientWnd TTreeWindow m_pTreeWnd TListWindow m_pListWnd TVehicleMgrDig O TvehicleListwindow TVehicleListWindow TVehiclePropDig Q TDialog m_SubDialogs 2 TNameDig subdialog for editing vehicle properties TRequestDig subdialog for setting up location cycles TSmsMessageDlig TTextMsgDig TAboutDig Abb 16 Objektmodell GeoLocator 11 Die verwendete Notation orientiert
118. rt Die Funktion liefert das Ger te ID des Ger tes Der R ckgabewert ist 0 falls das Ge r t nicht existiert BOOL gpsapi_SetDevValue DWORD nDevId LPSTR IpszValue DWORD dwType void pData DWORD cbData Diese Funktion schreibt den angegebenen Wert des GPS Ger tes an die entsprechende Stelle der Registry Einstellungen f r GPS Ger te werden im Zweig HKEY_LOCAL_MA CHINE SOFTWARE Communication amp Navigation GPSAPI GPSDevices abgelegt F r jedes Ge r t wird ein eigener Schl ssel angelegt der der Ger te ID entspricht z B 00000001 f r GeoLocator Seite 66 das erste 00000002 f r das zweite Ger t das an den lokalen Computer angeschlossen ist Parameters DWORD nDevld Ger te Id LPSTR pszValue Adresse des Wertes der gesetzt werden soll DWORD dwType Gibt den Datentyp an der gespeichert werden soll Die m glichen Werte sind ident mit denen die beim entsprechenden Parameter der Windows API Funktion RegSet ValueEx verwendet werden k nnen void pData Zeiger auf den Puffer der die zu speichernden Daten enth lt DWORD cbData Gr e des Datenpuffers in Bytes R ckgabewert TRUE bei Erfolg FALSE sonst BOOL gpsapi_GetDevValue DWORD nDevld LPSTR IpszValue void pData DWORD cbData Liest einen Wert des angegebenen GPS Ger tes aus der Registry Parameters DWORD nDevld Ger te Id LPSTR pszValue Adresse des Wertes der gelesen werden soll void pData Zeiger auf d
119. s Bitmaps Icons Cursors Verzeichnis misc Source TGeoDatabase Objekt zur Kapselung der DLL Aufrufe zur Koordi natentransformation Logfile Funktionen f r Debugging Zwecke eigenes TDIl Objekt kapselt LoadLibrary FreeLibrary TRegistry Objekt vereinfacht Zugriff auf Registry Koordinatenkonvertierungsfunktionen Erweiterte Funktionen f r den Zugriff auf BlueMarbles Koordina tensystem Datei z B L schen von Eintr gen Dialog zum Ausw hlen eines Koordinatensystems Dialog zum Bearbeiten Definieren von Koordinatensystemen Dialog zum Bearbeiten Definieren eines geod tischen Datums Dialog zum Bearbeiten Definieren von Ellipsoiden GeoCalculator Koordinaten Transformationsdialog Resourcen der Koordinatendialoge Objekt zum zeilenweisen Einlesen von Textdateien Funktionen zum Extrahieren von Dateinamen aus einer von GetOpenFilename zur ckgegebenen Dateiliste Objekt zum Auslesen von cor und unc Dateien C amp N eigenes Dateiformat GeoLocator Seite 110 Kapitel 6 Benutzerhandbuch Behandelten alle bisherigen Kaptiel die programmtechnischen Aspekte so widmet sich nun dieses Kapitel der Konfiguration und der Anwendung des Softwarepaketes Es soll hier aber nur ein grober Uberblick gegeben werden bei spezielle Fragen sei auf die Onli ne Hilfe verwiesen Installation und Deinstallation Installation Um das Programm zu starten ist keine gesonderte Installationsvorgang notwendig Es l t sich ohnewe
120. s 1 octet 0 140 octets 1 octet 2 12 octets 1 I I gt i S gt Br ee Meer el bits 7 6 5 4 3 2 1 0 Abb 27 Aufbau der PDU einer eingehenden Nachricht SMS DELIVER 16 In Anlehnung an die ETSI GSM Spezifikationen wird hier der Begriff Oktett oder octet verwendet Bezeich net wird damit ein Datentyp mit 8 Bit GeoLocator Seite 87 Die Bedeutung der einzelnen Datenfelder Abk Bezeichnung Beschreibung RP Reply Path Parameter gibt an ob Absenderadresse existiert UDHI User Data Header Indicator Parameter gibt an ob die Benutzerdaten einen Hea der enthalten SRR Status Report Request Parameter gibt an ob die MS eine Statusmeldung angefordert hat amp SRI Status Report Indicator Parameter gibt an ob die Gegenstation eine Status meldung angefordert nat 5 VPF Validity Period Format Parameter gibt an ob das VP Feld Validity Period Q angegeben ist RD Reject Duplicate wenn gesetzt weise das SMSC Nachrichten mit glei cher MR und DA zur ck MMS More Messages to Send Parameter gibt an ob noch weitere Nachrichten zum Senden vorhanden sind MTI Message Type Indicator Parameter bestimmt den Nachrichten Typ 00 SMS DELIVER 01 SMS SUBMIT MR Message Reference fortlaufende Referenznummer 0 255 zyklisch wird vom Ger t gesetzt DA Destination Adress Zieladresse OA Originator Adress Absenderadresse PID Protocol Identifier Parameter der dem SMSC anze
121. s Dienstgebietes service area zust ndig ist Zum Verbindungsaufbau des Gespr chsverkehrs in und aus dem Festnetz stehen eigene Gateways Gateway MSC GMSC zur Verf gung Verbindungen zu anderen Mobilnetzen und andere internationale Verbindungen werden meist ber das ISC International Swit ching Center des jeweiligen Landes geroutet Heimat und Besucherregister HLR und VLR Zur Teilnehmerregistrierung und Iokalisierung sind zwei funktionale Einheiten innerhalb eines GSM PLMNs definiert das Heimatregister HLR Home Location Register und das Besucherregister VLR Visited Location Register Das HLR ist das Register das jeden Teilnehmer und jede Mobil ISDN Rufnummer registriert die in seinem Netz beheimatet sind Es speichert alle relevanten Teilnehmerdaten Zu den gespeicherten Informationen geh rt neben festen Eintr gen wie abonnierten Diensten und Berechtigungen vor allem auch ein Verweis auf den aktuellen Aufenthaltsort einer Mobilstation Das VLR speichert die Daten aller Mobilstationen die sich momentan im Verwaltungsbe reich des zugeh rigen MSC aufenthalten Ein VLR kann f r das Gebiet eines oder mehre rer MSC verantwortlich sein Mobilstationen k nnen sich frei bewegen roaming und da mit je nach Aufenthaltsort in den VLR ihres Heimatnetzes eingebucht sein oder auch in den VLR fremder Netze anderer Betreiber sofern zwischen den Betreibern ein Roaming Abkommen besteht Eine Mobilstation startet dazu jeweil
122. s beim Betreten einer Location Area LA eine Registrierungsprozedur Das zust ndige Vermittlungszentrum MSC leitet dabei die Identit t der Mobilstation und ihre momentane Location Area Identity LAI an das Besucherregister weiter das diese Werte in seine Datenbasis eintr gt und damit die Mobilstation registriert Wenn die Mobilstation noch nicht in diesem VLR registriert war wird das HLR ber den aktuellen Aufenthaltsort der MS informiert Dabei werden Infor mationen an das HLR bergeben welche die Wegsuche f r Rufe zu dieser Mobilstation erm glichen GeoLocator Seite 26 Betrieb und Wartung Operation and Maintenance Subsystem OMSS Abb 12 Die Komponenten des OMSS OMC Operation and Maintenance Center EIR Equipment Identity Register AUC Authentication Center Der laufende Netzbetrieb wird mit dem Operation and Maintenance Subsystem OMSS gesteuert und gewartet Zu den Funktionen des OMC Operation and Maintenance Cen ter geh ren e Verwaltung und kommerzieller Betrieb Teilnehmer und Endger teverwaltung Abrechnungen Statistik e Sicherheitsmanagement e Netzkonfiguration Netzbetrieb und Performance Management e Wartungsarbeiten Neben HLR und VLR sind im GSM noch zwei weitere Datenbanken vorhanden das AUC Authentication Center und das Ger teregister EIR Equipment Identity Register Diese beiden Datenbanken dienen der Teilnehmeridentifikation und authentifizierung sowie zur Ger teregistrierung Im AUC
123. s und Antworten im ASCII Zeichensatz dargestellt Im PDU Modus wird die gesamte SMS Nachricht einschlie lich der Header Informationen in Form einer bin ren Zeichenkette bertragen Setzen des Nachrichtenformates AT CMGF 0 setzt den PDU Modus AT CMGF 1 setzt den Textmodus Antwort vom Ger t OK gesetzter Modus ist gultig ERROR Modus konnte nicht gesetzt werden AT CMGR Nachricht lesen Mit diesem Kommando liest eine Anwendung eingegangene Nachrichten Das GSM Ger t informiert die Anwendung mit CMTI ber das Eintreffen neuer Nachrichten Eingeganene Nachrichten werden an einem Speicherplatz auf der SIM Karte abge speichert Je nachdem ob der Textmodus oder der PDU Modus eingestellt wurden 15 PDU Abk rzung f r Protocol Data Unit Im Detail wird diese Datenstruktur im Abschnitt Aufbau der Protocol Data Unit dieses Kapitels beschrieben GeoLocator Seite 82 werden die Nachrichten in ASCII Test oder als Hexadezimalstring PDU ausgege ben Lesen einer Nachricht AT CMGR lt i ndex gt Liest die Nachricht an Speicherposition lt index gt Antwort vom GSM Ger t im Textmodus CMGR REC READ 436764759093 26 01 99 140411435 Sein oder nicht sein das ist hier die Frage OK Antwort vom GSM Gerat im PDU Modus lt flag gt lt length gt lt CR gt lt LF gt lt pdu gt OK wobei lt flag gt angibt ob die Nachricht schon ausgelesen wurde oder nicht 0 record unread 1 record read lt
124. sger ten einerseits und die entsprechende Darstellung der von den Fahrzeugen emp fangenen Daten auf einer Landkarte andererseits Die Kombination des Globalen Positionierungs Systems und des Global Systems For Mobi le Communication GSM er ffnet eine kosteng nstige M glichkeit der weltweiten Fahr zeugortung f r jedermann Dar berhinaus gibt diese Arbeit einen kurzen berblick ber das NAVSTAR Gobal Positio ning System sowie eine bersicht ber die Funktionsweise von GSM Danksagung An dieser Stelle m chte ich Dank sagen allen voran meinen Eltern die mein Studium ideell und finanziell unterst tzt haben Mein ausdr cklicher Dank gilt auch dem geduldi gen Betreuer meiner Diplomarbeit Herrn Dipl Ing Peter Ren Dietm ller Besonders danken m chte ich meiner Frau Gerlinde da sie mich in meinem Vorhaben immer wieder ermutigte und mir auch in schwierigen Zeiten eine liebevolle St tze war ebenso meinen Kindern Philip Elisabeth Sarah und David die durch ihre fr hliche Art mich viele Dinge aus einer anderen Perspektive zu betrachten gelehrt haben Ottensheim im Mai 1999 Bernhard Lied GeoLocator Seite 3 Inhalt EINLEITUNG 6 VORWORT ZIELSETZUNG UND AUFBAU DER ARBEIT ANWENDUNGSMOGLICHKEITEN FALLSTUDIEN KAPITEL 1 GPS GLOBAL POSITIONING SYSTEM 11 NAVSTAR GLOBAL POSITIONING SYSTEM 11 DIE REALISIERUNG VON NAVSTAR GPS 11 DAS RAUMSEGMENT 12 DAS KONTROLLSEGMENT 13 DAS BENUTZERSEGMENT 14 DAS PRINZIP DER POSI
125. sicht von TVehicleMgrDig Klasse TVehiclePropDlg Klasse Klasse TRequestDig Im Dialog TVehiclePropDlg k nnen alle Fahrzeugdaten eingegeben und Ortungseinstel lungen vorgenommen werden Der Dialog besteht aus zwei Subdialogen dem TNameDIg in dem u a Fahrzeugbezeichnung Identifikationsnummer und zugordnetes GPS Ger t eingestellt werden m ssen und dem TRequest Dlg in dem festgelegt werden kann ob wann und wie oft eine Position vom Fahrzeug angefordert werden soll Im eingangs skizzierten Objektmodell des GeoLocators nicht eingetragen sind die beiden folgenden Dialogklassen Klasse TPhoneBookDlig Klasse TRecipientDig Diese beiden Dialogklassen dienen zum Bearbeiten des internen Telefonbuches Pho nebk dat Es handelt sich bei dieser Datei um eine einfache Textdatei die mit den Win dowsfunktionen zum Bearbeiten von Profiles verwaltet wird Der TPhoneBookDlg wird vom Dialog TSmsMessageDlg aufgerufen GeoLocator Seite 40 Fahrzeugverwaltung Die Fahrzeugverwaltung als solche befindet sich im Dialog TVehicleMgrDIg Von hier aus k nnen alle Fahrzeugdaten konfiguriert werden Die Fahrzeuge selbst k nnen Uber Funk tionen der dynamische Liste TVehicleList hinzugef gt gel scht oder Einstellungen ge ndert werden TVehicleMgrDig TVehicleListWindow TVehicleList TVehicle bool AddVehicle TVehicle char szName VHCL_MAXNAME bool StoreVehicle TVehicle vehicle description bool RemoveVehicle DWORD k
126. ssen die Karte dargestellt wird Dies ist z B dann notwendig wenn die Karte in nerhalb eines MDI Kindfensters dargestellt wird und immer dessen gesamten Client Bereich ausf llen soll Parameter HANDLE hMap Handle der Karte RECT prcNewSize Zeiger auf eine RECT Struktur mit den neuen Koordinaten relativ zum Clientbereich des Fensters in dem die Karte angezeigt wird R ckgabewert keiner void mapapi_SetFocus HANDLE hMap Die mapapi_SetFocus Funktion setzt den Eingabefocus auf die angegebene Karte Alle Tastaturnachrichten werden dann direkt an die Karte geleitet Parameter HANDLE hMap Handle der Karte R ckgabewert keiner GeoLocator Seite 99 HANDLE mapapi_AddGroup HANDLE hMap LPSTR IpszName UINT type Erzeugt in der angegebenen Karte eine neue Layergruppe Parameter HANDLE hMap Handle der Karte LPSTR pszName Name der anzulegenden Gruppe UINT type Typ der Gruppe Diese Typisierung gibt Auskunft dar ber welche Daten in diesem Layer eingef gt werden sollten Grunds tzlich ist es jedoch m glich einen Layer einer beliebigen Gruppe zuzuordnen Folgende Gruppentypen sind verf gbar Typ Beschreibung GT_MAP Layer dieser Gruppe sind blicherweise Bitmaps z B gescanntes Kartenmaterial GT_STATIC Layer dieser Gruppe beinhalten Vektordaten es kommen aber keine weiteren GPS Positionen mehr hinzu sie sind also sta tisch z B mit GPS Empf nger vermessene O
127. stehende Verbindung e berdies bieten die viele Netzbetreiber f r Gesch ftskunden g nstigere SMS Tarife an Nachteile m gliche Verz gerungen bei der Zustellung Ist das GSM Ger t gerade nicht erreichbar ausgeschaltet busy oder nicht im Netzbe reich kann eine Nachricht nicht zugestellt werden In diesem Fall versucht das Mes saging Center des Netzbetreibers die Nachricht erst nach einer relativ langen Zeit spanne erneut zuzustellen Da diese Zeitspannen abh ngig vom Netzbetreiber sind kann an dieser Stelle keine allgemeing ltige Aussage gemacht werden Beispiel max mobil zweiter Zustellungs versuch nach einer Minute dritter Zustellungsversuch etwa erst nach einer halben Stunde GSM Systemarchitektur Ein GSM System hat zwei wesentliche Bestandteile die fest installierte Infrastruktur das Netz im eigentlichen Sinne und die Mobilteilnehmer welche ber Funk Luftschnittstelle air interface die Dienste des Netzes nutzen und kommunizieren Das fest installierte GSM Netz wiederum kann in drei Subnetze i A als Subsysteme be zeichnet untergliedert werden das Funknetz Base Station Subsystem BSS das Mobil vermittlungsnetz Switching and Management Subsystem SMSS und das Management netz Operation and Main MS MS Mobile Stations MS GeoLocator Seite 23 Mobilstation Mobilstationen Mobile Stations MS sind die Ger te die von Mobilteilnehmern f r den Dienstzugang genutzt werden Sie bestehen a
128. ster control station f nf Monitorstationen und drei Bodenkontrollstationen Diese Stationen sind weltweit auf f nf Standorte verteilt Colorado Springs Zentrale und Monitorstation Ascension Diego Garcia und Kwajalein jeweils Monitor und Kontrollstationen und Hawaii Monitorstati on Abb 5 Die Standorte der Bodenkontrollstationen des GPS Zu den Aufgaben des Kontrollsegmentes geh ren die Vorausberechnung der Satelliten bahnen die berwachung der Satellitenuhren Gang Stand die bermittlung der Navi gationsnachricht an die Satelliten sowie die Gesamtkontrolle des Systems Dazu sind GeoLocator Seite 14 neben Bahnkorrekturen auch SA Selective Availability und A S Anti Spoofing zu zah len SA Selective Availability Unter SA versteht man die vom amerikanischen Verteidigunsministerium durchgef hrte Reduzierung der erreichbaren Genaugikeit in der Echtzeit Navigation Diese Einschr n kung der erreichbaren Genauigkeit wird einerseits durch eine Manipulation der Satelliten uhr und andererseits durch eine geringere Genauigkeit der Ephimeriden Satellitenbahn daten erzielt Das Ma der Genauigkeit kann vom Kontrollsegment gesteuert werden Ohne SA wird mit dem C A Code eine Genauigkeit von etwa 15 30 m f r die Positionsbestimmung erreicht Mit dem derzeit wirksamen SA wird mit einer Zuverl ssigkeit von 95 eine Lagegenauig keit von 100 m und eine H hengenauigkeit von 156 m garantiert A S Anti Spoofi
129. t entsprechenden Werten und gibt sie an die GPSAPI DLL zur ck die sich darum k m mert diese Position an alle offenen Verbindungen weiterzuleiten Der Ger tetreiber selbst braucht sich also weder um die Handhabung der seriellen Schnittstelle noch um Details der R ckgabe der gewonnen Daten k mmern F r jeden verwendeten Ger tetyp wird eine eigene DLL mit der Endung GPS erstellt Dieses Dateiendung wird vom GPSAPI dazu verwendet um nach verf gbaren Ger tetrei bern zu suchen Ein Hinzuf gen von neuen Ger tetreibern gestaltet sich daher relativ einfach Man mu nur die neue Ger te DLL in dasselbe Verzeichnis wie das GPSAPI ko pieren Dann k nnen bereits Ger te dieses Types installiert werden Im Umfang des vorliegenden Gesamtsystems sind drei Ger tetreiber enthalten e NMEA GPS Ein Ger tetreiber f r Empf nger die die Daten im NMEA Format ausgeben e ONCORE GPS F r Empf nger der Motorola Oncore Serie TARGET GPS Zur Ortung von Empf ngern ber ein an den PC angeschlosses GSM Ger t Auf der Gegenseite im Fahrzeug mu ebenfalls ein GSM Modul und ein GeoTracker der Firma Communication amp Navigation angeschlossen sein GeoLocator Seite 69 Schnittstelle der Geratetreiber Auf die Besonderheiten der einzelnen Ger tetreiber wird an geeigneter Stelle noch ge nauer eingegangen werden Die allen Ger tetreibern gemeinsame Schnittstelle wird nun in diesem Abschnitt beschrieben Sie ist in der Datei GPSDEV
130. tellers zum Einsatz Parallele Aufzeichnung von Me daten Parallel zur Aufzeichnung der Positonsdaten sollen weitere Me daten etwa Radioakti vit t CO2 Werte etc eingelesen werden und geeignet dargestellt werden k nnen z B durch entsprechende Verf rbung der gefahrenen Route Fahrzeugverwaltung Datenauswertung GPS Daten und eingelesene Me werte sollen je Fahrzeug entsprechend ausgewertet und dargestellt werden k nnen Unterst tzung mehrer Sprachen GeoLocator ist in Englisch und Deutsch verf gbar n heres dazu siehe http www ivnet co at gps GeoLocator Seite 33 Umgebung Zielsystem Das Hauptprogramm und Komponenten des Systems also GeoLocator EXE MapAPI DLL GpsAPI DLL sowie die GPS Treiber NMEA GPS Oncore GPS und Target GPS wurden aus schlie lich mit der Entwicklungsumgebung Borland C Version 5 01 und Borlands OWL Object Windows Library erstellt Die Anwendung wurde f r das 32Bit Microsoft Windowssystem konzipiert und entwickelt Zum Betrieb sind also Windows 95 Window NT 4 0 oder h here Versionen Vorausset zung Empfohlene Hardware ist 100 MHz Pentium mit mind 32 MB Arbeitsspeicher und CD ROM Laufwerk Zus tzlich ist ein GPS Empf nger erforderlich der die GPS Daten entweder im NMEA oder im Motorola Binary Format auszugeben in der Lage ist Um Fernortungen durchf hren zu k nnen mu der PC mit einem SMS f higen GSM Ger t ausgestattet sein das ber eine serielle Schnittstelle mit d
131. tor to register to 3 registration denied 4 unknown 5 registered roaming AT CPIN Eingabe von PIN PUK Code Diese Kommando wird verwendet um die G ltigkeit des PIN oder des PUK Codes zu berpr fen Ebenso l t sich damit eine neue PIN definieren Nach dem Einschal ten des Ger tes oder einem Reset mu der g ltige PIN Code angegeben werden bevor es verwendet werden kann GeoLocator Seite 81 Eingabe der PIN AT CPI N lt pi n gt Antwort vom Gerat Ok wenn die PIN korrekt angegeben wurde CME ERROR 16 ung ltiges Pa wort Nach drei erfolglosen Versuchen mu die PUK eingegeben werden Als zweiter Pa rameter zur PUK mu ein neuer PIN Code angegeben werden Eingabe von PUK und neuer PIN AT CPIN lt puk gt lt new pin gt Antwort vom Ger t OK wenn PUK korrekt war und PIN gesetzt werden konnte CME ERROR 16 ung ltiges Pa wort Um herauszufinden welcher Code PIN oder PUK eingegeben werden mu sendet eine Anwendung an das Ger t M gliche Antworten vom Ger t CPIN READY PIN wird nicht ben tigt CPIN SIM PIN PIN ist erforderlich CPIN SIM PUK PUK ist erforderlich CME ERROR lt err gt SIM Fehler oder SIM Karte fehlt Hinweis Nach 10 fehlerhaften Eingaben der PUK wird die SIM Karte gesperrt AT CMGF Setzen des Nachrichtenformates Mit diesem Kommando kann entweder der Textmodus oder der sog PDU Modus gesetzt werden Im Textmodus werden alle Kommando
132. umber GPSAPI ORIGINATOR GPSAPI RECIPIENT GeoLocator Seite 53 Schnittstelle In diesem Abschnitt werden die einzelnen API Aufrufe erlautert Man kann grundsatzlich die Funktionen in zwei Gruppen unterteilen 1 Funktionen die vom Anwendungsprogramm aufgerufen werden Herstellen einer Ver bindung zu einem Ger t Festlegen von Ger teoptionen Einstellung des zu verwen denden Landeskoordinatensystems Konvertierungsroutinen 2 Funktionen die f r GPS Ger tetreiber vorgesehen sind Ubergeben von decodierten GPS Datensatzen Ausgabe von Meldungen in die Log Datei 1 Die Schnittstelle fur Anwendungsprogramme int gpsapi_GPSSetup HWND hwndOwner Die Funktion ffnet den GPS Setup Dialog In einer Liste werden alle am Rechner bereits installierten Ger te aufgelistet Weitere bzw neue GPS Ger te k nnen installiert beste hende konfiguriert oder wieder entfernt werden Einzustellen ist f r jedes Ger t zumin dest die serielle Schnittstelle und die Baudrate Parameter HWND hwndOwner Fenster Handle des aufrufenden Elternfensters R ckgabewert IDOK Der Benutzer hat den Schalter bet titgt IDCANCEL Der Benutzer hat den Dialog mit Abbrechen beendet Anmerkung Der R ckgabewert dient lediglich zur Information und hat keine weitere Bedeutung int gpsapi_GetNumDevs Ermittelt die Anzahl der vorhanden installierten GPS Ger te R ckgabewert Anzahl der GPS Ger te GeoLoc
133. urcen Dokumentationen nur den GeoLocator betreffend Bugreport Sourcecode des GeoLocators h und cpp Dateien Resourcen rc rh Dateien Bitmaps Objectcodes GeoLocator Sourcecode und Resourcen f r das GPSAPI Unterverzeichnisse analog zu GeoLocator Sourcecode und Resourcen aller GPS Ger tetreiber Unterverzeichnisse analog zu GeoLocator GeoLocator Seite 44 MapAPI Misc Source CoordCvt Archiv Sourcecode und Resourcen f r das MapAPI Unterverzeichnisse analog zu GeoLocator Sourcecode und Resourcen die von mehreren oder allen Teilpro jekten ben tigt wird Header Dateien und zum linken notwendigen Dateien der Koor dinatentransformations DLL sowie die Dokumentation Sourcecode lterer Programmversionen Sourcecodes GeoLocator In der folgenden Tabelle sind alle C Source und Header Dateien aufgelistet die zum Compilieren des Hauptprogrammes GeoLocator exe erforderlich sind Datei Beschreibung Verzeichnis GeoLocator Source GeoLoc h cpp GeoMDIC h cpp MapChild h cpp Vehicles h cpp DVhclMgr h cpp DVhclPrp h cpp EvtChild h cpp Event h cpp MsgDlg h cpp DPhoneBk h cpp DRecp h cpp DAbout h cpp GeoLoc def Hauptmodul Definition Implementierung von TGeoLocApp MDI Client Fenster Rahmen fur alle MDI Child Fenster MDI Child Fensterobjekt f r die Kartendarstellung Definition Implementierung von TVehicle und TVehicleList Dialogobjekt f r die Fahrzeugverwaltung Dial
134. us zwei wesentlichen Komponenten dem Ger t selbst Mobile Equipment ME und dem Subscriber Identity Module SIM Erst das SIM eines Teilnehmers ausgef hrt als fest eingebauter Chip oder als austauschbare Chip Karte macht aus einem Mobilger t eine vollwertige Mobilstation mit der ein Dienstzugang m glich ist Zus tzlich zur Ger tekennung International Mobile Equipment Identity IMEI besitzt ein Mobilger t abh ngig vom eingesetzten SIM eine Teilnehmer kennung International Mobile Subscriber Identity IMSI und eine Rufnummer Mobile Station Integrated Systems Digital Network Number MSISDN GSM Mobilger te werden also mit dem SIM personalisiert Durch dieses bei GSM zum ersten Mal konsequent angewandte Konzept des SIM wird zum einen eine Trennung der Benutzermobilit t von der Ger temobilit t erreicht Internatio nales Roaming unbah ngig von Mobilger t und Netztechnologie wird dadurch m glich vorausgesetzt die Schnittstelle zwischen Ger t und SIM ist normiert Zum anderen ber nimmt das SIM wesentlich mehr Aufgaben als nur die Personalisierung von Mobilger ten mit der IMSI und MSISDN Im SIM sind auch alle geheimzuhaltenden kryptographischen Algorithmen realisiert die wichtige Funktionen zur Authentifizierung und Nutzdatenver schl sselung implementieren Dar berhinaus k nnen auf dem SIM Kurznachrichten Short Messages und Geb hrenin formationen gespeichert werden und es besitzt eine Telefonbuchfunktion mit Kurzwahllis
135. verbirgt sich eine Datenstruktur GPSAPI LOCATEPARAMS die alle Ein stellungen bzgl der Ortung einmalige Ortung zyklisches Intervall etc beinhaltet Wird vom Fahrzeug nun eine Position angefordert so wird diese Datenstruktur an den C amp N GeoLocator Seite 41 GeoTracker der im Fahrzeug installiert sein mu gesendet GPSAPI LOCATEPARAMS wird vom GpsAPI definiert und wird im entsprechenden Kapitel noch n her beschrieben Zuordnung Position eines Fahrzeug zu Layer auf der Karte F r jedes Fahrzeug kann auf einer oderer mehreren Karten Maps eine sog Layer einge richtet werden Um eine eingetroffene GPS Position dem richtigen Layer zuordnen zu k nnen verwendet der GeoLocator die dynamische List TVehicl eLayerList In deren Ein tr gen TVehicleLayer wird jeweils das Layer Handle das vom MapAPI beim Anlgen eines neuen Layers zur ckgegeben wird und das wir zum Einf gen von Positionen in einen Lay er ben tigen und die Adresse das ist i a eine Telefonnummer des Fahrzeuges gespei chert Trifft nun eine GPS Position von einem Fahrzeug ein durchsucht der GeoLocator die dy amische Liste nach TVehicleLayer Objekten die dieselbe Adresse Telefonnummer besit zen und f gt die Position zum gefundenen Layer per MapAPI Funktionsaufruf hinzu Ereignisverwaltung Jedes vom GPSAPI eintreffende Ereignis sei es eine GPS Position eine Ger testatusmel dung oder eine Textnachricht wird in einer Ereignisdatei abgelegt Mithilfe de
136. von vornherein vektororientiert und sollen leicht in die Darstellungsbasis aufgenommen werden k nnen Viele geographische Informationssysteme verstehen sich als reine Auswertungspro gramme und sind f r die Erfassung von Daten eher ungeeignet bzw der Anschlu von GPS Empf ngern oder gar integriertes GPS Post Processing nicht vorgesehen Leistungsmerkmale des Gesamtsystems Einlesen der Positionsdaten von GPS Empf ngern Direkter Anschlu aller GPS Empf nger mit Standard NMEA Ausgang oder Motorola Binary Format an eine serielle Schnittstelle des PC s Verbindunsaufbau via Modem Funkmodem oder GSM zu einem Empf nger Protokollierung der GPS Daten pro GPS Empf nger Aufzeichnung und Wiedergabe von gefahrenen Strecken mit Darstellung des zur ckge legten Weges Track je Fahrzeug Empf nger Fahrzeug e GPS Statusanzeige Anzeige aller GPS relevanten Informationen Geographische L nge und Breite H he aktuelle Zeit und Datum Richtung Geschwindigkeit Satellitenstatus Anzahl d emp fangenen Satelliten e Darstellung digitalisierter Landkarten Satellitenbilder Kartendarstellung in verschiedenen Zoomstufen Es k nnen sowohl digitalisierte be liebige Projektion als auch Satellitenbilder eingesetzt werden Einbindung vektororientierter Daten Darstellung verschiedener vektororientierter Daten Landes oder Grundst cksgrenzen Stra en Leitungssysteme Die einzelnen Layer sollen wahlweise
137. werden vertrauliche Daten und Schl ssel gespeichert bzw erzeugt DAS EIC speichert die herstellerabh ngigen Seriennummern der Endger te IMEI so da z B jede Mobilstation auf veraltete Software gepr ft oder einem bestimm ten als gestohlen gemeldeten Endger t der Dienstzugang gesperrt werden kann GeoLocator Seite 27 Dienste des GSM Die GSM Dienste sind in drei Kategorien aufteteilt und zwar in Tr gerdienste Bearer Services Telematikdienste Teleservices und Zusatzdienste Supplementary Services Die folgenden drei Kapitel geben einen kurzen berblick ber diese Dienste Aufgrund seiner besonderen Bedeutung im Zusammenhang mit GPS Ortung habe ich dem Kurz nachrichtendienst SMS Short Message Service einem speziellen Telematikdienst im Anschlu daran ein eigenes Kapitel gewidmet Tr gerdienste Die Tr gerdienste stellen die grundlegenden technischen M glichkeiten zur bertragung von bin r vorliegenden Daten zur Verf gung Sie bieten asynchorne und synchrone Da tentransportm glichkeiten mit leitungs oder paketorientierter Vermittlung und Datenra ten von 300 bit s bis zu 9 6 kbit s bzw 13 kbit s Der Tr gerdienst mit einer Bitrate von 13 kbit s ist allerdings nur zur Sprach bertragung vorgesehen Tr gerdienste stellen nur den anwendungsunabh ngigen Informationstransport innerhalb des GSM Netzes sicher Sie entsprechen damit den Schichten 1 und 2 des OSI Schichten Modelles Betreiber von Endeinrichtung
138. z gelesen wurde UINT hType Art des Ereignisses eine Konstante vom Typ GPSAPIEV xxx GPSAPI_ORIGINATOR pOriginator Zeiger auf Datenstruktur des Absender des Ereignisses an bei einer GPS Position w rde im Adre feld z B die Mobilnummer des Fahrzeuges stehen SYSTEMTIME pSysTime Zeitpunkt des Ereignisses LPSTR pData Zeiger auf den entsprechenden Ereignis Datensatz eine Struktur vom Typ GPSAPI_xxx UINT uSize Gr e des Datensatzes in Bytes auf den pData verweist R ckgabewert TRUE im Erfolgsfall FALSE sonst void _export WINAPI gpsapi_SetTimeOut HANDLE hDevice DWORD dwTimeOut Diese Funktion setzt den aktuellen Timeout Wert f r ein bestimmtes Ger t Antwortet das Ger t auf einen Befehl nicht innerhalb der angegebenen Zeitspanne erh lt die Anwen dung eine Timeout Fehlermeldung GeoLocator Seite 64 Parameter HANDLE hDevice Handle des GPS Gerates DWORD dwTimeOut Zeitspanne in 100 Millisekunden 10 1 Sekunde Wird der Wert auf O gesetzt wird der Timeout Mechanismus deaktiviert R ckgabewert keiner BOOL gpsapi_Write HANDLE hDevice LPSTR IpBuffer DWORD dwBytesToWrite LPDWORD IpBytesWritten Mit dieser Funktion kann der Ger tetreiber Daten an das Ger t senden Parameter HANDLE hDevice Handle des GPS Ger tes LPCVOID pBuffer Adresse der Daten die gesendet werden sollen DWORD dwBytesToWrite Gr e des Datenpuffers in Bytes LPDWORD pBytesWritt

Download Pdf Manuals

image

Related Search

Related Contents

Manual - Equipco    EVBUM2143 - Non-isolated Positive Output Buck AC/DC  iss phone 20D取扱説明書  Jamo E 8SUR.2  STONSHIELD SLT  DeLOCK Adapter mini Displayport    Les marionnettes du sida  Pyle PLSL650K car speaker  

Copyright © All rights reserved.
Failed to retrieve file