WSPR met de Red Pitaya

Woow, dat is een mooie ontwikkeling.

Ik blijf het mooi vinden dat software mannen de radio hobby verrijken. Dit keer een applicatie met de Red Pitaya voor het fenomeen WSPR.

red_pitaya

Ik ben al een paar weken bezig met WSPR. Niet alleen omdat ik tegen een Ultimate3S aanliep, maar ook vanwege de ontwikkeling bij SOTAbeams met de WSPRlite. Leuke ontwikkelingen op een frequentiegebied waar we nogal tegen gezeten worden door de grote hoeveelheid storing en de matige condities vanwege de slechte zonnevlekken cycli. Wat dat betreft is er weinig plezier te beleven aan het maken van verbindingen op de HF banden en ga je dus op zoek naar andere mogelijkheden.

Met onze radio hobby heb je zenders en ontvangers nodig. Tegenwoordig zijn er een aantal bijzondere netwerken operationeel, waarbij het hebben van voldoende ontvangstposten onontbeerlijk is. WSPR is daar één van, naast bijvoorbeeld RBN (Reverse Beacon Network) en het NCDXF (International Beacon Project) beacon netwerk. Een serie van ontvangers die de ontvangen signalen rapporteren aan een server.

The Reverse Beacon Network depends on volunteer stations. Currently, we have a few dozen, some active almost 24/7, others coming up only occasionally. We have decent coverage in North America and Europe, but can always use more.

In het verleden heb ik al de nodige ervaring opgebouwd met 24/7 beschikbare ontvangers (onlinereceiver.net) en dus wilde ik met behulp van een QRP labs Ultimate3S ontvanger en een Raspberry Pi een ontvangststation bouwen. Echter op de QRP Labs Yahoo group kom ik plots een post tegen die mij attendeerde op een veel betere zo niet sublieme oplossing.

Hi:
I just joined the group and ordered my Ultimate 3S Kit to start my own beacon and experimentation.  I am looking for a Standalone receiver too.  The idea is something like this:
– A Small Receiver that covers one or several band that can decode WSPR or maybe someother digital mode like JT-65
– Automatically Upload to WSPR.NET or PSKREPORTER without the need of a PC, Transceiver. Only a WIFI or Ethernet connection.
– Find a waterproof enclosure and run it 24 hours a day

I found a solution based on Raspberry PI and a RTL-SDR sticker.   Anybody can recommend me some other?
For example,  use QRP-LABS receiver with an arduino board?.    Or any other cheap Ethernet SDR solution?

Thanks in advance
A
xel
EB3CW

 

Hi Axel,

The Red Pitaya http://redpitaya.com/
Can be used as a stand alone WSPR-RX(& TX) with the program: http://pavel-demin.github.io/red-pitaya-notes/sdr-transceiver-wspr/

73 de Frank PH2M

 

I have one for that purpose. It works amazingly well and all in one small box.
Dr. William J. Schmidt – K9HZ J68HZ 8P6HK ZF2HZ PJ4/K9HZ VP5/K9HZ PJ2/K9HZ

Dus je neemt een Red Pitaya (die ik nog heb liggen), download een image en je hebt een 24/7 ontvanger die simultaan 8 banden ontvangt!

Op de github pagina van Pavel Demin kun je alle informatie vinden en de image downloaden. Volg de aanwijzigingen, dus je roepnaam en locatie ingegeven en je bent operationeel. In mijn geval heb ik als antenne de Wellbrook ALA1530S+ loop op de RP aangesloten. Als banden heb ik 136 kHz t/m 14 MHz gekozen.

Na 1 dag kon ik deze map al bekijken op WSPRnet.org.

24hrs-all

Dit is een weergaven van alle ontvangen stations onafhankelijk van de band waarop het station gelogd is. Een hele verzameling dus. Als je op de Red Pitaya inlogt kun je de gehoorde stations meelezen.

wspr_rp

Omdat de ALA loop ook flink doorloopt in het lange golflengte bereik heb ik gekeken of ik ook ontvangst heb van op 136 en 472 kHz fluisterende stations. Op 136 kHz heb ik alleen DC0DX en G8HUH gehoord. Maar op 472kHz is het echter een hele club zoals je op de onderstaande plaat kunt zien.

24hrs-mf

Omdat de Red Pitaya volledig stand-alone functioneert, je hebt geen aparte computer nodig, is hij vanaf eind november al 24/7 bij mij operationeel. Ik heb 136 kHz laten vervallen en heb 18 MHz erbij geschakeld. Qua stroomverbruikt verwaarloosbaar, qua ontvangst en performance ‘state of the art’. Zeker een aanrader.

RX320D-NY nog steeds on-line

‘onlinereceiver.net still going strong’.

Tot mijn groot genoegen kwam ik onlangs tot de ontdekking dat de oorspronkelijke onlinereceivers.net ontvanger in Rochester (NY) nog steeds operationeel is. Steve, KD2OM heeft er zelfs nog een antennekeuze bijgebouwd en de ontvangst is subliem. Vooral van LF en MF stations. De server is een Raspberry Pi en de set-up en werking nog steeds oud en vertrouwd.

rx320d-ny

De ontvanger is bereikbaar op rx320.doesntexist.org/rx320d en uiteraard ook via onlinereceivers.net.

Zeker de moeite waard om er nog eens een kijkje te nemen en te luisteren naar een ‘traditionele’ radio.

Zonnepanelen ellende

Hoe zonniger  buiten, hoe meer storing binnen.

Ja, vroeger stond de buurman aan de deur en deelde mee: ‘JE ZENDER STOORT‘. Nu kan ik naar de buurman gaan en zeggen: ‘JE ZONNEPANEEL STOORT‘!

Helaas, helaas. Het was me natuurlijk al opgevallen dat de laatste jaren de storing op mijn RX320 op onlinereceivers.net alleen maar toenam. De loopantenne op het dakterras gaf vooral overdag een slechte ontvangst en laat op de avond verbeterde het aanmerkelijk en was het nachtuilennet wel weer goed te volgen. Ach ja het zullen wel schakelende voedingen zijn of oude pc-ees. Voorlopig laten we het maar zo.

Maar omdat het aantal gebruikers afnam op de RX320 (en de lol er een beetje af is) heb ik de ontvanger nu definitief ontmanteld. Hierdoor verdween in mijn shack ook weer de nodige storing (carriers op 2 meter) want elk systeem (pc, audiokaart, polling software of wat dan ook) in de shack veroorzaakt wel ongewenste storing op gevoelige apparatuur zoals ontvangers en dus werd mijn spectrum weer wat schoner.

De ontvanger waar ik het meeste gebruik van maakt is de Afedri SDR ontvanger. Kijkradio noem ik het wel eens en inderdaad kun je bijvoorbeeld mooi de hele 40 meter band in één blik zien. Verder komt het de laatste tijd nogal eens voor dat ik overdag thuis ben en mooi op de achtergrond naar 7077 kHz luister. En wat viel op…. als de zon schijnt meer storing en bij grijs en grauw weer een prima ongestoorde ontvangst.

Nou had ik de storing onlangs al toegeschreven aan de Powerline Internetverbinding van mijn ene buurman, maar het zijn dus de zonnepanelen van de andere buurman(en). (more…)

ALA1530S+ en onlinereceivers.net

De WL1030 vervangen door een ‘state of the art’ loop

Lange tijd hebben we een WL1030 loop antenne in gebruik gehad op de RX320D online receiver. Dit ontwerp van mijn zwager heeft altijd op het dakterras gestaan, maar ik merkte de laatste tijd gebreken, een afname van de ontvangst en helaas een toename van HF storing. Tijd dus om iets nieuws te gaan proberen.

ALA1530S+ imperium

Omdat ik nogal gecharmeerd ben het loop ontwerp, heb ik op de site van Wellbrook een nieuw high-end model uitgezocht. Ik heb nog wel overwogen of ik niet de goedkopere Mini-Whip van PA0RDT zou moeten gaan plaatsen, maar ik wilde op save gaan. Bij de Mini-Whip kan een goede aarde nog wel eens nodig zijn, terwijl bij de loop je een symmetrisch ontvangst systeem hebt. Verder heeft Wellbrook zijn sporen ondertussen verdient.

Nou, dat valt inderdaad niet tegen. Het verschil met de WL1030 is dag en nacht. De ontvangst over het gehele spectrum en vooral 160 meter en de LF band (NDB bakens) is stukken beter. Ik hoor stations die ik tot nu toe nog nooit hoorde en ook op 472 kHz luister ik nu regelmatig.
De ALA1530S+ staat via een splitter op de Afedri SDR-Net ontvanger aangesloten en op de onlinereceiver.net RX320D. Ja, ik heb de RX320D dus weer operationeel gemaakt. De oorspronkelijke asus laptop met Windows XP is nu voorzien van Linux Mint en draait een volledige webserver, icecast, darkice en RX320 controller. Voorlopig gaan we dus weer gewoon door met de 24/7 activiteit. Het domein onlinereceivers.net verwijst tegenwoordig nog door naar twee RX320D ontvangers die allebei op een locale server draaien, dus geheel onafhankelijk van elkaar. De ontvanger in de staat New York (in Rochester) en die bij mij thuis dus.

Overigens heb ik de asus server al weer vervangen door een Raspberry Pi met extern USB soundkaartje en een USB<>RS232 convertor. Op de RPi type B draait nu de volledige configuratie zoals ook op de asus het geval was maar zonder draaiende HD en met minimaal stroomverbruik. De server in Rochester is trouwens ook een Raspberry Pi!  stand: 01-08-2014  🙂 

Nieuw (niet helemaal) is een WeatherCam. Deze RaspberryPi camera staat op de 3e verdieping achter het raam en kijkt naar het noorden. Ik heb er al eens een blogje over geschreven. De webcam neemt elke minuut een snapshot en een vaste Italiaanse bezoeker maakt er elke dag een filmpje van 🙂 .

 

RTLSDR op onlinereceivers.net

Definitieve doorstart van onlinereceivers.net?

Als test is er een nieuwe afstembare ontvanger operationeel op http://pa3ang-rpi.nl/onlinereceivers/rtlsdr.php. Het is een RTL2832u dongle (de nieuwste dus van $10 :)) welke aan een Raspberry Pi verbonden is via een gevoede USB 2.0 hub.

In feite heb ik alles al beschreven in deze blog http://pa3ang.nl/wp/archives/3559, alleen heb ik nu op de RPi een extra soundkaart aangesloten en met darkice wordt het gedemoduleerde signaal op internet aangeboden. Ook is een extra python controller programmaatje geschreven (dit keer niet door zoonlief maar zelf gedaan :)) zodat de RTL afgestemd kan worden.

Ondanks dat de nabuurkanaalselectiviteit (nog) niet optimaal is, kun je er best goed gebruik van maken om frequenties te monitoren.

We hebben dus nu een SDR gebaseerde breedbandontvanger met een Raspberry Pi en dat alles op een webserver die ook op een Raspberry Pi draait. O ja er staan dus nu twee RPi-en op de plank. Een zwarte en een rode . Zwart is voor de RX320 besturing, de webserver, icecast2 en darkice stream nr 1 (RX320). Rood is voor de RTL2832u besturing, demodulatieprogramma (rtl_fm) en darkice stream nr2. Beetje rustig laten draaien en zelf niet met teveel RF in de lucht komen.

Mooie bende die kabels, maar ach het is op een plank onder het bureau dus je hebt er veder geen last van. O ja het bromt, blaast of trilt niet. All solid state!

 

Doorstart onlinereceivers.net !?

Compleet op een Raspberry Pi geïnstalleerde RX320D server.

Gedurende de jaren dat ik mijn PCR100, RX320D, FT-817 en soms een extra audio stream op internet aanbood werd daarvoor een laptop gebruikt. Eerst een oude IBM Thinkpad 390 (P2/450MHz), daarna een Asus S1300 (P3/1000MHz) en beide draaiden op Windows. Het stroomverbruik was niet extreem hoog en zeker niet in vergelijk met een Desktop, maar ik had wel steeds 3 wensen. Eigenlijk wilde ik op Linux omschakelen en ook wilde ik geen draaiende (en dus geluidmakende, hoe zacht ook) delen meer in de server hebben en een zo laag mogelijk stroomverbruik.

Tja, en dan dient de Raspberry Pi zich aan. Een Linux systeem dat vergelijkbaar is met een P2, 300Mhz, maar qua architectuur en opbouw wel eens best goed zou kunnen performen als een RX320D server. Misschien dan wel niet 2 of 3 ontvangers en bijbehorende audiostream tegelijk, maar dat is toch niet meer van belang, want op VHF/UHF is weinig meer te beleven, de PCR100 is niet meer te gebruiken en mijn extra audiostreams zijn vaak niet 24/7 dus kunnen ook wel door een andere pc gestreamed worden.

Maar hoe ga je te werk, wat is er allemaal nodig? Na enig speurwerk met de bekende google machine blijkt er een lichtgewicht webserver te bestaan genaamd lighttpd. Hierop kun je tevens php5 en mysql installeren. Dus zo gezegd zo gedaan. Wat testen en experimenteren en vervolgens de code van onlinereceivers.net testen op de nieuwe RPi omgeving. Speciaal een domein aangevraagd http://pa3ang-rpi.nl en ja hoor het werkt. Goede performance en de RPi geeft geen krimp. Vervolgens icecast2 installeren. Ook geen probleem. Dat gaat allemaal lekker makkelijk met de sudo apt-get install commando’s overigens. Ik ga mooi niet vertellen hier hoe je alles moet doen. Google maar en als je een beetje gezond verstand hebt kom je al een heel eind. Alleen de moeilijke zaken zal ik in dit blog belichten.

Ondertussen ziet onlinereceivers.net (of eigenlijk pa3ang-rpi.nl) er zo uit:

Een lichtgewicht layout op een micro server. Zoals je ziet een nieuwe player. Dit is een Flash player met minder dan 2 seconden vertraging. Hij werkt vooralsnog niet op Internet Explorer, maar tja wie gebruikt die Microsoft meuk nog. Op FF en Chrome en ja ja op mijn Samsung Tab2 10.1 Android werkt het voortreffelijk. Dat laatste was een vereiste en daarom is de nieuwe layout ook passend op het Samsung scherm en heeft de pagina weinig overhead (lees pictures en java scripts) voor mobiel gebruik. Ook is de shoutbox groter geworden. Er komt nog wat betere navigatie, want je kunt ook naar de RX320D ontvanger in New York en naar een pagina met vaste repeater streams surfen / luisteren.

Okay terug naar de RPi installatie.

De webserver werkt, icecast2 was een ‘piece of cake’ en voor onderhoud van de mysql database heb ik phpmyadmin adminer geïnstalleerd. Verder webalizer voor de site statistiek en nog wat Linux tooltjes (o.a. chkconfig). Maar nu moet ik nog een goede audio encoder hebben die werkt met een USB soundkaart en de RX320D controller die op java draait en praat met een USB<>RS232 convertor.

Allereerst java….. even zoeken om vervolgens gewoon met apt-get install de laatste java-7 versie te installeren. Ik heb een 16GB SD card en die heb je ook wel nodig met al dat ‘geïnstalleer’. Ergens halverwege zul je met raspi-config het commando expand rootfs moeten uitvoeren om weer voldoende ruimte te hebben voor alle software. Vervolgens met een beetje hulp van zoonlief de RX320D controllersoftware uitgepakt en tenslotte, om via de USB<>RS232 poort te communiceren, de library libRXTX-java geïnstalleerd. Hierna kon ik met de ontvanger praten en zoals ik dat vaker doe, weer live testen uitgevoerd met gebruikers. Tot nu gaat het goed. De laatste hobbel is de stream encoder.

Ik had namelijk al wat getest met Darkice. Dit is een Linux programma dat mp3 gecodeerde live audio kan streamen. Hiervoor moet je wel een lame library hebben. Dus weer googlen en ook dat varkentje gewassen. Echter, de RPi gaat door de knieën. Te zwaar?  De CPU loopt naar 98% en niks gaat meer. Echter… lang verhaal kort…. ik heb de configuratie van Darkice als volgt:

[general]
duration=0
bufferSecs=10
reconnect=yes

[input]
device=plughw:1,0
sampleRate=11025
bitsPerSample=16
channel=1

[icecast2-0]
format=mp3
bitrateMode=cbr
bitrate=16
#quality=0.4
server=localhost
mountPoint=rx320
port=8000
name=RX320D Zwolle – Netherlands
description=Tunable HF receiver
url=http://pa3ang-rpi.nl/onlinereceivers/rx320a.php
genre=Talk
public=yes

Hiermee heb je een goed verstaanbare stream waarbij de cpu belasting slecht 10% is! O ja… je moet misschien nog een alsa-mixer installeren om de USB Audiokaart te kunnen beïnvloeden. Hier een top beeldje van de belasting.

Kortom het is gelukt. Een Raspberry Pi, type B + gevoede USB hub + USB<>RS232 + USB Audio. De RPi wordt overigens ook gevoed vanuit de USB hub. Nog een paar foto’s van onder de tafel waar de opstelling te vinden is.

Wel een beetje rommelig, maar de verschillende onderdelen zijn goed te zien. De RPi, USB hub met USB audio en RS232. Op de andere foto zie je de RX320 met bovenop een coax splitter om de WL1030 loop antenne ook op mijn eigen set (Rx antenne ingang) te gebruiken en het kastje op de plank is de voeding voor de WL1030 loop.

Ondertussen (mei 2013) de boel een beetje gefatsoeneerd. Alleen op 20 meter (en hoog vermogen) gaat de RX232<>USB convertor nog plat.

Ik ben we wel blij mee. Geen tikkende harddisk meer en slechts 4 Watt energieverbruik. Maximaal gebruik van de nieuwe ARM processor technologie en ook nog eens  ecologisch verantwoord. Ik ga er denk ik een groene stikker op plakken.

UPDATE (30 maart 2013)

Tom, mijn in Linux denkende zoon, heeft mooi ingespeeld op de ‘voorkeur programmeertaal’ voor de RPi, namelijk Python en heeft de RX320 controller / server herschreven. Hierdoor is de cpu belasting teruggegaan van 12% naar minder dan 2%. Vermoedelijk omdat de RXTX-library nogal belastend de RS232 poort afvraagt. Hij heeft er een eigen blog over geschreven dat je hier kunt lezen.  Het top plaatje ziet er nu zo uit.

Zo verbruiken we nog minder stroom en wordt de ARM processor ook minder warm, wat ook weer voordeel biedt voor de levensduur etc. etc.