GEOFRIEND3
oder "WO SIND DIE ANDEREN?"

VORLÄUFIGE PROJEKTIDEE
Stand: 18. April 2010

Bei GEOFRIEND3 handelt es sich um ein einfaches System zur Übermittlung von Standortdaten via Funk. Die dabei zum Einsatz kommenden Funkbausteine können von Jedermann betrieben werden und erlauben ( natürlich geländeabhängig ) Reichweiten von bis zu etwa 1Km. Jedes Teilnehmergerät sendet die vom eigenen GPS-Empfänger stammenden Positionsdaten an alle anderen Teilnehmer. Das kann in 8 wählbaren Zeitintervallen erfolgen und beinhaltet zusätzlich noch ein frei festlegbares Wort als Absenderkennung.
Sowohl die über Funk empfangenen, als auch die eigenen Positionsdaten erscheinen unter Verwendung eines handelsüblichen GPS-Handgerätes als Wegpunkte auf einer Karte ( Abb.1 ). Auf diese Weise können auf einen Blick Entfernungen und Richtungen zu den anderen Teilnehmern ermittelt werden. Bei Bedarf lassen sich darüber hinaus auch noch Zusatzdaten, wie z.B. Höhenwerte, Bewegungsgeschwindigkeiten und Bewegungsrichtungen aller Gegenstationen anzeigen.

          
Abb.1  Screenprint vom GARMIN OREGON
( Die blaue Marke markiert die Eigenposition [ incl. Bewegungsrichtung ] )

Vorausetzung für die Realisierbarkeit dieses Projektes war, daß es GPS-Handgeräte gibt, die zusätzlich zu ihrem NMEA-Datenausgang auch noch mit einem NMEA-Eingang ausgestattet sind. Bei Verwendung eines der hierbei unterstützten Datenformate lassen sich auf diese Weise neue Wegpunkte im geräteinternen Speicher ablegen und falls eine Kartendarstellung möglich ist, so lassen sie sich hierauf auch anzeigen. In der Praxis wurde diese Funktion bisher allerdings kaum benutzt, obwohl sie interessante Möglichkeiten zur Live-Positionsverfolgung jeder Art von Objekten oder Personen bietet.
Ankommende
Wegpunktdaten werden an Hand ihres Namens identifiziert, wobei das Eintreffen von Datenstrings mit bereits bekanntem WP-Namen zur Überschreibung bereits  abgelegter Positionsdaten und damit auch zur Aktualisierung der Anzeigeposition auf der Karte führt.
Mitübertragene Zusatzdaten können durch Antippen des jeweiligen Wegpunkt-Icons aufgerufen werden. Daraufhin öffnet sich ein sie anzeigender Bildschirm.
Eine weitere Möglichkeit des Aufrufs von Zusatzinformationen besteht über den im Hauptmenü zu findenden "WAYPOINT MANAGER". Die nach seiner Anwahl erscheinende Liste enthält alle dem System bekannten Wegpunktnamen, wobei sich die gewünschten Informationen durch Antippen des zugehörigen WP-Fensters, Anwahl der Funktion "VIEWMAP" und wiederum des WP-Namensfensters erreichen lassen.



Abb.2  Blockschaltbild  "GEOFRIEND 3
"

Wie aus Abb.2 hervorgeht, setzt sich "GEOFRIEND3" aus folgenden Hauptbestandteilen zusammen: einem handelsüblichen GPS-Handgerät; einem Mikrocontroller und einem 868MHz-Sende-/Empfangsmodul.


Abb. 3   Detailschaltbild  "GEOFRIEND3" ( Ohne Gewähr )

Über seine serielle Datenschnittstelle liefert das GPS-Gerät etwa im Sekundentakt serielle Navigationsdaten. Mithilfe eines Microcontroller vom Typ ATMEL "ATMEGA8" werden die dabei bereitgestellten NMEA-Datensätze der Typen: "GPGGA" und "GPRMC" ausgewertet, wobei der Erstere die Längengrad-, Breitengrad- und Höhendaten liefert und den RMC-Protokollen die Werte für Bewegungsgeschwindigkeit- und Bewegungsrichtung entnommen werden.
Die Identifikation der sendenden Stellen erfolgt über frei wählbare Ident-Namen. Sie können aus mehreren ASCII-Zeichen bestehen und erscheinen später neben der Positionsmarke auf der anzeigenden Karte. Aus Gründen der Übersichtlichkeit sollte man sich hierbei auf Namen mit max. etwa 8 Zeichen beschränken. Der jeweiligs gewählte Name wird einmalig im EEPROM-Bereich des Mikrocontrollers abgelegt und bleibt dort bis zu einer evtl. später einmal gewünschten Überschreibung erhalten. Die Texteingabe erfolgt über eine zeitweilig mithilfe eines separaten TTL-USB-Adapters herzustellende PC-Verbindung unter Verwendung eines dort zu installierten Terminalprogrammes. Der Mikrocontroller ist dafür in den Konfigurations-Modus zu versetzen.
Seine Hauptaufgabe besteht aber in der Konvertierung vom GPS-Empfänger angelieferter Daten in die auf seiner Eingangseite ( NMEA-IN ) verstandenen Formate. Dabei handelt es sich um die zur Wegpunkverarbeitung akzeptierten Protokolltypen: "GPWPL" und "PGRMW", wobei Letztere ein GARMIN-proprietäres ( = firmenspezifisches ) Format darstellen. Während die GPWPL-Protokolle nur Längen- und Breitengraddaten, sowie Wegpunktnamen enthalten, ist durch Verwendung von "PGRMW" zusätzlich auch noch eine Übermittlung von Höhendaten und verschiedenen Wegpunktsymbolen ( ICONS ) möglich. In einem Kommentarfeld lassen sich bei Bedarf auch noch beliebige andere Informationen hinzufügen. Bei uns sind es die von den Gegenstationen stammenden Bewegungsdaten. Nachdem die neu generierten Protokolle jeweils noch um die bei NMEA-Protokollen obligatorische Prüfsumme ergänzt wurden, werden sie vom Mikrocontroller mit 9600bps seriell ausgeben und gelangen an den Dateneingang "TxD" des Sendermoduls. An dieser Stelle setze ich das RADIOTRONIX Transceivermodul "Wi.232EUR-R" ein. Es arbeitet im 868MHz-Bereich und erlaubt Sendeleistungen von bis zu 32mW. Geländeabhängig sind dabei mühelos Funkreichweiten von mehreren Hundert Metern erreichbar. Zur Einhaltung des im 868MHz-Bereich vorgeschriebenen max. Duty-Cycles ( zeitlich prozentuale Frequenzbelegung ) wird das Modul bei mir im Kanal 4 ( 869.525MHz ) betrieben, der hierfür einen Wert von 10% zulässt. 
Über drei Port-Eingänge des Mikrocontrollers lassen sich die Pausenzeiten zwischen den einzelnen
Aussendungen in 8 Stufen zwischen 0 und 60 Sekunden variieren, so dass eine leichte Anpassung an die Betriebserfordernisse möglich ist.
Die am Empfängerausgang "RxD" zur Verfügung stehenden Empfangsdaten gelangen von dort direkt an den "NMEA-IN"-Eingang des GPS-Handgerätes.
Die ( auch hier nur einmal bei Erst-Inbetriebnahme erforderliche ) Konfiguration des Funkmoduls erfolgt ähnlich zum Mikrocontroller durch Herstellung einer PC-Verbindung. Dabei ist der schon oben erwähnte TTL/USB-Adapter an den Punkten E und F anzuschliessen und der Funkbaustein vorher in den Konfigurationsmodus zu versetzen. Die Verbindungen zu den Anschlüssen F und H sind dabei zeitweise zu unterbrechen. Die Einstellung der gewünschten Transceiverparameter erfolgt am PC mithilfe einer hierfür vom Hersteller zur Verfügung stehenden Windows-Software.

Bei der Auswahl geeigneter GPS-Handgeräte ist es nicht nur erforderlich, daß diese Geräte eine NMEA-IN-Funktion besitzen, sondern es muss auch noch die Möglichkeit bestehen, über serielle Datenanschlüsse hierauf zugreifen zu können. Geräte, die einen solchen Zugriff  NUR über USB erlauben, sind dabei allerdings üblicherweise nur als sog. USB-Slave ansprechbar, wozu dann üblicherweise ein als Master fungierender PC benutzt wird. Da die Peripheriegeräte selbst diese Master-Funktion nicht übernehmen können, sind sie hier auch nicht verwendbar.
Während serielle Datenanschlüsse häufig auch schon bei älteren GPS-Geräten zu finden waren, wurde auf sie später oft zugunsten von Nur-USB-Anschlüssen verzichtet. Vermutlich nach Kundendruck hat man sich ihrer erst in der letzter Zeit wieder besonnen, so dass die neueren GARMIN Gerätetypen OREGON ( ab Typ 300 ) und COLORADO wieder Schnittstellen besitzen, die eine Umschaltung zwischen USB und SERIELL erlauben.
Ich habe mich für das Modell OREGON400t entschieden, weil es von Haus schon eine europaweite topographische Karte im Maßstab 1:100000 mitbringt und damit für den Normalfall schon eine beachtlich detaillierte Auflösung sichergestellt ist. Wem das nicht genügt, dem bietet Fa. GARMIN ( für viel Geld ) auch noch topographische Karten im Maßstab 1:25000 und neuerdings ( ab Softweareversion: 4.0.6. ) lassen sich auch Ausschnitte der u.a. im gleichen Maßstab verfügbaren TOUR-Explorer-Karten von Fa. Magicmaps zum GPS-Empfänger exportieren.
Einige Kosten kann man auch noch sparen, in dem man den preiswerteren Gerätetyp OREGON300 einsetzt und dabei z.B. die kostenlos erhältlichen Karten aus dem OpenMaps-Projekt verwendet. Mit geeigneter Software ist darüber hinaus sogar die Einbindung selbst erstellter Karten möglich.
Für den Datenanschluss bietet GARMIN ein Anschlusskabels mit der Bezeichnung "010-11131-00" an. Es ermöglicht die Fernspeisung des GPS-Gerätes ( Spannungsbereich: 8-36V ) und bewirkt darüber hinaus eine kabelinterne Umschaltung zur Freigabe der seriellen Datenenein- und Ausgänge. Neben der  Spannungswandlung erfolgt innerhalb des Kabeladapters auch eine bidirektionale Pegelwandlung der Datensignale zwischen ( 3V- ) TTL und RS232.
Eine Verwendung dieses ( relativ teuren ) Kabels würde bei unserer Anwendung aber eine doppelte Pegelwandlung bedeuten, was natürlich technologisch nicht sehr elegant ist und auch mit einem ansich unnützen zusätzlichen Energiebedarf verbunden sein würde. Trotz aller Bedenken hinsichtlich der bei Fehlbeschaltung denkbaren Gerätebeschädingungen, wurde somit einer direkten Nutzung des am GPS-Gerätes vorhandenen Mini-B USB-Anschlusses doch der Vorzug gegeben. Nachdem eine eigene Belegung der winzigen Gegenstecker aber den meisten Hobbyelektronikern nicht möglich sein dürfte, bietet sich hierfür auf den ersten Blick die Verwendung von Teilen der als Massenware erhältlichen Standard-USB-Adapterkabel an. Deren Verwendung muss allerdings in den meisten Fällen ausscheiden, da sie üblicherweise nur 4-adrig ausgeführt sind und der bei uns zur Schnittstellenumschaltung ebenfalls benötigte Pin 4 auf der Mini-B-Seite dabei unbeschaltet geblieben ist. Als Lösung bietet sich somit nur die Verwendung von Kabeln mit vollständig belegtem Mini-B-USB-Stecker an. Dazu ist mir das folgende, auch die Angaben zur Steckerbelegung enthaltende Angebot aus den USA bekannt:
https://www.argentdata.com/catalog/product_info.php?cPath=21&products_id=111&osCsid=2ea13b68a3dc01ea93894bb58f2aa0de
Wer einen Import scheut, der kann auch dieses ( leider auch nicht ganz billige ) Spezial-Verlängerungskabel verarbeiten:
http://www.partsdata.de/USB_Mini-B-Verlaengerung_Kabel_1m_CU-XB05-10.html

NACHBAU

Das im Flash-Speicher des Mikrocontrollers abzulegende Programm wurde in BASCOM-AVR geschrieben und ist bei Interesse als HEX-File verfügbar. Ansonsten gibt es die Einheit bisher nur als Versuchsaufbau. Falls irgendwo Interesse bestehen sollte, dafür ( SMD- ) Platinen zu entwerfen, so ist das durchaus in meinem Interesse und würde auch mit Rat und Tat unterstützt werden. Ich selbst habe allerdings derzeit nicht vor, in dieser Richtung aktiv zu werden.

KONTAKT: khhmz(at)t-online.de

INTERESSANTE LINKS

Weitere Seiten des Verfassers zu ähnlichen Themen:
http://www.kh-gps.de/oregon.htm
http://www.kh-gps.de/oregonaprs.htm

Funkmoduln:
http://www.mikrokopter.de/ucwiki/RadioTronix
http://plischka.at/Wi.232EUR-R.html
http://www.radiotronix.com/products/proddb.asp?ProdID=13
http://www.bundesnetzagentur.de/media/archive/6709.pdf

NMEA-Protokolle:
http://www.kowoma.de/gps/zusatzerklaerungen/NMEA.htm
http://info.aprs.net/index.php/$PGRMW
http://www.gloposys.de/Global%20Positioning%20System%20CD/anhang-a.htm

Garmin-GPS-Empfänger:
http://gpsinformation.info/penrod/oregon/oregon.html

http://garmin.blogs.com/softwareupdates/2009/06/aprs-support-in-colorado-and-oregon.html
https://buy.garmin.com/shop/shop.do?pID=26668

GPS-Geräteschnittstellen:
http://info.aprs.net/index.php/HandHeldGPS
http://info.aprs.net/index.php/VehicleGPS

Kartenmaterial:
http://www.garmin.com/garmin/cms/site/de/karten/topo_karten/deutschland_v2
http://www.amazon.de/Garmin-Freizeitguide-Deutschland-Freizeitkarten-Regionen/
      dp/B001FO55MS/ref=sr_1_17?ie=UTF8&s=ce-de&qid=1263830255&sr=1-17

http://www.cachewiki.de/wiki/Eigene_Karten_f%C3%BCr_Garmin_Ger%C3%A4te
http://openmaps.eu/download
http://www.kowoma.de/gps/freieKarten/freieKarten.htm

USB/TTL-Adapter:
http://www.chip45.com/Peripherie-Module/ioMate-USB1-CP2102-USB-UART-Wandler-Modul.html
http://www.sparkfun.com/commerce/product_info.php?products_id=718
http://plischka.at/USB-to-TTLRS232.html

DC/DC-Wandler:
http://www.sparkfun.com/commerce/product_info.php?products_id=8290

BASCOM-AVR:
http://www.mcselec.com/

KONTAKT: khhmz(at)t-online.de