"WPL2KISS"
Nutzung von "APRSDROID" zur Auswertung der von vielen APRS-tauglichen
Funkgeräten und Trackern bereitgestellten Navigationsdatenprotokolle.

SEITE IST NOCH IM AUFBAU
Stand: 5. Februar 2012

    Using ANDROID software "APRSDROID" for decoding navigation data ( WPL and PKWDWPL ) as provided by KENWOOD-APRS Radios and different GPS-Trackers
Here is automatic translation made by Google:
http://translate.google.com/translate?hl=en&sl=de&tl=en&u=http%3A%2F%2Fkh-gps.de%2Fwpl2kiss.htm
BTW: better translations would be appreciated

Viele APRS-Tracker und auch einige Funkgeräte ( siehe Tabelle 1 ) sind mit einer seriellen Schnittstelle ausgestattet, über die Positionsdaten empfangener Stationen verfügbar sind. Meine Wunschvorstellung bestand nun darin, diese Daten komfortabel auswerten zu können. Damit sollte es besonders auch im Mobil- und Portabelbetrieb möglich sein, parallel zum Bakenbetrieb ohne viel Aufwand und auch ohne Internetkontakt das APRS-Geschehen rund um den eigenen Standort beobachten zu können. Als Zugabe wurde angestrebt, die übermittelten Standortdaten bei Bedarf auch strassengenau auf Karten sichtbar machen zu können.

 
Tabelle 1  Funkgeräte und APRS-Tracker mit GPWPL- und sonstigen Datenausgängen

* Bei den von Geräten der ersten Generation "TH-D7" ausgegebenen GPWPL-Protokollen ist die Anzahl der ASCII-Zeichen für Wegpunktnamen auf 6 begrenzt. Bei längeren WP-Namen bzw. AFU-Calls führt das zu einer Beschneidung der Zeichenfolge. Das Ergebnis sind dann nur teilweise übertragene Rufzeichen. BEISPIEL: "DB0XYZ-9" wird zu "0XYZ-9" !!
Bei der 2. Geräteversion
( V.2 ) war dieser Fehler bereits behoben.


Lange Zeit hatte ich nach einer entsprechend geeigneten Lösung gesucht, als ich unlängst auf das Programm "APRSDROID" aufmerksam wurde. Lauffähig ist es auf Smartphones und Tablets, die das inzwischen schon sehr verbreitete Betriebssystem ANDROID unterstützen.
Obwohl ursprünglich in erster Linie dafür gedacht, Internet-Verbindungen in das weltweite APRS-IS-Netz herzustellen, erlauben neuere Programmversionen auch die Zusammenarbeit mit im KISS-Mode arbeitenden TNC's, wobei die Verbindung zwischen Smartphone/Tablet und Controller über eine Bluetooth-Datenverbindung zu erfolgen hat. Dieses Programm konnte generell schon alles leisten, was ich mir auch in Verbindung mit den verfügbaren Daten der  APRS-Geräte wünschte, nur bestand die Notwendigkeit, sie vorher noch in das von APRSDROID ausschliesslich akzeptierte APRS-KISS-Format zu wandeln. Realisiert wurde das mithilfe einer für den BASCOM-AVR-Compiler geschrieben, in einen Prozessor Atmega8 zu brennenden Firmware. Hardwaremäßig wurde für das Projekt eine Platine entworfen, die neben dem Prozessor auch noch den zur Aussendung gewandelter Daten in Richtung Smartphone/Tablet dienenden Bluetooth-Chip trägt.
Bei den zu verarbeitenden Ausgangsdaten handelt es sich zuerst einmal um NMEA-Protokolle des Typs "GPWPL", die inzwischen bereits von einer Reihe von Funkgeräten bzw. APRS-Trackern bereitgestellt werden ( siehe Tabelle 1 ). Die Protokolle sind sehr einfach aufgebaut und setzen sich nur aus den Werten von Längengrad, Breitengrad, Wegpunktnamen ( im AFU-Betrieb ist das üblicherweise das Call der absendenden Station mit ggf. seinem SSID-Anhang ) und einer Prüfsumme zusammen. Hier ist ein Beispiel für ein solches GPWPL-Protokoll:

Nachteilig ist dabei allerdings, dass keine Möglichkeit zur Übermittlung des APRS-Icontyps besteht, so dass bei der noch zu beschreibenden Kartenanzeige nur mit einem Standardsymbol gearbeitet werden kann und Unterscheidungen, wie z.B. Haus, Auto, Fussgänger usw. leider nicht möglich sind. Die Firma Kennwood hat daraus Konsequenzen gezogen und mit "PKWDWPL" ( Tabelle 2 ) einen proprietären ( firmenspezifischen ) Protokolltyp geschaffen. Er beseitgt den erwähnten Nachteil  und schliesst darüberhinaus auch noch andere interessante Daten, wie Bewegungsgeschwindigkeit und -richtung, sowie Höhenwerte ein. Alle neueren Kenwood-Geräte unterstützen auch diesen Protokolltyp, wobei noch zu beachten ist, dass in ihrem Gerätemenü einmalig die Stelle aufzurufen ist, an der 9-stellige Wegpunktnamen angewählt werden können.


Tabelle 2   Kenwood-Protokoll "PKWDWPL"

Wer den Einsatz von Industriegeräten verschmäht, der kann auch die sehr einfachen und preiswerten Selbstbaudecoders von Mike Berg, N0QBH [14],[15] nutzen. Neben der für allgemeine Packet- und APRS-Anwendungen gedachten Softwareversion, gibt es mit "simpler TRX7" ( für PIC16F627 ) und "simpler TRX8" ( für PIC16F2628 ) auch Versionen zur  Ausgabe von WPL-Daten. Alternativ dazu ist aber auch der "Opentracker1+" bzw. einer seiner Nachbauten einsetzbar [16]. 
CONVERTIERUNG VON "GPWPL"/"PKWDWPL" NACH "APRS-KISS"

Zur Formatwandlung wurde eine für den BASCOM-AVR-Compiler geschriebene Firmware erstellt. Als Prozessor wurde der ATMEL-Typ "ATMEGA8" ausgewählt. Abb.1 zeigt das Hardwareschaltbild des daraufhin realisierten Converters.


Abb.1  Decoder von NMEA-/GPS-A-Protokollen in das APRS-Kiss-Format
Hinweis: Die Funktion der Schalter "S2" und "S3" entfällt bei dieser Anwendung

Über den RS232-Eingang werden die von den Funkgeräten oder APRS-Trackern stammenden Navigationsdaten verarbeitet. Zur Adaption ist lediglich ein handelsüblicher, gemäss Abb.2 zu belegender 2.5mm-Stereo-Klinkenstecker erforderlich. 


Abb.2   2.5mm-Datenanschluss für Kenwood-Funkgeräte

Via Schalter "S1" kann zwischen den Datenraten 9600bps ( S1: "offen" ) und 4800bps ( S1: "geschlossen" ) gewählt werden. Die Einstellung hat in Übereinstimmung mit dem benutzten Funkgerät zu erfolgen. Transistor T1 setzt die Eingangssignale auf den zur Steuerung des Atmega-Prozessors benötigten TTL-Pegel um. Der Prozessor selbst ist mit der passenden Firmware ( wird hier demnächst bereitgestellt ) zu laden und dient der Convertierung ankommender Daten in das benötigte APRS-KISS-Format, wobei mit einer Ausgabedatenrate von  19200bps gearbeitet wird.
Diode "LED1" ist im Betrieb ständig aktiv, verlischt aber jeweils kurz nach jeder Protokollaussendung.
Die vom Prozessor an seinem Pin3 bereitgestellten Ausgangsdaten werden einem Bluetoothmodul "BTM-222" [8] zugeführt. Um sie ausenden zu können, ist das Modul vorher einmalig als SLAVE zu deklarieren und auf die Datenrate 19200bps einzustellen [*]. Im Grundmenü des ANDROID-Gerätes ist ebenfalls einmalig eine Paarung mit dem BT-Modul herzustellen. Danach sollte das BT-Modul auch im entsprechenden Menü von APRSDROID erscheinen, womit der spätere Aufbau einer BT-Verbindung möglich wird. Diese wird allerdings erst hergestellt werden, wenn unter APRSDROID später auch die Tracking-Funktion gewählt wird ( siehe weiter unten ). "LED3", die bis zu diesem Zeitpunkt nur ständig blinkte, sollte zur  Signalisation dieses Zustandes danach dauerhaft leuchten. Im Gegensatz dazu wird "LED2" bei bestehender BT-Verbindung immer nur für die kurzen Zeitpunkte der Datenübertragung leuchten.
Als Antenne für das Bluetooth-Modul verwende ich ein nur etwa 30mm langes Stück Schaltdraht, was etwa dem Viertel der benutzten Wellenlänge von ca. 12cm entspricht. Nachdem die  propagierte Ausgangsleistung des Bluetooth Moduls "BTM-222" bei +18dbm ( = ca. 65mW ) liegt, können Funkreichweiten von bis zu 100m erwartet werden, wobei das natürlich auch von der technischen Ausstattung der Gegenseite abhängig ist.
Der 6pol. ISD-Anschluss ermöglicht ein sogenanntes "In Circuit Programming" des eingesetzten Prozessors
Wenn Positionsdaten empfangener Stationen auch auf Karten dargestellt werden sollten, war bei früheren Programmversionen von APRSDROID immer auch eine Internetverbindung erforderlich, Dabei wurde auf das von GOOGLE bereitgestellte Kartenmaterial zurückgegriffen. Alternativ dazu gibt es aber auch neuere Programmversionen, bei denen stattdessen mit OSM-Karten ( OSM= Open Street Maps ) gearbeitet wird. Der Vorteil dabei ist, dass sich diese Karten länderweise aus dem Internet herunterladen und auf der Speicherkarte des Android-Gerätes ablegen lassen, um anschliessend immer auch Offline zur Verfügung zu stehen. Die Karte von Deutschland hat z.B. eine Größe von etwa 1GB.
Näheres zur Verwendung von OSM-Karten unter APRSDROID findet man hier [3].


AUSWERTUNG VON WPL- UND PKWDWPL-PROTOKOLLEN UNTER "APRSDROID"

     
Abb.3-5

Nach dem Starten des "Tracking-Modes" wird die Bluetoothverbindung mit dem BTM222-Modul hergestellt. In der Einstellung "Protokoll" sollten jetzt laufend die nach Convertierung vom angeschlossenen Tracker/Funkgerät eintreffenden Navigationsdaten ( Abb.3 ) aller empfangenen Stationen sichtbar werden. Das Fenster gemaess Abb.4 wird nach Anwahl der Funktion "Hub" sichtbar. Hier werden alle seit Tracking-Start verarbeiteten Stationen gelistet. An oberster Stelle steht der Eintrag der von APRSDROID automatisch generierten, im vorliegenden Fall aber nicht genutzten eigenen Aussendung. Danach folgt eine nach Entfernung vom Eigenstandort sortierte Liste empfangener Stationen. Damit ist es sehr einfach möglich, gerade das APRS-Geschehen im näheren Umfeld schnell überschauen zu können.
Vor den angezeigten Rufzeichen ist jeweils das zugehörige APRS-Icon sichtbar, wobei hier im Fall der WPL-Decodierung ( wie schon oben erwähnt ) allerdings nur das Standard-Icon erscheinen kann.
Durch Berühren eines einzelnen Eintrags kann auf ausschliessliche Anzeige der von zugehörigem Call stammenden Daten umgeschaltet werden ( Abb.5 ).

  
Abb.6-7 
Zoombare Kartendarstellung; hier: OSM-Karten ( Für Darstellung in Originalgröße anklicken )

Durch weiteres Berühren des oberen Fensters kann der hinter jedem Eintrag abgelegte Standort auch auf Karten visualisiert werden ( Abb.6-7 ). Dabei sind weitgehende Zoommöglichkeiten bis auf Strassenniveau möglich, so dass sehr einfach z.B. auch eine Verfolgung sich bewegender Mobilstation möglich ist.  

  VERWENDUNG DES DECODERS
IN VERBINDUNG MIT DEM PC-PROGRAMM "
UI-VIEW"

NOCH NICHT PRAKTISCH GETESTET:
Die vom Decoder bereitgestellten Protokolldaten sollten sich auch am PC auswerten lassen. Dabei könnte z.B. das bekannte Programm "UI-VIEW" zum Einsatz kommen. Während viele PC's bereits von Haus aus mit einem Bluetooth-Modul ausgerüstet sind, kann man anderenfalls aber auch einem über die USB-Schnittstelle ansteckbaren Bluetooth-Stick benutzen. Mithilfe der zugehörigen BT-Software lässt sich eine Suche nach potentiellen Gegenstellen durchführen. Wenn im Betrieb und in Reichweite befindlich, sollte dabei auch unser BTM-222-Modul erkannt und eine serielle Verbindung zu ihm aufbaubar sein. Fragen nach einem Initialisierungscode müssen dabei mit dem Standardwert "1234" beantwortet werden. Nach erfolgtem Verbindungsaufbau sollte die Ordnungszahl der eingerichteten virtuellen Schnittstelle
( z.B. COM 4 ) angezeigt werden. Entsprechend dieser Angabe ist auch die unter "UI-VIEW" benutzte Schnittstelle zu wählen. Weiterhin ist in seinem Programmmenü der "KISS-Mode" zu selektieren. Darüberhinaus kann es sein, dass es erforderlich ist, auch unter: "SETUP" > "MISCELLANEOUS" bei "Relaxed frame type check" einen Haken zu setzen.

NACHBAU

Inzwischen wurden auch ein passendes Platinenlayout entworfen ( Abb.8 ) und einige Musterplatinen bestellt. Wenn sie schätzungsweise Ende Februar eintreffen, werde ich einen Versuchsaufbau durchführen, das Ganze testen und auch die Firmware daraufhin noch einmal optimieren. Anschliessend werden hier auch Sourcecode und HEX-File herunterladbar sein. Darüberhinaus ist beabsichtigt, an dieser Stelle auch bereits programmierte Prozessorern und Platinen auf privater Basis anzubieten.


Abb.8  Decoder-Layout ( für Darstellung in Originalgrösse anklicken )


LINKLISTE

Siehe auch ein ähnliches Projekt, bei dem es um die Auswertung  der von D-STAR-Geräten bereitgestellten Navigationsdaten geht: http://www.kh-gps.de/ser2bt.htm

[1]   http://aprsdroid.org/
[2]   http://aprsdroid.org/download/
[3]   http://aprsdroid.org/osm/
[4]   http://twitter.com/aprsdroid
[5]   https://github.com/ge0rg/aprsdroid/wiki
[6]   https://github.com/ge0rg/aprsdroid/issues/12
[7]   http://www.kh-gps.de/aprsdroid.pdf
[8]   http://www.kh-gps.de/btm222.htm
[9]   http://www.youtube.com/watch?v=UWkh-7unMlg
[10] http://www.youtube.com/watch?v=MAO3rGFf-Gs
[11] http://www.androlib.com/android.application.org-aprsdroid-app-xEtFt.aspx
[12] http://ok1djo.howto.cz/wordpress/?p=44
[13] http://vk7hse.hobby-site.org/blog/2011/11/tinytrak4-bluetooth/
[14] http://www.ringolake.com/pic_proj/pic_index.html
[15]
http://www.ringolake.com/pic_proj/decoder/rx_206.html
[16] http://www.kh-gps.de/ot1-clone.htm 
[17] http://translate.google.com/translate?hl=en&sl=de&tl=en&u=http%3A%2F%2Fkh-gps.de%2Fwpl2kiss.htm ( english translation by google )

Nach erster Berührung mit "APRSDROID" entstand im Sommer 2011 ein Vortrag, dessen Folien hier:  http://www.kh-gps.de/aprsdroid.pdf  eingesehen werden können.

Das Video eines Vortrags von John Hansen, W2FS, in dem auch das Programm "APRSDROID" erwähnt wird und das er auf der DCC 2011 gehalten hat, ist hier zu sehen: http://www.youtube.com/watch?v=MAO3rGFf-Gs

E-Mail contact via: