Ja het eerste project met de RPi
Nu onlinereceivers.net wat naar de achtergrond gaat is er ruimte voor nieuwe experimenten en vooral ook nieuwe technologie. Of is het gewoon de vraag: wat gaan we nu weer eens bedenken als tijdverdrijf? En het antwoord is …. ja hoor ik ga ook maar eens starten met de Raspberry Pi. Maar dan wel kaal beginnen en van de grond af opgebouwd. Dus niet een kant en klaar geïnstaleerd D-STAR hotspot systeempje, maar begrijpen wat er gebeurd en ondertussen lekker Linux leren. Natuurlijk moet ik wel behoorlijk gebruik maken van google, nu ik niet steeds een Linux sprekende zoon in de buurt heb, maar ik moet zeggen het lukt al aardig.
Allereerst een geschikte leverancier vinden. We gaan voor kwaliteit en service. Dus even goed zoeken en ziedaar…. www.raspberrystore.nl. Een prima ‘prive’ webzaak met een leverancier waar je gewoon mee kunt mailen en die je spulletjes snel en zorgvuldig opstuurt.
De Raspberry Pi (RPi) die ik gekocht heb is een type B, versie 2 en met een bijbehorend kastje ziet hij er super compact uit. Om goed te kunnen experimenteren met veel (heel veel) beschikbare software een 16GB SD kaart erbij aangeschaft. Daarnaast een Micro USB stroomadapter een Ultracompacte WLAN USB 2.0 en een Powered USB 2.0 HUB. Voor €90 heb je zo voldoende in huis om lekker aan de gang te gaan.
De onderdelen hierboven afgebeeld zijn niet op ware grootte, maar het geeft een goede indruk. De voetprint van het kastje is zo groot als een bankpas en wordt kompleet met 4 x plakvoetjes en 2 x bout-moertje voor de bevestiging van de RPi geleverd. De WLAN is voor draadloos en de Powered HUB heb je nodig voor als je USB apparaten aansluit die meer dan 100mA aan stroom gebruiken (en dat is al snel het geval).
Ik heb hem nu een week in bezit en tot nu toe zijn de volgende experimenten uitgevoerd (en dus de nodige software gezocht, geladen en uitgeprobeerd)
- Opstaren met een keyboard, muis en TV met HDMI ingang. Ja alles werkt, dus ik kan nu vanaf een andere pc of laptop met SSH werken.
- internet radio ontvangst w.o. amateur repeater streams. Gaat eenvoudig met het commando: pi@raspberrypi ~ $ mpg123 http://icecast.omroep.nl/radio1-bb-mp3
- installeren van de WLAN software en dus nu ook mobiel radio luisteren. De voeding is een 4 x AA batterijhouder met USB aansluiting die ik nog had liggen.
- installeren van TightVNC zodat ook grafisch met de RPi gespeeld kan worden. SSH is standaard aanwezig en actief maar VNC niet.
Hierna ben ik een hele tijd aan het stoeien geweest met Icecast2, Darkice en het streamen van de audio van de RX320 onlinereceivers.net radio. Dit is een heel verhaal en dus een blog op zich, want je moet ook nog een ALSA mixer installeren voor een externe USB audiokaart. De RPi heeft alleen audio uit en geen audio in!
In dit blog wil ik het echter hebben over een ander experiment dat hoog op de lijst van technologie-wensen stond, nl. het gebruiken van de RPi met een RTL DVB-T dongle. Immers met het programma SDRSharp kun je ook kiezen voor een RTL-SDR / TCP ontvanger. Googelen op internet leverde meteen al een paar hits op:
- http://sdr.osmocom.org/trac/wiki/rtl-sdr Meteen de meest volledige en ook moeilijkste link;
- http://www.pe2bz.nl/hamradio/index.php?page=raspberry-pi-en-rtl_tcp Een praktische maar onvolledige beschrijving;
- http://www.hamradioscience.com/raspberry-pi-as-remote-server-for-rtl2832u-sdr/ De instructie die ik gebruikt heb;
- http://superkuh.com/rtlsdr.html Een andere aanpak en een site met heel veel extra linken.
en een mooi filmpje op http://www.youtube.com/watch?v=rU0dgV7VX2o.
Toch ben ik er wel even mee bezig geweest, want het werkte niet! Ik kreeg foutmeldingen of er gebeurde helemaal niks. Het laden en compileren van de software ging wel goed en probleemloos. Je hoeft immers alleen maar de instructies op de website te volgen en de rest gaat vanzelf. Dat is het leuke van Linux en een hele verademing t.o.v. Windows. Maar ik kreeg de boel niet aan de praat helaas.
In veel blog berichten kwam ik tegen dat de R820T dongle (de nieuwste dus) niet zou werken. De E4000 chipset werkte goed, maar die RTL2832u dongle had ik aan mijn zoon (ja die Linux sprekende) mee gegeven. Echter …… na enig nadenken (je moet soms gewoon even gaan zitten) lag de oplossing voor de hand. Ik had niet mijn nieuwe net gekochte Powered USB 2.0 HUB gebruikt, maar een oude die ik nog had liggen (duurzaamheid?). Tja en die haalde de USB 2.0 specs/snelheid niet. Dus nieuwe HUB ertussen en voila. Ondertussen ook de E4000 (oude) RTL dongle weer teruggekregen van zoonlief en omdat die minder stroom gebruikt kan deze zonder Powered HUB op de RPi worden aangesloten. (Omdat de E4000 dongle zonder HUB kan werken en de R820T via een HUB (vanwege de stroomopname), werd het echte probleem nl. dat de USB HUB versie 2.0 aan moet kunnen niet meteen herkend in veel blog vragen en antwoorden.)
Goed, SDRSharp gestart en met Configure kan je het juiste IP adres instellen (kan ook een naam zijn bv. raspberry-1) en de Manual Gain en Freq Correctie. Deze laatste parameters verschillen per dongle. De Sample Rate is in feite de kijkbreedte. 2048000 betekent dat je 2 MHz breed op je scherm krijgt. Als je RPi een WLAN verbinding heeft moet je terugschakelen naar 1024000 (1MHz) anders vallen er gaten in de ontvangst. Dit geldt ook als je van buiten je LAN netwerk verbinding maakt met de dongle. Je kunt dus je router laten doorverbinden (van buiten naar binnen) naar de raspberry op poort 1234 (of welke dan ook) en dan via internet met je dongle verbinding zoeken (of iemand anders toegang geven).
Vraag rijst natuurlijk, waarom zou deze opstelling willen. Je kunt de dongle ook meteen aansluiten aan je pc of laptop. In de blog van Hamradio Science staan wel een paar redenen genoemd:
- Minder coax kabel en dus verliezen;
- Lekker mobiel luisteren (op de bank bv. naast de XYL);
- Luisteren vanuit je hotelkamer naar je locale huis repeater;
- Een dongle opstellen bij een vriend van je die 20 hoog woont in New York;
- Met batterijvoeding of zonnecellen aan een heliumballon op 300 meter hoog hangen;
- etc. etc. etc.
en verder is het natuurlijk gewoon leuk om mee te experimenteren.
Hier de opstelling. De RPi met WLAN, USB 2.0 HUB en de R820T chipset dongle. Nu nog een antenne eraan, batterijvoeding en opladen via zonnecellen en klaar is Kees. Weinig coax nodig, laag stroomverbruik en overal beschikbaar.
Toch wel grappig zo’n RPI. Linux leren met een minimaal systeem. Energiezuinig en met veel potentie. Ik ben al een site tegengekomen welke volledig op een RPi draait! Apache, PHP etc… Ik ben nog lang niet uitgespeeld en dus zullen er nog wel wat RPi blogjes volgen.
Tot slot mijn installatieprocedure:
Inloggen op de RPi vis SSH
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install libusb-1.0-0.dev
sudo apt-get install build-essentialgit clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfigJe moet voordat je de bovenstaande commando’s uitvoerd de file rtl-sdr.rules zoeken. Deze staat in de directory rtl-sdr (het path kan verschillen). De file rtl-sdr.rules moet met sudo cp rtl-sdr.rules /etc/udev/rules.d gekopieerd worden.
Met het commando rtl_tcp -a 192.168.178.55 & kan hierna het programma gestart worden.
Nu de client starten op de pc of laptop en met de juiste Configuratie instellingen de combinatie van Raspberry Pi en HAM radio benutten. O ja soms moet je de Configuratie instellingen voor een 2e keer met Update Settings doorsturen naar de RPi zoals je hier boven ook ziet (de gain setting komt de 1e keer niet door.)
Succes en voor vragen kun je dit blog gebruiken. O ja….. als je het wil proberen installeer dan SDRSharp op je pc en selecteer RTL-SDR / TCP. Als Hostnaam gebruik je pa3ang.xs4all.nl, Sample Rate 1024000, Manual Gain 430 en Freq Correction 84.
UPDATE
De eerste test via internet met Hans, PA0EBC toonde aan dat het systeem werkte. Echter we liepen tegen een nieuw fenomeen aan en dat fenomeen heet bandbreedte. Wat Hans ook instelde aan Sample Rate 2048000, 1024000, 512000 het geluid bleef gebroken en de ontvanger reageerde traag terug. Het lag waarschijnlijk aan de verbinding want een reboot van de RPi leverde geen verbetering op. Dan toch maar even kijken op de fritz.box wat de upstream in huize PA3ANG aanwees. Nou zie hier het overzicht. Zodra de ontvangst wordt gestart wordt alle upstream bandbreedte benut. We moeten duidelijk upgraden om het goed te laten werken.
vy 73 Johan, PA3ANG
Hoi Johan,
Ik liep ook tegen de bandbreedte aan en heb om deze reden getracht ghpsdr3,
http://napan.ca/ghpsdr3/index.php/Main_Page
op de raspberry draaiend gehad. Met de rtl-dongle en dspserver is de bandbreedte geschikt voor gewoon internet.
Helaas is de rekenkracht van de raspi dan weer te weinig. Heb het met twee raspi’s geprobeerd. Een met de dongle eraan en de tweede met de dspserver. Maar zelfs dan wil het niet echt lukken.
Ik wacht nog maar eens een paar releases af en kijk wel of er iets geoptimaliseerd is in de code.
In ieder geval een leuke toepassing voor de raspi en leuk om te lezen dat ik niet de enige ben die met de dongle experimenteerd.
Gr,
Philip PA3DFN
Johan, zou het ook mogelijk zijn om met de RPi Teamspeak door te geven?? dan kan ik PI3MEP gewoon continue blijven doorgeven.
groetjes
fred
Goeden dag,
ik heb een en ander volgens de gegevens op de site hierboven geinstalleerd
Krijg echter een probleem na het starten van rtl-sdr zie hier onder
Wat moet ik nog doen wat doe ik fout??
————————————————————————————–
pa3dsc@rpi-79 ~/serverdisk2/src/rtl-sdr/build $ sudo rtl_tcp -a 10.72.192.79 &
[1] 2452
pa3dsc@rpi-79 ~/serverdisk2/src/rtl-sdr/build $ Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN:
Using device 0: Generic RTL2832U OEM
Kernel driver is active, or device is claimed by second instance of librtlsdr.
In the first case, please either detach or blacklist the kernel module
(dvb_usb_rtl28xxu), or enable automatic detaching at compile time.
usb_claim_interface error -6
Failed to open rtlsdr device #0.
^C
[1]+ Exit 1 sudo rtl_tcp -a 10.72.192.79
————————————————————————————
pa3dsc@rpi-79 ~/serverdisk2/src/rtl-sdr/build $ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 050d:0234 Belkin Components F5U234 USB 2.0 4-Port Hub
Bus 001 Device 005: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
oplossing :
https://groups.google.com/forum/#!msg/ultra-cheap-sdr/6_sSON94Azo/sOkhU81YINIJ
Voor de volledigheid:
DVB module weghalen.
sudo rmmod dvb_usb_rtl28xxu rtl2832
Hallo Johan,
Ben benieuwd of de PI 2 die ik net bezit en waar ik nu aan
zit te toetsen tzt ook mijn home made sdr-trx kan sturen
ook(tx?) onder HDSDR
Be PA0BZC Emmen
Johan,
ik heb je al eerder een email gestuurd, maar nog geen antwoord gekregen. dit terzijde.
wat bedoel je precies met:
“Je moet voordat je de bovenstaande commando’s uitvoerd de file rtl-sdr.rules zoeken. Deze staat in de directory rtl-sdr (het path kan verschillen). De file rtl-sdr.rules moet met sudo cp rtl-sdr.rules /etc/udev/rules.d gekopieerd worden.”