RPI-Control – eine einfaches Webinterface für die Fernwartung eines Raspberry Pi

Vor einiger Zeit kam ich im Rahmen eines APRS-Projektes mit Manfred, DK1MC ins Gespräch. Manfred ist Relaisbetreiber von DB0HHH und war auf der Suche nach einer einfachen Lösung, um ein paar Wartungs- und Überwachungsaufgaben auf dem Raspberry PI durchzuführen, der für die Relaissteuerung eingesetzt wird. Bisher war das nur über SSH oder über Teamviewer möglich. Zwar hat Manfred bereits eine Terminal-Lösung entwickelt, die auch bereits produktiv im Einsatz ist, aber auch die erforderte einen SSH Zugang und war damit nichts, was man mal eben schnell von unterwegs und ohne viel Fachkenntnis nutzen kann. Die Idee einer webbasierten Steuerung war geboren.

Hier ein Auszug unserer ersten Ideen-Liste:

  • Bedienung über den Browser, auch über Smartphone
  • Frei konfigurierbar durch den Admin
  • Einfache Überwachung von Systemd-Diensten
  • Buttons, die mit beliebigen Aufgaben hinterlegt werden können
  • Login für mehrere User
  • Einfache Konfiguration
  • Einfache Installation, minimale Abhängigkeiten

Ein paar Wochen später war die erste Version fertig und konnte getestet werden.

Die Konfiguration erfolgt über eine json-Datei. Die wesentlichen Blöcke sind “systemd”, wo eine beliebige Anzahl an Systemd-Diensten definiert werden kann, sowie der Bereich “buttons”, wo eine beliebige Anzahl an Buttons eingetragen und der jeweilige Befehl hinterlegt werden kann.

Hier ein Beispiel:

{
    "webserver": {
        "port" : 8080,
        "title": DK3ML-10 APRS RX-Igate",
        "headline": "DK3ML-10"
    },
    "systemd": [
        {"name": "cron", "description": "Cron"},
        {"name": "direwolf", "description": "Direwolf"},
    ],
    "buttons": [
        {"headline": "System-Info", "buttons": [
            {"name": "Date + time", "command": "date"},
            {"name": "Uptime", "command": "uptime"},
            {"name": "df -h", "command": "df -h"},
            {"name": "ifconfig", "command": "ifconfig"}
            ]}
    ],
    ...
}

Angezeigt wird das ganze über eine einfache Weboberfläche. Wird ein Knopf gedrückt, so wird auf dem Raspberry PI der in der config hinterlegte Befehl ausgeführt. Andere Befehle, als in der config hinterlegt sind, können nicht ausgeführt werden. So hat der Admin immernoch die volle Kontrolle, welche Befehle er den anderen Relais-Betreibern zur Verfügung stellen möchte. Außerdem wird die Ausgabe des Befehls in einem Log-Fenster angezeigt.

Dadurch, dass quasi beliebige Befehle hinterlegt werden können, ist das ganze ein sehr flexibles und mächtiges Instrument bei dessen Konfiguration man allerdings wissen muss, was man tut. Einmal konfiguriert, bietet es dann aber auch Relais-Betreibern ohne Linux-Kentnisse die Möglichkeit, einfache Wartungs- und Überwachungstätigkeiten auszuführen.

Selbstverständlich lässt sich die Software nicht nur für Amateurfunk-Relais einsetzen. Durch die flexible Konfiguration sind die Möglichkeiten nahezu unbegrenzt.

Noch ein paar Worte zur Technik:

Entwickelt wurde das Tool in der Programmiersprache “Go” oder auch “Golang” genannt. Programme, die in Go geschrieben sind, lassen sich für viele Zielsysteme und -architekturen kompillieren. Das kompillierte Programm enthält dann alle Abhängigkeiten und Bibliotheken, die für die Programmausführung benötigt werden. Zur Installation muss dann nur das kompillierte Programm auf den Raspberry Pi kopiert werden. Eine Installtion von weiteren Paketen ist nicht nötig. Selbst der Webserver ist integriert, so dass eine aufwändige Installation und Konfiguration von Servern wie Apache oder nginx entfällt.

SSL wird zur Zeit noch nicht unterstützt, steht aber auf der ToDo Liste.

Das Programm ist bereits auf mehreren Repeatern im Einsatz, unter anderem auf DB0HHH.

Auch habe ich bereits die Frage bekommen, ob ich plane, das ganze als Opensource zu veröffentlichen. Das kann ich mir durchaus vorstellen, allerdings müsste ich vorher noch einmal den Code überarbeiten und Aufräumen und im Idealfall auch noch einmal durch einen weiteren Entwickler mit Go-Erfahrung überprüfen lassen. Ob und bis wann ich dazu komme, kann ich im Moment noch nicht sagen.

Bis auf weiteres kann ich deshalb nur anbieten, bei Interesse eine Testversion zur Verfügung zu stellen. Auch wenn die Benutzung des Programms hinterher sehr einfach ist, erfordert die Installation und Konfiguration solide Linux Kenntnisse. Die Benutzung erfolgt dann außerdem auf eigenes Risiko, insbesondere wenn das ganze später direkt über das Internet erreichbar und nicht z.B. durch ein VPN geschützt ist.

SSTV von der ISS empfangen und dekodieren

Am Wochenende vom 8. bis zum 10.02.2019 fand wieder ein “Slow Scan Television (SSTV) Event” von Bord der Internationalen Raumstation ISS statt. In der Zeit gab es insgesamt 12 verschiedene Bilder zu empfangen. In diesem Artikel möchte ich beschreiben, wie man die Signale empfangen und auswerten kann. Ich beschränke mich dabei auf die Arbeit unter Linux, aber für Windows gibt es ähnliche Software, so dass das Betriebssystem eigentlich keine Rolle spielen sollte.
Continue reading

Antennen messen mit dem miniVNA pro unter Ubuntu Linux

Seit mehreren Jahren leistet mir nun ein miniVNA pro treue Dienste beim Messen von Antennen und bei der Fehlersuche. Wer das Gerät nicht kennt, es handelt sich dabei um einen Vector Network Analyzator. Damit lässt sich (unter vielem anderen) das SWR einer Antenne messen. Der Frequenzbereich geht dabei bis 200 MHz, so dass auch Messungen an Antennen im 2m Band kein Problem sind. Für höhere Bänder gab es noch einen Extender, der ist allerdings leider nicht mehr verfügbar. Wer noch einen hat und loswerden möchte: Ich freue mich über eine Nachricht. Das schöne an dem Gerät ist, dass es sich über Bluetooth mit dem Smartphone verbinden lässt. So ist eine Messung direkt an der Antenne möglich, ohne ein langes Antennenkabel dazwischen. Auch kann die Antenne so an ihrem echten Standort gemessen werden. Lange Rede, kurzer Sinn, in diesem Artikel möchte ich zeigen, wie man den miniVNA pro unter Ubuntu Linux nutzt, um das SWR einer Antenne zu messen.
Continue reading

QSY Information im APRS Status Text senden – Send QSY frequency as APRS status text

Wenn man mit APRS unterwegs ist, empfängt man viele andere Stationen, aber weiß meistens nicht, auf welcher Frequenz sie QRV sind, wenn man sie direkt ansprechen kann. Manchmal liest man Texte, wie “QRV auf DB0XH” oder ähnliches. Es gibt jedoch eine Möglichkeit, den Text so zu senden, dass man mit einem geeigneten Funkgerät direkt die Frequenz auswählen und dann Kontakt aufnehmen kann. Wie das geht, steht in der APRS Freq Spec. If you are driving with APRS, you might receive a lot of stations, but you never now how to reach them, if you want to talk to them. Sometimes you read status messages like “QRV on DB0XH”, which gives you a hint, but there is a much better way to transmit the frequency, so that the radio can be tuned to it with a few clicks. This is described in the APRS Freq Spec and I just tried it. And it works!

Continue reading

Twitter Idee: APRS + Foto + Twitter = #aprsphoto

Neben Amateurfunk ist auch Fotografie eines meiner Hobbies. Was liegt näher, als beides zu verbinden. Und so hatte ich die Idee einmal zu zeigen, was wirklich hinter den Punkten auf der Karte steckt. Und so entstand der Hashtag “#aprsphoto”

Die Idee ist ganz einfach. Macht ein Foto während ihr mit APRS unterwegs seid und postet es auf Twitter mit dem Hashtag #aprsphoto
Continue reading

Interaktive Karte der Amateurfunk-Relais in und um Hamburg

bildschirmfoto-vom-2016-10-24-165052Auf der Suche nach Amateurfunk-Relais in Hamburg und Umgebung bin ich auf diese Seite gestoßen: (Link entfernt, da es die Seite nicht mehr gibt). Dort haben Bernie, DL6XB und Winni, DL3XU eine tolle Übersicht über die Relais-Standorte zusammengestellt. Allerdings fiel es mir immer schwer, auf die Schnelle einen geographischen Überblick zu bekommen. Also habe ich die Informationen aus der Tabelle auf eine interaktive Karte übertragen.

Die Karte lässt sich nach Betriebsart und Band filtern, so dass sich jeder die Relais anzeigen kann, die er auch selber nutzen kann und möchte.

Vielen Dank an Winni, DL3XU für den regen Gedankenaustausch und seine Unterstützung bei meinem Projekt.

Die Karte befindet sich unter www.repeatermap.de.

APRS Messages am Beispiel der Hamburger Umgebung

In diesem Artikel werde ich versuchen, mir ein paar APRS Nachrichten etwas genauer anzugucken, mit dem Ziel, die APRS-Infrastruktur in Hamburg und Umgebung zu analysieren. Dazu nutze ich ein 2m Handfunkgerät, welches ich über einen Bluetooth TNC mit dem Laptop verbinde und die Daten mit der Software Xastir (http://xastir.org) anzeigen zu lassen.
Continue reading

Yaesu FT1XDE – most annoying things

Since a couple of weeks I own a Yaesu FT1-XDE handheld with built-in GPS and APRS. In general I am quite happy with this transceiver (maybe because I don’t have another one to compare) but there a quite a few things that are really annoying. Usability is definitely not one of the qualities of this handheld but maybe a device for amateur radio operators needs to be complicated 😉

Or maybe I just did fully understand the possibilities of the device and there are better ways to achive the functionality I want. So I will start a list now with the most annoying things and maybe we can have a discussion here with hints and ideas about the usage of the Yaesu FT1-XDE.

Seit einiger Zeit besitze ich ein Yaesu FT1-XDE Handfunkgerät mit GPS und APRS. Eigentlich bin ich ganz zufrieden mit dem Gerät (vielleicht weil ich einfach noch kein anderes kenne?) aber es gibt doch ein paar Dinge, die ziemlich umständlich gelöst sind. Aber vielleicht muss es für einen Funkamateur auch einfach kompliziert sein.

Oder ich habe das Gerät einfach noch nicht gut genug verstanden und es gibt für alles eine bessere Lösung. Vielleicht ist das hier ja der Beginn einer Diskussion mit Tipps und Tricks zum FT1-XDE. Ich bin gespannt

Continue reading