Ehoco.nl

Maak van je Raspberry Pi een bluetooth radio

radio domoticz

Aangezien je een Raspberry Pi voor zowat alles kunt gebruiken gaan we hem ook maar inzetten als radio. Gewoon omdat het kan ;). Op de Raspberry Pi zelf zit bluetooth, het enige wat je moet aanschaffen is een degelijke bluetooth speaker. Ik heb gekozen voor de JBL Go 2 Speaker, lekker compact, goed betaalbaar en een uitstekend geluid!

 

Benodigdheden

 

Software

Allereerst gaan we een aantal packages installeren op de Pi. Voer onderstaande commando’s uit in de terminal:


Nadat de Pi herstart is gaan we een bluetooth-verbinding maken. Eerst moet je het bluetooth MAC-adres van de speaker zien te achterhalen. Dit kan met een app (op je telefoon) als Bluetooth Discovery. Zorg ervoor dat de JBL Go 2 speaker voldoende opgeladen is en zet hem aan (knopje helemaal links). Daarna druk je op het 2e knop, zodat de speaker in connectie-modus staat. Het MAC-adres van mijn speaker is 70:69:2D:40:B6:81, schrijf dit ergens op (of kopieer het naar kladblok.

Om verbinding tussen de Raspberry Pi en de speaker te maken voer onderstaande commando’s in de terminal in:


Na het connect-commando zal je iets als onderstaande zien, de speaker heeft dan verbinding met de Raspberry.

pi@raspberrypi:~ $ sudo bluetoothctl
[NEW] Controller B9:31:EB:AC:7B:E1 raspberrypi [default]
[NEW] Device 70:69:2D:40:B6:81 JBL GO 2
[JBL GO 2]# connect 70:69:2D:40:B6:81
Attempting to connect to 70:69:2D:40:B6:81
Connection successful
[JBL GO 2]#

Om te testen of het allemaal goed werkt geef je onderstaand commando in, je moet dan Q-Music te horen krijgen.


Het kan voorkomen dat de verbinding een keer weg valt, maar daar is een oplossing voor. We maken een crontask aan:


En voeg onderstaande regel toe.


Druk op CTRL+X en bevestig dat je de wijziging wilt opslaan.

Dan is er nog een ander probleem: van de EU moet tegenwoordig alles energiezuinig zijn, een bluetooth speaker dus ook. Indien er 10 minuten geen geluid afgespeeld wordt dan zal de speaker zichzelf uitschakelen. Dat is niet handig. Hier vind je MP3-bestand met geluid dat niet te horen is. Met het script, later in de artikel, laten we dit MP3-bestand iedere 5 minuten afspelen indien je geen radio-zender geselecteerd hebt in Domoticz. Pak het bestand uit met een extractor als WinRar en plaats het bestand in de folder /home/pi/domoticz/

Radio switch aanmaken

De volgende stap is om een radio switch aan te maken. Ga naar Setup -> Hardware en kies bij Type voor Dummy. Je mag zeg een herkenbare naam kiezen:

Zodra de Dummy Hardware toegevoegd is kunnen de radio switch gaan aanmaken. Klik hiervoor op Create Virtual Sensors (in het donkerblauw).

Maak nu de radio switch aan van het type “Selector Switch” en geef “Radio” als naam van de sensor in:

Ga nu naar het tabblad Switches en klik op “Edit” bij de Selector Switch. Bij Selector Style kies je voor “Select menu”, wijzig de huidige Selector Levels naar radio-zenders naar keuze. Indien je meer dan 3 radio-zenders wilt hebben dan kun je deze één voor één toevoegen bij Level name. Zodra je alle radio-zenders toegevoegd heb klik je op “Save”.

 

Script

Op regel 21, 26 en 31 vind je de streams van de radio-zenders. Als je meer radio-zenders hebt aangemaakt dan moet je deze uiteraard ook in het script toevoegen. Hier of hier vind je URL’s van streams. Ga nu in Domoticz naar Setup > More Options > Events en maak een dzVents script aan met de trigger “All”. Haal alle tekst/code weg en plak onderstaand script erin. Activeer het script en klik op “Save”.

Je kunt nu met de selector switch een radio-zender kiezen. Als je niet meer naar de radio wilt luisteren selecteer je “Off”. Het script zal dan iedere 5 minuten een MP3-bestand afspelen dat voor mensen niet te horen is, zodat wordt voorkomen dat de JBL Go 2 Speaker zichzelf uitzet. Ik heb de speaker aangesloten op een bureaulamp dit een USB-poort heeft, zodat de batterij van de speaker nooit leeg is.

  

 


 

Veel luisterplezier!

 

UPDATE:

Mocht de JBL Go 2 Speaker wel verbinding maken, maar er komt geen geluid uit, volg dan onderstaande stappen:


Er zal nu een leeg bestand geopend worden. Plak onderstaande tekst erin (uiteraard wel het MAC-adres even aanpassen!):


De Raspberry Pi even rebooten:


De muziek-stream van bv. Skyradio start je met onderstaand commando:


Indien je deze stappen hebt uitgevoerd moet je ook in het script de regels met mplayer blablabla  aanpassen naar bovenstaand format.

Mobiele versie afsluiten