Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Technische vragen / problemen? Leg ze hier neer..

Moderator: admin6

Gebruikersavatar
remco_k
Berichten: 5440
Lid geworden op: 06 sep 2003 16:35

Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door remco_k »

Voor de lokale omroep zocht ik in de kerstvakantie een manier om geautomatiseerd ons DAB+ kanaal te monitoren, vooral op stilte. Een losse DAB+ tuner neerzetten en aan de line-output een stilte detectie hangen is dan een optie. Maar een dure optie. Maar, daarnaast zocht ik voor thuis een manier om naar ons DAB+ kanaal te kunnen luisteren, terwijl ik in het grootste gedeelte van mijn huis geen DAB+ ontvangst heb, voor dat allotment. Aangezien automatisering mijn beroep is... Doen we dat dus niet met een losse DAB+ tuner.

Ik heb deze 2 vliegen in één klap geslagen en heb een image gemaakt voor de Raspberry Pi waarmee je met een goedkope RTL-SDR stick DAB+ kan ontvangen en via een webinterface kan monitoren / luisteren.
Ik heb het dan over zo'n ding:
Afbeelding

En het geheel kan er dan zo uit zien:
Afbeelding

Ik heb daarvoor bestaande open source pakketten gebruikt: rtl-sdr en welle.io (welle-cli, om precies te zijn).
Nadeel van het luisteren op deze manier: de audio stream wordt getranscodeerd naar MP3. En dat wil ik niet.
Met dit image is het ook mogelijk om welle-cli op de Pi niet op te starten en vervolgens op je eigen pc met welle.io via rtl-sdr te connecten met de Pi, dan speelt welle.io de daadwerkelijke audio stream af, zonder transcodering. Nadeel: dit levert netwerk verkeer op van c.a. 40Mbps. Dus zorg voor een goed netwerk die dit aankan. Je kan dan overigens ook SDRSharp gebruiken voor analoge ontvangst van onder andere de 3 meter band. En nog veel meer (alles tussen 24 MHz en 1,7 GHz).

Voor wie het zelf wil proberen, ik heb er een image van gemaakt. Als je al een Pi hebt en je hebt zo'n RTL-SDR stick met antenne liggen, dan ben je binnen 10 minuten klaar.
Ik heb de manual in het Engels geschreven omdat ik vermoed dat ook anderstaligen dit erg fijn vinden.
Garantie tot aan de deur.
---------------------------------------------------------------------------------------

Pi-DABReceiver image

Goal:
Use a Raspberry Pi with a cheap RTL SDR receiver as a remote (networked) DAB+ receiver and be able to do one of the following:
1. Listen to your favorite DAB+ channel via the web interface and stream hosted by Pi-DABReceiver. Multiple channels from the same allotment is possible. (This is the default config of Pi-DABReceiver)
2. Use welle.io or SDRSharp to connect to Pi-DABReceiver via rtl-sdr and use their functionality of resp. DAB+ or analog radio reception.
3. Automatic monitoring of DAB+ channel(s) with a Nagios plug-in (check_welle-cli). Audio level, SNR, DLS and bitrate are possible to check automatically. You will need a running Nagios instance for this, which will send you a notification e-mail if the DAB+ channel goes silent, for example.

Screenshot:
Afbeelding

Costs:
The complete Pi + RTL SDR will cost around €110,- depending on your choices.

Info:
The Pi-DABReceiver is based on 'Raspberry Pi OS Lite' (2 dec 2020, kernel 5.4).
This image contains the following 3rd party software:
rtl-sdr: https://git.osmocom.org/rtl-sdr
welle-cli: https://github.com/AlbrechtL/welle.io
You can optionally disable welle-cli in /etc/rc.local and use rtl-sdr with welle.io or SDRSharp from another computer.
No graphic gui will show from the Pi's HDMI output. It will just show you a console login prompt.
If you need it, the password for user pi is: raspberry
Pi-DABReceiver is out of the box configured as a DHCP client. It will show its IP address on its console output. The hostname is dabreceiver. SSH is enabled at port 22.
When the installation is ready you can access your Pi-DABReceiver via your browser: http://ip_of_pi/

Minimum requirements:
* RTL2832U / R820T2 USB SDR tuner
* Some kind of terrestrial DAB+ reception
* Raspberry Pi 3 (2GB memory) (read the heat sink part below)
* 8GB SD card

Recommended requirements:
* RTL2832U / R820T2 USB SDR tuner
* Some kind of terrestrial DAB+ reception
* Raspberry Pi 4 (2GB memory) (read the heat sink part below)
* 8GB SD card

Resources:
Example RTL2832U / R820T2 USB SDR tuner: https://www.amazon.nl/dp/B00VZ1AWQA/ref ... UTF8&psc=1
Any other RTL2832U device should work just fine.



Start creating your Pi-DABReceiver

Download files:
Download the Pi-DABReceiver image for Raspberry Pi3 en Pi4: https://www.dropbox.com/s/b2aklqzhr9f1v ... mg.gz?dl=1
Download Raspberry Pi imager to burn the image to the SD card: https://www.raspberrypi.org/software/

Other optional download files:
If you need it, you can also download the Nagios check plugin I have created check_welle-cli.py: https://exchange.nagios.org/directory/P ... li/details (You use the check_welle-cli.py plugin in your existing Nagios instance. Python3 is needed. Run "check_welle-cli.py -h" to see the command line options).


Burn it:
Install and start Raspberry Pi imager.
Select OS. Scroll down to select a custom .img file. Choose Pi-DABReceiver.img.gz
Select SD card. Choose your SD card and make sure you have selected the right card! ALL DATA ON THAT SD CARD WILL BE ERASED!
Click Write. And take a cup of coffee.
Pi imager will write and verify the image to the SD card.

If the write is complete, you're almost done! Slide your SD card into your Pi. Connect your RTL SDR stick and antenna to a USB port of the Pi. Connect a network cable to the Pi. And connect the power to the Pi. It will boot for the first time, do some magic things to your SD card and then reboots automatically. After its boot is complete then rtl-sdr and welle-cli are running, you can now access the web page at http://ip_of_pi/
Console access is not needed in this process.

Thats it!
You are now ready. Or keep reading if you need to customize your brandnew Pi-DABReceiver.



Do you need heat sinks and active cooling?
You need heat sinks in your Pi to keep it cool.
You might need active cooling if you configured welle-cli to decode many services at the same time. Check the temps of your Pi to be sure it won't fry itself.



Is your Pi running too hot or do you want it to run light?
Change the welle-cli configuration. Login to the Pi via console or SSH. Type:

Code: Selecteer alles

sudo nano /etc/rc.local
Scroll down and find the few different welle-cli configurations and read instructions there. Remark the current active welle-cli row, unremark the one you need. Save with Ctrl+X, Y enter. Then reboot your Pi. Type:

Code: Selecteer alles

sudo reboot


Decode all services at the same time?
By default your Pi-DABReceiver is decoding 3 by 3 services in a carousel. If your Pi is powerful enough (a Pi 4 is) and cooled properly, you might consider enabling decoding of all services at the same time. Login to the Pi via console or SSH. Type:

Code: Selecteer alles

sudo nano /etc/rc.local
Scroll down and find the few different welle-cli configurations. Remark the current active welle-cli row, unremark the one where the comments state: 'CPU load: HIGH'. Then reboot your Pi. Type:

Code: Selecteer alles

sudo reboot


Need to change the goal of Pi-DABReceiver?
If you want to use welle.io or SDRSharp to connect to the Pi via rtl-sdr, then simply disable welle-cli on the Pi. Login to the Pi via console or SSH. Type:

Code: Selecteer alles

sudo nano /etc/rc.local
Scroll down and find the few different welle-cli configurations. Remark the current active welle-cli row and make sure other welle-cli rows are all remarked. Save with Ctrl+X, Y enter. Then reboot your Pi. Type:

Code: Selecteer alles

sudo reboot
After reboot you should be able to connect welle.io or SDRSharp via rtl-sdr to the IP address of your Pi. The port number where rtl-sdr is running is 1234.



Need to change the startup allotment?
Default it will start receiving DAB+ allotment 7B. You can change that. Login to the Pi via console or SSH. Type:

Code: Selecteer alles

sudo nano /etc/rc.local
Scroll down and find the few different welle-cli configurations.
You will see some cli parameters, one of which is: -c 7B
Change 7B to whatever you need. Save with Ctrl+X, Y enter. Then reboot your Pi. Type:

Code: Selecteer alles

sudo reboot
Laatst gewijzigd door remco_k op 06 jan 2021 12:29, 1 keer totaal gewijzigd.
www.digiplay.nl: SHOUTcast V2 streaming, 3 mountpoints, met gratis web app, statistieken en SSL support!
Levert ook: Radio Bingo software. Print je eigen bingokaarten met je printer of naar een PDF bestand.
Gebruikersavatar
radiogolfje
Berichten: 5003
Lid geworden op: 27 mar 2004 07:50

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi

Bericht door radiogolfje »

Leuk ontwerp Remco.
glokhoff
Berichten: 562
Lid geworden op: 27 jan 2013 14:03

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door glokhoff »

Ja, Welle-cli is een mooie tool om een DAB monitoring station op te zetten. Je kunt via de web interface ook andere kanalen beluisteren.
Gebruikersavatar
Ane Sybesma
Berichten: 938
Lid geworden op: 03 aug 2002 22:22

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door Ane Sybesma »

Ik doe het normaal rechtstreeks op de PC, en dan ook met welle.io of SDRSharp.

Ik zal het eens gaan testen op 1 van mij Raspberry Pi's.
Gebruikersavatar
remco_k
Berichten: 5440
Lid geworden op: 06 sep 2003 16:35

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door remco_k »

Even een kleine update: De antenne die bijgeleverd is bij de SDR tuner is niet bepaald een optimaal geval. Ik zit al op de grens van het ontvangst gebied, dus de praktijk was dat mijn 2 ontvangst setjes die ik gebruik allebei met enige regelmaat wat moeite hadden met de ontvangst.

Uiteindelijk beide antennes vervangen voor een wat beter exemplaar (Nedis ANORDAB10ME) wat op DAB+ frequenties een stuk beter werkt, a €17,23:
https://www.reichelt.nl/nl/nl/dab-buite ... os_0&nbc=1
Afbeelding
(Let op: Verticaal monteren, niet horizontaal zoals hier op het plaatje staat).

Daarbij met bijbehorende kabel en verloopje:
https://www.reichelt.nl/nl/nl/aansluitk ... os_0&nbc=1
https://www.reichelt.nl/nl/nl/antenne-a ... os_0&nbc=1

Thuis had ik een ontvangst winst van c.a. 4 dB (SNR) (daar zit de antenne binnen, op zolder, gemonteerd).
In de studio, buitenmontage, ging de SNR met meer dan 6 dB omhoog.
Beide nu hoog genoeg om betrouwbaar te blijven werken.
www.digiplay.nl: SHOUTcast V2 streaming, 3 mountpoints, met gratis web app, statistieken en SSL support!
Levert ook: Radio Bingo software. Print je eigen bingokaarten met je printer of naar een PDF bestand.
Pascal. K
Berichten: 556
Lid geworden op: 02 apr 2019 20:09

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door Pascal. K »

remco_k schreef: 20 feb 2021 14:11 Even een kleine update: De antenne die bijgeleverd is bij de SDR tuner is niet bepaald een optimaal geval. Ik zit al op de grens van het ontvangst gebied, dus de praktijk was dat mijn 2 ontvangst setjes die ik gebruik allebei met enige regelmaat wat moeite hadden met de ontvangst.

Uiteindelijk beide antennes vervangen voor een wat beter exemplaar (Nedis ANORDAB10ME) wat op DAB+ frequenties een stuk beter werkt, a €17,23:
https://www.reichelt.nl/nl/nl/dab-buite ... os_0&nbc=1
Afbeelding
(Let op: Verticaal monteren, niet horizontaal zoals hier op het plaatje staat).

Daarbij met bijbehorende kabel en verloopje:
https://www.reichelt.nl/nl/nl/aansluitk ... os_0&nbc=1
https://www.reichelt.nl/nl/nl/antenne-a ... os_0&nbc=1

Thuis had ik een ontvangst winst van c.a. 4 dB (SNR) (daar zit de antenne binnen, op zolder, gemonteerd).
In de studio, buitenmontage, ging de SNR met meer dan 6 dB omhoog.
Beide nu hoog genoeg om betrouwbaar te blijven werken.

Klinkt goed Remco!

Heb het project geprobeerd en werkt echt goed!

Is er een mogelijkheid om via web ook fm ontvangst te doen?
Gebruikersavatar
remco_k
Berichten: 5440
Lid geworden op: 06 sep 2003 16:35

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door remco_k »

Niet dat ik weet. Je kan wel FM (en nog veel meer) ontvangst doen met de applicatie SDRSharp die je dan verbindt met rtl-sdr (wat dus ook remote of gerouteerd kan. Hou rekening met ca 40Mbps benodigde beandbreedte). Niet vergeten om welle-cli even uit te zetten want dat gaat niet gelijkertijd.
www.digiplay.nl: SHOUTcast V2 streaming, 3 mountpoints, met gratis web app, statistieken en SSL support!
Levert ook: Radio Bingo software. Print je eigen bingokaarten met je printer of naar een PDF bestand.
Pascal. K
Berichten: 556
Lid geworden op: 02 apr 2019 20:09

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door Pascal. K »

Dat heb ik geprobeerd en kreeg geen verbinding op ip:1234
Gebruikersavatar
remco_k
Berichten: 5440
Lid geworden op: 06 sep 2003 16:35

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door remco_k »

Dan draait welle-cli nog op de Pi.
www.digiplay.nl: SHOUTcast V2 streaming, 3 mountpoints, met gratis web app, statistieken en SSL support!
Levert ook: Radio Bingo software. Print je eigen bingokaarten met je printer of naar een PDF bestand.
Pascal. K
Berichten: 556
Lid geworden op: 02 apr 2019 20:09

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door Pascal. K »

remco_k schreef: 20 feb 2021 20:28 Dan draait welle-cli nog op de Pi.
Ik had zover ik weet de cloud versie uitgezet in de config../ zal morgen weer eens gaan proberen
glokhoff
Berichten: 562
Lid geworden op: 27 jan 2013 14:03

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door glokhoff »

Remco, bedankt, draait prima !
Gebruikersavatar
remco_k
Berichten: 5440
Lid geworden op: 06 sep 2003 16:35

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door remco_k »

Ha! Leuk om te horen. 😀
www.digiplay.nl: SHOUTcast V2 streaming, 3 mountpoints, met gratis web app, statistieken en SSL support!
Levert ook: Radio Bingo software. Print je eigen bingokaarten met je printer of naar een PDF bestand.
glokhoff
Berichten: 562
Lid geworden op: 27 jan 2013 14:03

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door glokhoff »

Ik heb wel het opstarten via rc.local vervangen door een oplossing met supervisor. Vreemd genoeg wilde het via rc.local niet opstarten achter het Fritzbox modem/router, maar wel achter een router dieper in het thuisnetwerk. Meteen achter de Fritzbox startten met rc.local zowel rtl_tcp als welle_cli niet op. Zal wel iets met opkomen van het netwerk te maken hebben, maar ben er niet achter gekomen waardoor exact.
Gebruikersavatar
jassy
Berichten: 2800
Lid geworden op: 03 jul 2004 16:36

Re: Pi-DABReceiver: Voor de nerds, maak je eigen DAB+ ontvanger met een Raspberry Pi en een USB DVB-T stick

Bericht door jassy »

Remco, ik ga dit eens proberen en dit ziet er veelbelovend uit!

Vraagje, hoe kan ik een en ander via WiFi aansluiten? Ik snap dat bedraad beter/stabieler is, maar ik wil dit ook graag via WiFi kunnen benaderen.

Bedankt!

Edit: Gevonden, is in te stellen via Raspi-config.. Daarna in /etc/rc.local de lijnen die naar buiten pingen uitschakelen want anders crasht het script.
Laatst gewijzigd door jassy op 14 mei 2021 17:50, 1 keer totaal gewijzigd.
Check live de details van de ensembles op 11C (Commercieel), 12C (NPO) en 6B (DAB Oost) op

http://www.dabmonitor.nl/
Plaats reactie