De speakers van Sonos zijn op dit moment erg populair, maar helaas zijn ze nogal prijzig. Een goede reden om eens te kijken of je zelf een dergelijke speaker kunt bouwen. Aangezien ik nog een RaspBerry Pi 1B had rondslingeren, leek het me leuk om deze als basis voor een dergelijke speaker te gebruiken. Het beestje is niet snel genoeg meer voor de meeste applicaties die ik gebruik, maar voor het afspelen van muziek voldoet ie nog prima.

Na een beetje zoeken op het web kwam ik uit bij Pi MusicBox, een stukje software dat gebaseerd is op Mopidy, een uitbreidbare muziekserver geschreven in Python. Op GitHub is er een image beschikbaar die je met een applicatie als Etcher in een paar minuten op je SD-card kunt flashen.

Een goedkope bluetooth speaker van de Action zal de muziek gaan produceren. Het apparaat heeft een audio-ingang die ik op de analoge audio-uitgang van de RaspBerry Pi heb aangesloten. Deze speaker werkt op een interne accu, die geladen kan worden via een micro-USB aansluiting. Een USB-kabel tussen deze poort en één van de USB-poorten van de RaspBerry Pi zorgt voor een permanente stroomvoorziening.

Door het volgen van de onderstaande stappen bouw je in 15 minuten een standalone speaker, waarmee je je MP3-bestanden en radio-streams kunt afspelen. De bediening van de speaker geschiedt via je smartphone.

  • Download de image.
  • Flash de image op je SD-card met Etcher.
  • Steek de SD-card in je RaspBerry Pi.
  • Sluit de audio-ingang van je speaker aan op de analoge audio-uitgang van je Raspberry Pi.
  • Sluit een USB-kabel aan tussen de power-ingang van de speaker en een USB-poort van je RaspBerry Pi.
  • Sluit de RaspBerry Pi aan op je netwerk.
  • Sluit de voeding van je RaspBerry aan.

Je RaspBerry Pi start nu op en de software wordt nu automatisch geconfigureerd. Na een paar minuten is alles gereed en kun je met de browser van je computer of smartphone surfen naar http://musicbox.local. (let op de punt aan het einde van het adres)

Geluid via de analoge poort in plaats van HDMI

Tijdens het experimenteren kwam ik erachter dat, wanneer je een scherm via HDMI hebt verbonden, al het geluid automatisch via de HDMI-poort uitgestuurd wordt. Om het geluid via de analoge poort te laten lopen, kun je de RaspBerry Pi herstarten zonder dat de HDMI-poort is aangesloten. Het geluid gaat dan automatische via de analoge poort.

Via de web-interface kun je ook de analoge poort als default instellen. Hiervoor ga je naar SettingsAudio. Daar klik je op de grote knop met de tekst Automatic en wijzig je naar Analog. Om deze wijziging actief te maken, dien je de RaspBerry Pi te herstarten.

Koppeling via API

Pi MusicBox is ook voorzien van een API, waarmee je eenvoudig in JSON commando’s kunt sturen via HTTP. Dat biedt leuke mogelijkheden om te koppelen met bijvoorbeeld je Domotica-systeem.

Reacties