APRS meets ANDROID
oder
 
Darstellung von APRS-Positionsdaten auf Karten am Smartphone oder Tablet

  APRS is registered Trademark by Bob Bruninga, WB4APR
17. Februar 2015

   Showing APRS Position Data by using ANDROID APP "LOCUS  PRO"  Here automatic translation made by GOOGLE:
 https://translate.google.de/translate?sl=de&tl=en&js=y&prev=_t&hl=de&ie=UTF-8&u=http%3A%2F%2Fwww.kh-gps.de%2Flocus_pro.htm&edit-text=

Als unlängst eine Auslandsreise vorbereitet wurde, suchte ich im Internet nach einer geeigneten APP, die eine Offline-Darstellung von vorher heruntergeladenen Stadtplänen auf dem ANDROID-Smartphone bzw. Tablet ermöglichen sollte. Auf diese Weise wurde das von einer Prager "Softwareschmiede" stammende Programm LOCUS [1] "entdeckt". Neben der Nutzung bekannter Online-Karten erlaubt es auf einfache Weise auch ein Herunterladen und die spätere Verwendung frei erhältlichen Kartenmaterials, wie z.B. dem von Open Street Maps (OSM) oder Map Quest. Inzwischen habe ich dieses, in seiner Basisversion kostenlos aus z.B. dem "Play Store" herunterladbare Programm, schon mehrfach zu meiner Zufriedenheit eingesetzt.


Abb.1  Beispiel für Displaydarstellung ( Für Originalgröße anklicken )
Anm.: Die Kartendarstellung ist zoombar und auch die Größe der Call-Darstellung ist frei wählbar.

Mehr zufällig fand ich im Internet noch eine kurze Notiz darüber, dass dieses Programm in seiner LOCUS PRO-Version in der Lage sein sollte, auch Wegpunkdaten gemäß NMEA 0183-Protokoll "GPWPL" verarbeiten zu können. Obwohl diese erweiterte Programmversion auch die Zahlung einiger Euros erfordern würde, liess mich das aufmerken. Der Grund dafür war, dass ich mich schon seit Jahren mit der Auswertung dieser von vielen APRS-tauglichen Transceivern und Trackern bereitgestellten Daten beschäftige. Mehr dazu ist an anderen Stellen zu finden [2],[3],[4].
Die GPWPL-Protokolle beinhalten im Wesentlichen nur die Daten von Längen- und Breitengrad, sowie dem Wegpunknamen. Bei APRS-Anwendungen entspricht dieser dem Rufzeichen der absendenden Station ( mehr dazu weiter unten ). Mithilfe von LOCUS PRO wird nun die Darstellung genannter Daten innerhalb der  angezeigten Karten möglich. ( Abb.1, Abb.2 ).


Abb.2  Beispiel für Displaydarstellung ( Für Originalgröße anklicken )
Anm.: Die Kartendarstellung ist zoombar und auch die Größe der Call-Darstellung ist frei wählbar.

Alle APRS-tauglichen Kenwood-Geräte und auch einige APRS-Tracker sind mit einer seriellen Datenschnittstelle ausgestattet, über die genannte GPWPL-Protokolle bereitgestellt werden können. Gearbeitet wird dabei üblicherweise mit RS-232-Pegelwerten. Bevor sie benutzt werden können, sind allerdings noch einige Konfigurationseinstellungen vorzunehmen. Die Details dazu sollten dem jeweils zugehörigen Handbuch entnehmbar sein ( nach dem Stichwort: "Waypoint" suchen ). Einzustellen sind dabei der schon mehrfach erwähnte Protokolltyp "GPWPL", sowie die Datenrate 9600bps. Falls nach dem Maximalwert der für Wegpunknamen nutzbaren Zeichen gefragt werden sollte, so ist hierbei die Ziffer "9" zu verwenden.

Die Zuführung serieller Daten in Richtung Smartphone erfolgt üblicherweise über eine max. etwa 15m Distanz erlaubende Bluetooth-Funkverbindung. Hierfür sind nahezu alle ANDROID-Geräte bereits von Haus aus ausgestattet. Bleibt noch die Notwendigkeit zur Einrichtung einer entsprechenden Gegenstelle auf der Seite der APRS-Transceiver/Tracker. Hierfür grundsätzlich geeignet sind eine Unzahl kleiner Bluetooth-Bausteiene, so wie sie inzwischen für deutlich unter 10 Euro aus z.B. fernöstlicher Fertigung stammend auch von inländischen Händlern angeboten werden.  


Abb.3  Anordnung auf der Funkgeräteseite ( rechts im Bild: Der Bluetoothadapter und der 3,7V-Akku )
 
Bei Bluetoothverbindungen wird die verbindungsaufbauende Seite immer als MASTER und die Gegenseite als SLAVE bezeichnet. Nachdem der Aufbau einer Verbindung in unserem Fall IMMER ausgehend von der Smartphoneseite erfolgt, bleibt für die Gegenseite nur die SLAVE-Funktion. Damit genügt es auch, wenn an dieser Stelle ein Modultyp verwendet wird, der ausschliesslich diesen Mode beherrscht.


Abb.4   Bluetoothadapter für die Funkgeräteseite ( hier: passend für Kenwood- und Yaesu-Geräte )

Weit verbreitet sind Moduln der Typen "HC-05" und "HC-06", wobei letzgenannter Typ nur als SLAVE verwendbar ist. In einem älteren Beitrag [6] wurde schon einmal ein Adapter beschrieben, der mit einem BT-Modul aufgebaut wurde, das dem "HC-05" zumindest sehr ähnlich ist. Auf dem Markt gibt es aber auch fertig erhältliche Bausteine, die bereits eine RS-232-Schnittstelle besitzen und dazu mit einem Pegelwandlerchip ( z.B.: MAX3232 ) ausgestattet sind [5].
Üblicherweise sind die BT-Basismoduln mit einer Spannung von 3,3V zu versorgen, wobei ein ggf. noch zusätzlich vorhandener Spannungsregler u.U. auch einen erweiterten Spannungsversorgungsbereich erlaubt. Der maximal zulässige Spannungswert an ihrem seriellen TTL-Dateneingang darf in jedem Fall aber 3,3V nicht überschreiten.


Abb.5  Musteraufbau der Bluetooth-Adaptereinheit für die Funkgeräteseite

Zur Verarbeitung von Signalen, die mit RS-232-Pegelwerten anliegen, ist im einfachsten Fall nur ein Transistor mit wenigen zusätzlichen Bauteilen erforderlich. Abb.4  zeigt das Schaltbild einer entsprechenden für die APRS-Funkgeräteseite realisierten Anordnung und Abb.5 ihren Musteraufbau. Verwendet wird ein BT-Modul mit der Bezeichnung "JY-MCU". Es ist mit einem Baustein des Typs "HC-06" bestückt und meldet sich auch unter diesem Namen. Sein Versorgungsspannungsbereich liegt zwischen 3,6 und 6V. Die auf der Platine sichtbare rote LED wird nach der Inbetriebnahme blinken und nach Aufbau einer Bluetoothverbindung ständig leuchten. 

Inbetriebnahme

Im Lieferzustand arbeiten Bluetooth-Moduln üblicherweise im SLAVE-Mode mit einer Datenrate 9600bps. Somit sind an dieser Stelle im Normalfall keine weiteren Einstellungsänderungen erforderlich. Anderenfalls sind die jeweils zugehörigen Datenblätter zu bemühen.

Um ausgehend vom Smartphone eine Verbindung zum Modul herstellen zu könnnen, muss zuerst eine Paarung zwischen diesen beiden BT-Elementen hergestellt worden sein. Dazu kann man im BLUETOOTH-Menü des Phones nach im Nahbereich neu hinzugekommenen BT-Geräten suchen und dann eine Paarung einleiten. Sollte hierbei nach einer Kennziffer gefragt werden, so dürfte es in nahezu allen Fällen genügen, es mit den Folgen "1234" oder "0000" zu versuchen.

In Verbindung mit der Verarbeitung von APRS-Daten sind auch im Menü von LOCUS PRO noch einige zusätzliche Einstellungen erforderlich bzw. möglich, wobei diese Angaben keinerlei Anspruch auf Vollständigkeit besitzen. Vermutlich erlaubt das Programm zusätzlich auch noch einige, von mir bisher noch nicht "entdeckte" Funktionen, wobei in diesem Zusammenhang aber auf das zugehörige ausführliche Handbuch verwiesen sei. Wichtig ist dabei aber in jedem Fall, dass über das Auswahlfenster: "HAUPTMENÜ" das Untermenü "EINSTELLUNGEN" gewählt wurde.

* Für längere Einsätze ist auch eine Fremdversorgung des Smartphones sinnvoll. Danach kann man sich auch erlauben, im Menüpunkt "ANZEIGE" die Funktion: "Display immer an" zu aktivieren.

*  Um auf den dargestellten Karten nicht nur die Position empfangener Stationen, sondern auch deren Rufzeichen sehen zu können, ist im Menüpunkt : "KARTE OBJEKTE & DARSTELLUNG" die Funktion " Zusätzliche Beschriftungen" zu wählen. Unter "Größe der Kartensymbole" und/oder "Textgröße" kann im gleichen Menüpunkt auch eine Änderung genannter Einstellungen vorgenommen werden.

* ... und um überhaupt via Bluetooth empfangene GPWPL-Daten verarbeiten zu können, ist im Menüpunkt: "GPS & ORTUNG" unter "Bluetooth GPS"  die Einstellung "NMEA READER" zu wählen. Bei einer ersten Inbetriebnahme ist unter ihrem jeweiligen Namen auch noch die verwendete BT-Gegenstelle auszuwählen.

Während ältere Versionen von "LOCUS PRO" nur Protokolle des Typs "GPWPL" als externe Daten akzeptierten, wurde die Software inzwischen dahingehend erweitert, dass jetzt auch die Datensätze "GPRMC" und "GPGGA" ( es müssen aber immer beide Protokolltypen angeliefert werden ) akzeptiert werden.  Diese Erweiterung lag besonders im Interesse der  Modellbaufreunde. Gewünscht wurde weiterhin eine Akzeptanz der sog. Kenwood-Protokolle "PKWDWPL". Hierbei handelt es sich um eine speziell für APRS-Anwendungen erweiterte GPWPL-Variante, die neben Absendernamen und Positionsdaten auch noch Angaben über z.B. Bewegungsrichtung und -geschwindigkeit, sowie Höhendaten und ( besonders interessant ) Daten für unterschiedliche APRS-Icons enthalten kann. Die entsprechende Implementierung lässt aber leider noch auf sich warten ( siehe dazu auch [9] ).

Problembehandlung

Für den Fall, dass unter LOCUS PRO keine von der Gegenseite eintreffenden Positionsdaten sichtbar werden, kann es sinnvoll sein zu prüfen, ob überhaupt und ggf. welche Art Daten auf der Smartphoneseite ankommen. Hierbei kann ein ANDROID-Terminalprogramm, wie z.B. "S2 Bluetooth Terminal2" [7] sehr nützliche Dienste leisten. Dazu ist die Ausführung von LOCUS PRO vorerst zu beenden und die Verbindung zum BT-Modul der Gegenseite stattdessen via Terminalprogramm herzustellen. Danach sollten empfangene Daten auf dem Display sichtbar werden und damit auf einfache Weise auch eine Kontrolle über die Richtigkeit der als ASCII-Texte übertragenen [GPWPL-] Protokolle ermöglichen. Sind keinerlei Daten sichtbar, so ist zuerst sicherzustellen, dass diese von Seiten des angeschlossenen Funkgerätes auch wirklich bereitgestellt werden. Sind nur kryptische Daten zu erkennen, so ist anzunehmen, dass die am Funkgerät gewählte Datenrate nicht mit derjenigen übereinstimmt, die der Konfiguration des BT-Moduls entspricht. An dieser Stelle wird üblicherweise mit 9600bps gearbeitet, aber grundsätzlich können die beiden zu verbindenden Elemente auch unter Verwendung einer davon abweichenden Datenrate zusammengeschaltet werden.

Das GPWPL-Eingangsdatenformat und APRS-Geräte,
die entsprechende Daten bereitstellen


Unter dem Namen "NMEA 0183" gibt es vorzugsweise für maritime GPS-Anwendungen gedachte Festlegungen für Datenübertragungssysteme. Hierzu gehört auch ein Protokoll mit der Bezeichnung: "GPWPL". Es ist zur Übertragung von Wegpunktdaten ( Waypoints ) geeignet und beinhaltet neben dem Header lediglich Werte von Breitengrad, Längengrad, dem Namen des Wegpunktes und der CRC-Prüfsumme. Im Amateurfunkeinsatz entspricht der Wegpunktname dabei dem Rufzeichen der absendenden Station. 


Beispiel für ein NMEA-Protokoll des Typs: "GPWPL"

Alle in der folgenden Tabelle gelisteten Geräte ( ohne Anspruch auf Vollständigkeit ) sind in der Lage, Daten empfangener Stationen nach "GPWPL" bereitzustellen.
Ggf. sind vorher allerdings noch einige Konfigurationseinstellungen ( siehe dazu die jeweils zugehörigen Handbücher ) durchzuführen.

Kenwood-TH-D7[A/E]
-Kenwood TH-D72[A/E]
Kenwood TM-D700[A/E]
Kenwood TM-D710[A/E]
Yaesu VX-8G[E/R]
Yaesu FT1D[E/R]
Yaesu FTM-400D[E/R]
Byonics Tinytrak4
ArgentData Opentracker+ (OT1+)
ArgentData Tracker2 (T2)
ArgentData Tracker3 (T3)
RPC Electronics LLC
Express Tracker


Wer kein Gerät mit passender GPWPL-Datenschnitttstelle besitzt, der sei auf die als Alternativlösung geeigneten Ein-Chip-Decoder "Simpler TRX7" bzw. "Simpler TRX8" von N0QBH verwiesen. In einem entsprechenden Abschnitt im unteren Teil meiner älteren Seite [2] oder auch in [8] gibt es dazu weitere Informationen und auch Links. Bei Verwendung dieser Decoder ist allerdings zu beachten, dass ihre Ausgangsdatenrate bei 4800bps liegt, so dass in diesem Fall auch die serielle Eingangsdatenrate des verwendeten Bluetooth-Moduls entsprechend umzustellen ist.

NEU: Simple-Decoder "APRS2WPL"
Seit kurzer Zeit gibt es eine ARDUINO-Library [10],[11], mit der sich die Erstellung von Programmen zur Encodierung und Decodierung von AX25-Daten wesentlich vereinfacht. Das betrifft besonders auch die Verarbeitung von APRS-Protokollen. Mit ihrer Hilfe lässt sich beispielsweise eine sehr einfache Anordnung erstellen, die eine direkte Decodierung der vom Tonausgang eines FM-Empfängers gelieferten APRS-Daten ermöglicht und sie in NMEA-Protokolle des Typs "WPL" wandelt.     


Abb.6  Empfangsanordnung für "APRS2WPL"

Einzelheiten sind aus Abb.6 ersichtlich. Gezeigte Anordnung ist generell mit einer Vielzahl unterschiedlicher ARDUINO-Boards realisierbar, wobei sich ein Einsatz des Boards ARDUINO "Pro Mini" aber auch aufgrund seiner geringen Abmessungen besonders anbietet. Über den Analogeingang #A0 werden AFSK-Signale verarbeitet, die hier mit einem Pegel von einigen Hundert Millivolt anliegen müssen. Ist die Rauschsperre des angeschlossenen Empfängers geöffnet, so wird die LED1 während des Empfangs der Rauschsignale flackern und für die kurzen Zeitpunkte der Datenübertragung jeweils dauerhaft leuchten. Die Ermittlung des günstigsten NF-Eingangspegels erfordert ein wenig Versuchsarbeit, sollte aber ohne grössere Probleme möglich sein. Verarbeitet werden sowohl im Standard-APRS-, als auch im komprimierten Mic-E-Format ausgesandte Signale. Nach Wandlung in das WPL-Format stehen sie am Ausgang #D1 mit einer Datenrate von 9600bps zur Verfügung. Von hier aus können sie dem Dateneingang eines im Slave-Mode arbeitenden Bluetoothadapters zugeführt werden. Ausgehend von einem ANDROID-Smartphone oder Tablet lässt sich zu ihm eine Funkverbindung aufbauen. Daraufhin lassen sich, wie auch schon weiter oben einmal beschrieben, am Smartphone ankommende serielle WPL-Protokolldaten mithilfe von "Locus Pro" als Wegpunkte verarbeiten.
Die ARDUINO-Software und die zugehörige Library "LibAPRS" lassen sich hier herunterladen: http://www.kh-gps.de/aprs2wpl.zip

Linkliste

[1]  http://www.locusmap.eu/
[2]  http://www.kh-gps.de/aprspeak.htm
[3]  http://www.kh-gps.de/ardudec.htm
[4]  http://www.kh-gps.de/Aprspeak2.htm
[5]  http://www.kh-gps.de/bt_rs.htm
[6]  http://www.kh-gps.de/rs232_bt.htm
[7]  https://play.google.com/store/apps/details?id=jp.side2.apps.btterm&hl=de
[8]  http://www.kh-gps.de/n0qbh.htm
[9]  http://www.kh-gps.de/wpl2kiss.htm
[10] https://github.com/markqvist/LibAPRS
[11] http://unsigned.io/forum/

E-Mail contact via: