h1

Raspberry Pi: CW / Morsetelegrafie per LED

15. April 2013

Nach wie vor reizt es mich, eine Fernsteuerung für abgesetzte Amateurfunk-Rigs umzusetzen. Vor allem mit dem Raspberry Pi hat man dafür die richtige Basis.

Seit Kurzem nenne ich so ein Gerät ebenfalls mein Eigen und kam gestern abend endlich einmal dazu, etwas damit auszuprobieren.

Herausgekommen ist eine kleine python-Anwendung, die Morsesignale als LED-Blinken auf den GPIO-Port ausgeben kann. Dies ist also quasi die Codebasis für den HAMote-Server. Dieser soll später übers Internet Steuerbefehle entgegennehmen, die ihm befehlen, die CW-Taste zu drücken oder wieder loszulassen. Später kommen noch eine Paddle-Funktion sowie Klartext-zu-CW hinzu, sprich, man kann den Text per Tastatur eingeben, und die Signale werden dann im RasPi erzeugt. Das ginge jetzt schon fast, da ich dafür lediglich eine Übersetzungstabelle implementieren müsste.

Trotzdem muss man sich bereits jetzt fragen, ob das python, das für eine steile Erfolgskurve bei solchen Dingen sorgt, auch für alle Anforderungen geeignet ist.

Beispielsweise ist das Timing schon ziemlich kritisch – das Gehör ist da recht empfindlich, und man wird sehen müssen, wie das im Gesamtsystem miteinander spielt.

Da käme auch schon die zweite kritische Anforderung: das Buffering. Das Programm sollte einen kleinen Buffer mitbringen, um den Jitter des Internets auszugleichen.

Kommen wir also zu Anforderung Nummer drei, die ebenfalls damit zusammenhängt: Multi-Threading. In der „Hauptschleife“ muss das Programm einerseits buffern können, andererseits muss die Ausgabe der Zeichen weiter ohne Unterbrechung erfolgen. Beim Client-Teil muss auf Interrupts reagiert werden, also darf der Versand der Datenpakete nicht unterbrochen werden. Das wird spannend. Ich schiele jetzt schon auf C 😉

Nichtsdestotrotz ist das schon mal ein netter Einstieg und die Motivation, da weiter am Ball zu bleiben. Das Video zeigt die erste Ausgabe.

Advertisements

4 Kommentare

  1. Mit einer ähnlichen Thematik (Erzeugung von Morsezeichen auf der GPIO-Schnittstelle in Form eines Bakencontrollers) habe ich mich vergangenen Monat auseinandergesetzt 🙂 (http://www.dg9vh.de/2013/03/26/erste-gehversuche-in-python-mit-dem-raspberry-pi/) Mich würde dein Python-Code interessieren, wie du die Sache angegangen bist. Evtl. hast du ja mal die Zeit und Lust, den Code auch online zu stellen?

    73, Kim


  2. Moin Kim,

    das ist erstmal eine kleine Fingerübung / Machbarkeitsstudie für mein HAMote-projekt. Damit will ich es ermöglichen, einen TRX per Internet fernzusteuern. Daher erprobe ich einzelne Teile, bevor sie zu einem Paket gegossen werden.
    Das Projekt ist dabei von Anfang an OSS.
    Ursprünglich hatte ich das mit einem Arduino vor, die leere Hülle ist unter https://code.google.com/p/arduino-hamote/ zu finden.
    Eine ähnliche Projektseite wrde ich dann für die RasPi-Variante auch irgendwo erstellen. Vielleicht magst Du Dich ja dran beteiligen?


    • Grundsätzlich ist dein Angebot sehr reizend 🙂 Aber ich habe selbst familiär bedingt derzeit wenig Zeit, um mich intensiver mit solchen Dingen zu beschäftigen. Unser Zweijähriger daheim fordert mich zeitlich ganz schön, weshalb ich auch zusehens ruhiger auf den Bändern wurde 🙂

      Ich werde aber gerne dein Projekt im Auge halten und immer mal wieder reinschauen. Ich bin ja selbst auch noch nicht sooo fitt mit Python…


      • Ich kann Dich beruhigen – die Vierjährigen sind auch nicht deutlich pflegeleichter 😉

        Das, meine Selbständigkeit und der Hausbau halten mich doch sehr vom Hobby ab. Somit werde ich nur alle paar Wochen dazu kommen, etwas mit dem RasPi zu machen. Aber immerhin – die Erfolgskurve ist ja gerade bei python ziemlich steil, da sollte in Jahresfrist etwas Brauchbares bei herauskommen.

        Wenn es bei py bleibt.

        Anbieten könnte ich eine sehr modulare Entwicklung – wenn man die einzelnen Bereiche auf mehrere Leute aufteilt, sollte es deutlich fixer gehen. Wer sich also angesprochen fühlt…



Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: