WSPR Bake mit dem Raspberry PI, ohne Sender

WSPR eignet sich perfekt um Reichweitentests durchzuführen. Einen Raspberry PI  hat wahrscheinlich jeder verspielte Amateurfunker vorrätig und clevere Software gibt es im Internet.


Die Faszination, die von diesem kleinen und preiswerten Computer ausgeht, war und ist so groß, dass bestimmt 60% der mir bekannten Funkamateure mindestens einen Raspberry PI besitzen. Nun gibt es bereits eine erweiterete Variante mit mehr Speicher und schnellerer CPU – mehr Power für gleiches Geld. Wer noch keinen hat, sollte jetzt umgehend einen Raspberry PI bei Reichelt bestellen :)

Jedoch fristen viele Raspberries ein trauriges Dasein. Nach einigen euphorisch begonnenen Projekten, vielen Stunden des Spielens und wahrscheinlich auch verzweifelten Momenten auf der Kommandozeile, sind viele Raspberries in ihr stromloses Grab, eine beliebige Schublade, zur Ruhe gebettet. In meinem Fall jedoch nicht zur ewigen Ruhe.

[adrotate banner=“1″]

WSPR Bake ohne Transceiver nur mit einem Raspberry

Also, der Raspberry sollte irgendwas sinnvolles vollbringen. Ich erinnerte mich an das Software-Projekt von PE1NNZ. Er hat es geschafft, den kleinen Rechner lediglich mittels Software zum Schwingen zu bringen, mit ca. 10mW Sendeleistung auf einer beliebigen Frequenz bis 250MHz.

Für WSPR ist es wichtig, die Sendefrequenz genau zu treffen. Der WSPR-Bereich ist jeweils nur 200Hz breit. Innerhalb dieser 200Hz findet der gesamte WSPR-Verkehr statt. Das Signal selbst hat eine Bandbreite von 5,9Hz. Nicht nur die QRG muss ziemlich genau passen, auch die Zeit. Die Aussendungen erfolgen in Intervallen von 2 Minuten, gesendet wird während geradzahliger Minuten. Wer mehr über WSPR erfahren möchte, kann hier und hier weiter lesen.

Das ursprüngliche Software-Paket wurde erweitert. Nun sind die Probleme der genauen Sendefrequenz gelöst. Mittels NTP (Network Time Protocol) wird nicht nur die genaue Sendezeit ermittelt, auch die Sendefrequenz wird anhand einer genauen Zeit kalibiert.

Man könnte sicher eine Antenne am GPIO4 des Raspberry anschließen und sofort senden. Das Ausgangssignal ist allerdings nicht sauber, daher habe ich einen Bandfilter vor die Antenne gesetzt. Von meinem Baken-Projekt kenne ich die Bandfilter-Bausätze von Hans Summer. Hier habe ich für lächerliche 3 Euro eines bestellt und aufgebaut. Gegen die statischen Aufladungen auf der Antenne habe ich noch einen 10nF Kondensator und einen 100K Widerstand eingefügt.

 

WSPR Bake & Raspberry PI - Konfiguration mit Bandfilter und Entkopplung
WSPR Bake & Raspberry PI – Konfiguration mit Bandfilter und Entkopplung

… und hier die unordentliche Realität :)

Alles mit der heißen Nadel zusammengepanscht... und doch funkt es durch Europa.
Alles mit der heißen Nadel zusammengepanscht… und doch funkt es durch Europa.

WSPR in Aktion

Trotz des lieblosen Aufbaus und der nur mal eben schnell zusammengeschusterten Teile, hat das Gebilde tatsächlich funktioniert. Mit dieser unglaublich geringen Sendeleistung (weniger 10mW) und dem außergwöhnlichen Sender, konnten Daten übertragen werden. Die beiden folgenden Screenshots sind entstanden, als der Raspberry auf 20m gesendet hat. Die Antenne ist ein Langdraht, ca 20m lang, der über ein 1:9 Balun gespeist wird.

WSPR-mit-Raspberry
Die drei Stationen haben meine 10mW Bake auf 20m am Tage empfangen.

 

WSPR-Bake-10mw-RaspberryPI
Bis hoch ins nördliche Norwegen und auch in Malta wurde der Raspberry gehört. Mit weniger 10mW auf 20m und ca. 20m Draht in der Dämmerung – März 2015

 

 

Installation „RaspberryWSPR transmitter using NTP based frequency calibration

Hier liegt der Quellcode, eine Dokumentation, eben das komplette Paket

https://github.com/JamesP6000/WsprryPi

Wer nicht lesen will, hier die schnelle Anleitung:

1. Wie immer, zuerst das System aktualisieren:

sudo apt-get update
sudo apt-get dist-upgrade

2. Sofern „git“ noch nicht installiert ist:

sudo apt-get install git

3. Die eigentliche Software „WsprryPI“ installieren:

git clone https://github.com/JamesP6000/WsprryPi.git
cd WsprryPi
make

… jetzt kann es auch schon mit dem WSPR losgehen. Es ist absolut sinnvoll, sich die Dokumentation doch einmal anzuschauen, denn die Parameter der Bake sind vielfälltig.

WSPR Bake automatisch starten wenn der PI hochfährt

Der Raspberry PI bootet sofort, sobald man ihm Strom gibt. Wenn man die Bake automatisch mit dem Hochfahren des PI aktivieren will, muss man ein wenig Hand anlegen. Sobald das erledigt ist, benötigt man weder Tastatur noch Monitor, eine Maus sowieso nicht, um mit satten 10mW den Erdball mit WSPR-Signalen zu umrunden.

Zur Installation wird durchaus noch eine Tastatur und Monitor benötigt. Wer mit ssh arbeitet, braucht natürlich weder Tastatur noch Bildschirm.

Anmerkung: Ich bin kein Linux-Nerd. Alles was folgt, habe ich im Internet zusammengesammelt und angepasst. Ob es die perfekte Lösung ist, weiß ich nicht. Sie funktioniert zu meiner Zufriedenheit.

Die wahrscheinlich beste Möglichkeit ist, aus dem WSPR-Script eine Art Dienst zu machen, welchen man wie andere gewöhnliche Dienste starten, stoppen oder ggf. restarten kann. Hierfür muss zuerst eine Datei in /etc/init.d erzeugen… los geht´s:

  • Zuerst eine Datei anlegen, sozusagen dass Baken-Startscipt
    sudo nano /etc/init.d/wspr20         (statt wspr20, kann die Datei einen beliebigen Namen haben)
  • in die neue Datei „wpsr20“ habe ich folgendes reingeschrieben:
#!/bin/sh
### BEGIN INIT INFO
# Provides:          FWsprryPI - WSPR auf 20m 10mW, DL7VDX
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: WSPR Bake mit autom. NTP Frequenz-Korrektur
# Description:       WSPR konfiguriert für 20m, 10mW, JO62, NTP Time/QRG-Korrektu, sendet alle 10 Minuten
### END INIT INFO
 
# Actions
case "$1" in
    start)
	echo "starte WSPR Bake auf 20m mit 10mW aus JO62, NTP Time&QRP korrektur"
        # START
	sudo /home/pi/WsprryPi/wspr --repeat --self-calibration DL7VDX JO62 10 20m 0 0 0 0
        ;;
    stop)
	echo"stoppe WSPR Bake auf 20m"
        # STOP
	sudo killall wspr
        ;;
    restart)
	echo"... restart WSPR Bake"
        # RESTART
        ;;
esac
 
exit 0
  • Jetzt muss das neu erstellte Script noch die Rechte erhalten, um es auszuführen, ansonsten bleibt es eine willenlose Textdatei:
    sudo chmod +x /etc/init.d/wspr20
  • Nun muss update-rc.d angewiesen werden, unser Script mit den jeweiligen Runlevel (hier: start und stop) auszuführen und auch beim Systemstart:
    sudo update-rc.d wspr20 defaults

Das war es schon. Nun kann man den Raspberry PI neustarten, oder einfach das Script auf der Shell starten:

sudo /etc/init.d/wspr20 start

…oder stoppen:

sudo /etc/init.d/wspr20 stop

Bei mir sieht das dann wie folgt aus, wenn der Raspberry PI QRV wird. In dieser Konfiguration sendet er alle 10 Minuten auf 20m. Gemäß Script holt er sich die Zeit von einem NTP-Server und korrigiert damit die Sendefrequenz und geht auch pünktlich auf Sendung. Dies setzt jedoch zwingend voraus, dass der kleine Rechner mit dem Internet verbunden ist. Ohne dieses werden die Versuche ziemlich sicher scheitern.

WSPR-Baken-Script-automatisch-starten

Das war schon die ganze Zauberei. Viel Spass auf den Bändern
[adrotate banner=“5″]

25 Kommentare

  1. hier ist DL2JPN , Sigi aus Zschopau.
    Deine Seite mit dem Raspberry hab ich gelesen und alles nachempfunden.
    Mein RASPI 2B mit DEBIAN läuft seit 2 Wochen. Etliche Male schon neu installiert.
    Dachte immer , dass es wohl an meinen Künsten liegt. Ist aber irgendwie anders.
    Deine Skripte habe ich übernommen und das WSPR installiert.
    Es startet. Das kann ich sehen. ABER es will absolut nicht senden bzw. HF erzeugen.
    Egal welche QRG. Es ist nichts zu sehen resp. zu hören. Ohne Antenne und ohne
    Filter. Einfach nur zum Test Draht an das Pin ran.
    Auf meinem Wasserfall vom TS-990 sehe ich nix und hören auch nicht.
    Hast Du eventuell einen Hinweis, Tipp, Rat oder sonst etwas zu meiner Hilfe.
    Ich hau das Ding an die Wand oder buddle das im Garten ein.
    73`s Sigi

  2. hier DL2JPN , Sigi aus Zschopau.
    Raspberry 2B gegen 2B+ getauscht. Das WSPR startet und funktioniert so wie es soll.
    Was das erste Modell eventuell defekt?
    Sigi

  3. Groß0artig…! Den Tausch des Raspberry hatte ich dir ja per Mail auch schon vorgeschlagen. Na dann wirst du ja bald erste Ergebnisse auf wspr.org sehen können.

  4. Hallo Ron,
    Habe meinen ‚alten‘ Rassismus zum Laufen gebrach, neu installiert mit aktueller Software, seitdem funktioniert er nicht mehr. Ein neues – Raspbi Board 2B – besorgt das Gleiche. Man hört allerdings auf 20m ganz leise Signale im K3. . . Gibt es eine Lösung?

    73 de Peter, DG2NPE

  5. Hi Janek,

    ich denke schon das es geht. Sie haben ja die gleiche GPIO soweit ich weiß. Aber installiere doch einfach, dann wirst du sehen was passiert :)

    73 Ron

  6. Hallo Ron.
    TNX für die tolle Beschreibung. Kannst du mir bitte verraten, wie man das Sendefenster von alle 10 Minuten auf z.B. alle 5 Minuten ändern kann.
    Herzliche 73 de Karl

  7. Hallo Karl,

    Ein Sendeintervall von 5 Minuten ist nicht möglich. WSPR sendet weltweit in eine Takt von 2 Minuten. Die Intervalle kannst du im Script steuern:

    sudo /home/pi/WsprryPi/wspr –repeat –self-calibration DL7VDX JO62 10 20m 0 0 0 0

    Jede Bandangabe braucht beim senden zwei Minuten, wenn wie hier, drei mal die Null steht, heisst das 6 Minuten Sendepause. An dieser Stelle kannst du also spielen :)

    73, Ron

  8. Hallo,
    klappt alles wunderbar so lange man beim Raspberry P1 bleibt.
    Leider geht mit RPI P2 nichts. Das heißt das Programm geht zu installieren aber dann ist Schluss.
    Man startet das Programm und nach dem ersten Start oder Testmode bleibt alles stehen.
    Dar Raspi ist ok.. und auch die GPIO´s sind ok.
    Was geht da nicht ?
    Gruß Udo

  9. Ich habe das auf einem PI2 installiert und es läuft bis heute?! Hast du die Möglichkeit die SD-Karte in einem Pi zu stecken um zu testen? Anonsten ist vielleicht doch ein Fehler unterlaufen? Das aus der Ferne zu bewerten ist natürlich nicht möglich – die Fehlerquellen sind einfach zu vielfälltig. Viel Erfolg!

  10. Hallo,
    ich habe das gleiche Image auf dem Raspi P1 laufen und auch gleiche Karte.
    Alles schon probiert und am Ozzi tut sich nicht. Auch beim P1 gibt es Probleme .
    Mal läuft er durch und mal stoppt er. Egal ob ich Autostart mache oder per Hand starte.
    Per Hand kann man ja den Ablauf im Monitor verfolgen. Und auch da ist ab und zu der Ablauf am
    zwar am rennen aber gesendet wird nichts. Es spielt auch keine Rolle was im Startscript steht.

  11. Hallo,
    ich wollte nur den letzten Stand durchgeben.
    Nach einigen Informationen aus dem Internet soll es ein Image geben das gut geeignet wäre.
    2015-02-16-raspbian-wheezy.img Das habe ich eingespielt und es funktioniert wunderbar.
    Was die Unterschiede in den einzelnen Images ist weiss der Geier, ich jedenfalls nicht.

    Gruß Udo

  12. Hi Udo,

    darauf wäre ich nie gekommen. Vielen Dank für den Tipp… Hättest du vielleicht noch ein direkten Download-Link? Ich würde den gern in den Artikel einbauen um anderen das Leben möglicherweise leichter zu machen.

    Ron

  13. Hallo zusammen
    Habe heute alles installiert mit script zum automatischen Start. Bevor ich den Raspberry neu gebottet habe lief alles mit manuellem Start. Nach dem Neustart sehe ich gar nichts mehr auf dem Bildschirm, nur das Hochfahren von Raspbian und dann nichts. Was kann das sein. Der Raspberry kann es nicht sein, da z.B. Openelec problemlos läuft.
    Hat jemand eine Ahnung was es sein könnte?

    Vy 73 de Giuseppe

  14. Hallo zusammen,
    ich habe bisher vergeblich nach einer Dokumentation gesucht, wie genau diese NTP-Synchronisierung der RPiTX-Sendefrequenz funktioniert. Hat jemand da vielleicht einen Link für mich?
    73, Josef

  15. Hallo Ron,

    fyi: bug in der Bleistiftzeichnung: Signal ist der vierte Pin von aussen, GND der fünfte. Auf dem Foto ist alles gut.

    73
    Detlef
    DD4WV

  16. Hm,
    nach Deiner Anleitung hat es bis zum Testtone funktioniert.
    Aber mit Start der wspr20 Datei per
    sudo /etc/init.d/wspr20 start
    hat sich die Netzwerkverbindung getrennt und kommt nach Neustart auch nicht wieder.
    Ich benutze einen RaspberryPiZeroW, also mit WLAN

    any Idea?

  17. Hallo Ron,
    ich habe das Programm auf dem RPI 1 installiert. Es läuft alles prima. Mein Problem: Ich habe den Eindruck, dass der RPi nicht nur auf einer Frequenz sendet, sondern einen Lattenzaun links und rechts mit jeweils 100Hz Raster produziert. Die Nebenwellen sind zwar schwächer, aber nur etwa 10dB. Kann man damit in die Luft gehen?

    73 de Udo dk3bi

  18. Hallo Ron,

    ich würde das gern mal mit 40m und/oder 80m versuchen.
    Geht das auch? Wenn ja, wie muss ich das Script anpassen, damit es geht?

    TNX de Andy, DL1AKP

  19. Hallo Ron,

    prima Projekt! Das scheint ja sogar mit dem guten alten Raspberry PI 1 zu klappen.

    vy 73 de DO1PGR.

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.