APRS(R)-Auswertung  mit D-RATS-Software
Version vom 10. Mai 2009

  This page is describing, how D-RATS, a well known D-STAR chat and file transfer program made by Dan Smith, KK7DS, can be used for decoding and map display of APRS data. For the moment this is done by using an external ATMEGA 8 microcontroller. The processor is doing code conversion from NMEA type WPL sentences into D-STAR compatible format. WPL data are provided by GPS-Trackers like TINYTRAK 4, OPENTRACKER or all those APRS compatible KENWOOD-Radios. Because Dan is interested in implementation of directly decoding WPL sentences with D-RATS, maybe one day the external code converter could become unnecessary.


D-RATS auf einem ASUS "EEE PC901"

Nachdem im D-STAR-System neben digitalisierter Sprache auch z.B. Textmessages und GPS-Navigationsdaten übertragen werden können, weckte das mein Interesse. Dabei stellte ich allerdings sehr schnell fest, daß eine fehlerfreie Datenübertragung hierbei ohne geeignete Zusatzmaßnahmen kaum möglich ist. Während der Beschäftigung mit D-STAR bin ich dann aber mehr zufällig auf ein Programm mit dem Namen D-RATS gestossen. Es stammt von Dan Smith, KK7DS und kann von seiner Homepageseite: http://d-rats.danplanet.com heruntergeladen werden. Das Programm dient vorwiegend dem Text- und Fileaustausch über D-STAR, bietet darüber hinaus aber auch die Möglichkeit der Verwaltung und Kartenvisualisierung empfangener GPS-Signale. Bei bestehender zusätzlicher Internetverbindung lassen sich die Standorte empfangener Stationen dabei sehr komfortabel mithilfe von Online-Kartendaten ermitteln und darstellen. So können z.B. die Bewegungen von Mobilisten sehr bequem bis hinab auf Strassenniveau verfolgt werden.
Begeistert von den Möglichkeiten dieses Programmes überlegte ich mir, ob man D-RATS nicht auch in irgendeiner Weise für APRS nutzbar machen könnte. Aufgrund der unterschiedlichen Übertragungsformate zwischen D-STAR und APRS würde das zwar ( noch ) nicht direkt möglich sein, vorstellbar war jedoch eine Wandlung der von APRS-Trackern ausgegebenen Protokolldaten in das von D-STAR benutzte Format.


Abb.1   zeigt das Textfenster von D-RATS  mit den dort eingehenden Daten. Dabei handelt es sich um ursprüngliche WPL-Datenfiles, die mithilfe
des auf dieser Seite beschriebenen Codewandlers  in ein vereinfachtes RMC-Format ( 1.Zeile ) und eine Ident-Kennung bzw. Absender-Call
( 2. Zeile ) umgewandelt wurden.  Die gelb hinterlegte Ausgabe deutet darauf hin, dass diese Daten vom Programm als GÜLTIG erkannt wurden.
Im unteren Teil des Schirms werden die vom Programm verwalteten Daten aller vorher empfangenen Stationen angezeigt. Die Visualisierung der
darin enthaltenen Positionsdaten kann über das im rechten Bildteil gezeigte Map-Fenster erfolgen.

Viele APRS-Tracker, wie z.B. TINYTRAK4, OPENTRACKER und auch die APRS-tauglichen KENWOOD-Geräte geben ihre Ausgangsdaten als NMEA-Files unter Verwendung des Protokolltyps: "WPL" aus. Somit galt es, die Inhalte dieser WPL-Protokolle in das von D-STAR benutzte Format zu convertieren. Die eleganteste Lösung würde natürlich eine direkte Implementierung des WPL-Formates in D-RATS darstellen*. Alternativ könnte man sich aber auch ein separates WINDOWS-Tool vorstellen, welches die an einem Port X ankommenden Daten nach Codewandlung wieder an einem Port Y zur Verfügung stellt, worauf D-RATS dann zugreifen könnte. Nachdem die angedachten Programmlösungen aber von mir selbst nicht umgesetzt werden konnten, habe ich stattdessen eine externe Mikrokontrollervariante realisiert. Dabei werden die von einem GPS-Tracker mit RS232-Pegelwerten bereitgestellten WPL-Protokolldaten auf TTL-Pegel gebracht und einem Prozessor des Typs ATMEGA 8 zugeführt. Dieser wandelt sie in ein D-STAR-kompatibles Ausgangsformat und stellt sie an seinem seriellen UART-Ausgang wieder zur Verfügung. Zur Weiterverarbeitung am PC kann dieses Signal nun entweder einer Pegelwandlung zurück auf RS232-Pegelwerte unterzogen werden , aber es besteht auch die Möglichkeit der Nutzung eines USB-Wandlers, wozu sich z.B. ein Baustein wie der "FT232RL" von FTDI nutzen ließe. In Abb.2 sind beide Varianten angedeutet.

* Inzwischen stehe ich auch in Kontakt mit Dan, KK7DS, dem Programmautor von D-RATS.  Einer Implementierung auch der WPL-Datensätze in sein Programm steht er sehr positiv gegenüber, kann dafür aber noch keinen Termin nennen. Es ist aber abzusehen, daß der auf dieser Seite beschriebene Codewandler irgendwann einmal nicht mehr erforderlich sein wird.


Abb.2  Codewandler mit entweder RS232-Ein- und Ausgang oder Ausgang über USB-Adapter
Die Verwendung eines USB-Adaters vereinfacht die Anordnung, da die Zusatzeinheit hierbei
über den USB-Port gespeist werden kann.

Im Handel sind Baugruppen ( http://www.chip45.com/index.pl?page=Crumb8-USB&lang=de ) verfügbar, die sowohl einen geeigneten Prozessor, als auch den benötigten USB-Wandler auf einer gemeinsamen Platine bereitstellen. Der Aufbau einer kompletten Converteranordnung wird damit besonders einfach, weil nur noch wenige zusätzliche Bauteile erforderlich sind ( Abb.3 ). Zu beachten ist allerdings, dass der auf der Platine befindliche Prozessor natürlich erst noch mit der geeigneten Firmware programmiert werden muss, wozu im einfachsten Fall aber der vorhandene ICP-Anschluss ( In Circuit Programming ) benutzt werden kann.


Abb.3  Codewandlereinheit bei Verwendung des Bausteins: "Crumb8-USB"


Abb.4  Erster Testaufbau der Codewandlereinheit

Inbetriebnahme der Codewandlereinheit mit dem "Crumb8-USB"

Die Inbetriebnahme des Crumb8-Bausteins ist nicht besonders schwierig, aber dennoch gibt es einige beachtenswerte Punkte: So wird der Baustein bei mir nicht mit dem standardmäßig vorgesehenen 14.7456 MHz-Quarz, sondern mit der vom Lieferanten ebenfalls erhältlichen 16 MHz-Variante betrieben ( Bei Interesse könnte aber auch eine Softwareversion für die Standard-Frequenz compiliert werden ). An den für die ICP-Programmierung vorgesehenen Pins habe ich einen zugegebenermassen etwas groß ausgefallenen 6pol. Pfostenstecker mit Kragen eingelötet ( Abb.4 ). Das hat den Vorteil, daß sich das Programmierkabel nicht versehentlich falsch einstecken lässt. Beim Programmieren selbst darf dann nicht vergessen werden, auch die FUSE zur Einschaltung des externen Quarzes zu setzen. Durch Verbinden von CON2 PIN 7 mit Masse kann die Ausgangsdatenrate auf 9600 bps umgeschaltet werden, was aber in der Regel nicht benötigt werden wird. Sinnvoll könnte dagegen ein von CON2 PIN 13 gegen Masse führender Taster sein. Mit seiner Hilfe liesse sich die auf dem Zusatzbaustein abgelegte Prozessorfirmware auch im angesteckten Zustand jederzeit noch einmal neu starten. Danach würde die auf der Platine befindliche LED für einige Sekunden blinken und eine serielle Startmessage ausgegeben werden. Erscheint diese lesbar im Empfangsfeld von D-RATS, so kann von einer einwandfreien Datenverbindung mit dem PC ausgegangen werden. Ganz wichtig ist übrigens auch noch, daß die USB-Einheit bereits mit dem PC verbunden ist, wenn dort das Programm D-RATS gestartet wird.

Download HEX-Files : wplrats.hex

ALLGEMEINES ZUM UMGANG MIT ( NEUEN ) USB-EINHEITEN
Bei Erst-Anschluss einer USB-Einheit an einen PC wird dieser, falls er sie nicht schon kennt, nach der erforderlichen Treibersoftware fragen. Häufig wird sie auf einer zur USB-Einheit mitgelieferten CD bereitgestellt, aber in jedem Fall kann sie auch von den Internetseiten des entsprechenden USB-Chip-Herstellers heruntergeladen werden. Gesucht werden muss dabei nach einem sog. VCP-Treiber ( VCP = Virtual Com Port ). Verkündet der PC nach seiner Installation dann glücklich die Verwendbarkeit der neuen USB-Einheit, so hat er dafür auch einen virtuellen COM-Port festgelegt. Wenn ein auf dem PC installiertes Programm anschließend auf die über USB angeschlossene Peripherieeinheit zugreifen soll, so sind üblicherweise noch einige Schnittstellenparameter einzustellen, wozu u.a. auch die Bezeichnung des benutzten COM-Ports bekannt sein muss. Zu ihrer Ermittlung ist bei WINDOWS-XP folgendermaßen vorzugehen ( und ich denke, daß es bei z.B. VISTA auch nicht sehr viel anders aussieht ): START-Taste betätigen und Menü: SYSTEMSTEUERUNG aufrufen; jetzt nacheinander folgende Menüschritte wählen: SYSTEM, HARDWARE, GERÄTE-MANAGER, ANSCHLÜSSE ( COM und LPT ). In der daraufhin erscheinenden Liste sollte man auch die Bezeichnung des COM-Ports der angeschlossenen USB-Einheit finden. Bei Unklarheiten ist der Inhalt der Listen zu vergleichen, wie sie bei vorhandener und entfernter USB-Einheit erscheinen.

Noch eine Anmerkung.:
Wer Abb.1 sehr aufmerksam betrachtet, der wird in den ausgegebenen ( aber durch die zusätzlich geöffnete Kartendarstellung hier nur teilweise sichtbaren ) Textzeilen vielleicht einige Besonderheiten entdecken. Ein Bestandteil der als Konvertierungsergebnis erzeugten RMC-Protokolle sind grundsätzlich auch Werte wie UTC, Bewegungsgeschwindigkeit, Kurs und Datum. Nachdem diese Werte aber in den WPL-Ursprungsprotokollen nicht enthalten sind, sollten die entsprechenden Felder ursprünglich leer gelassen werden, was aber D-RATS leider nicht mochte. Daher mussten die entsprechenden Protokollstellen mit irgendwelchen Festwerten aufgefüllt werden. So erscheint hier als Zeitangabe beispielsweise: 12:34:56. Für Geschwindigkeit und Kurs sind die Werte 1.00 bzw. 100.00 zu finden und auch für das Datum musste ein Festwert benutzt werden. Das Ganze ist leider ein Schönheitsfehler, der aber für die Funktion des Programmes und besonders auch die Kartenanzeige ansonsten ohne Belang ist.

Mehr über das Programm: D-RATS kann man auch hier lesen:
http://static.danplanet.com/preserve/KK7DS_QST_D-RATS.pdf

E-Mail  contact: