Raspberry Pi Whole Home synchrone audio met afstandsbedieningen voor telefoonapps - Ajarnpa
Raspberry Pi Whole Home synchrone audio met afstandsbedieningen voor telefoonapps - Ajarnpa
Anonim
Raspberry Pi synchrone audio voor het hele huis met afstandsbedieningen voor telefoonapps
Raspberry Pi synchrone audio voor het hele huis met afstandsbedieningen voor telefoonapps
Raspberry Pi synchrone audio voor het hele huis met afstandsbedieningen voor telefoonapps
Raspberry Pi synchrone audio voor het hele huis met afstandsbedieningen voor telefoonapps

Het doel is gesynchroniseerde audio en/of individuele bronnen in elke kamer, eenvoudig te bedienen met een telefoon of tablet via iTunes Remote (apple) of Retune (android). Ik wil ook dat de audiozones automatisch worden in- en uitgeschakeld, dus ik wendde me tot de Raspberry Pi en Hifiberry voor een set it and forget it-oplossing.

Onderdelenlijst voor één audiozone:

  • Raspberry pi 3 $35
  • SD-kaart 16G $8
  • Hifiberry AMP2 $ 50
  • Voeding 5,5 mm x 2,1 mm DC-stekker, 12V 5A 60W $ 12
  • Luidsprekers $ 75 (weerbestendig voor het badkamerplafond)
  • Muziekserver (pc met iTunes)

Alleen voor installatie

  • USB-muis
  • USB-toetsenbord
  • HDMI-scherm
  • USB-stekker
  • USB naar micro-USB-kabel

Stap 1: Downloaden naar uw pc

UPDATE 7/5/19 SKIP deze instructable en installeer gewoon

Oh mijn god, het is altijd gemakkelijk in te stellen / te gebruiken en doet alles wat je zou krijgen van deze tutorial plus nog veel meer. Je kunt het zelfs instellen als een toegangspunt als je wilt, zodat je kunt genieten van je geweldige headless audiosysteem uit het rooster.

  1. Download SD-kaartformatter (of niet, ik had het niet nodig) Deze build wordt alleen gebruikt als een luchthavenversterker, dus 16G is voldoende ruimte en de kaart is geformatteerd als fat32.
  2. NOOBS Op mijn Windows 10-machine koos ik eenvoudig mijn SD-kaart als bestemming om NOOBS uit te pakken na het downloaden.
  3. Installeer VNC-viewer op een pc, zodat u het bureaublad op afstand naar uw Pi kunt gebruiken nadat u deze hebt ingesteld. Het is al geïnstalleerd op je Raspberry Pi.

Stap 2: Installeer Raspbian OS

Raspbian OS installeren
Raspbian OS installeren
  1. Plaats de SD-kaart in je Raspberry en sluit de HDMI-monitor, usb-toetsenbord en usb-muis aan
  2. Voorzie de Pi van stroom met de mini-usb-aansluiting. Gebruik de USB-voeding NIET als uw hifiberry-versterker is geïnstalleerd. (De hifiberry-versterker voedt je framboos)
  3. De USB-muis en het toetsenbord werken voor u bij het opstarten. Selecteer uw taal/toetsenbord onderaan het scherm.
  4. Selecteer het Raspian-besturingssysteem.
  5. Als je wifi gebruikt, selecteer je je wifi-netwerk en log je in. Er komen veel coole dingen beschikbaar nadat je pi lid is geworden van je netwerk, doe het niet. Blijf gewoon bij raspbian. Klik op installeren. Bekijk informatie over uw Raspberry op het scherm terwijl deze wordt geïnstalleerd. Grapje. Ga iets doen en kom later terug, het gaat even duren.

Stap 3: Na installatie van Raspbian OS

  1. Nadat u bent opgestart naar uw nieuwe raspbian-bureaublad, klikt u op de framboos (het is net als het startmenu in Windows)
  2. Selecteer Raspberry Pi-configuratie en doe het volgende:

    1. VERANDER WACHTWOORD!
    2. Interfaces

      Schakel SSH en VNC in (ik geef de voorkeur aan VNC, ik zal je later vertellen waarom)

    3. Lokalisatie

      Stel al je spullen in (tijdzone, land, …)

    4. Hostnaam wijzigen

      Wijzig dit in de naam van de audiozone. Maak de naam uniek, je krijgt meerdere zones

  3. Herstart.

Stap 4: Zoek het IP-adres van de Raspberry

  1. Frambozen die zijn opgezet als headless-audiobronnen zullen niet gemakkelijk zijn om rechtstreeks toegang te krijgen, u wilt er vanaf een pc op afstand naar toe.
  2. U moet het IP-adres van uw Pi weten.

    Als u op het Raspbian-bureaublad met de muis over het wifi-pictogram in de taakbalk gaat, verschijnt er een infovenster waarin u het IP-adres kunt zien dat uw router aan de Raspberry heeft toegewezen. Mijn router heeft een functie om apparaten op het netwerk te selecteren en altijd hetzelfde IP-adres toe te wijzen. Dit was de weg van de minste weerstand om een "statisch" IP-adres aan mijn Pi toe te wijzen. Een dedicated IP-adres maakt het leven een stuk eenvoudiger

Stap 5: dingen installeren

dingen installeren
dingen installeren
dingen installeren
dingen installeren
dingen installeren
dingen installeren

Als je je geluidskaart/versterker nog niet hebt aangesloten, doe dat dan nu met je Pi uitgeschakeld

Zet je Pi aan en open VNC-viewer op je pc. Er wordt een VNC-server-app meegeleverd met uw raspberry pi en u hebt deze in een vorige stap ingeschakeld. Maak een nieuwe verbinding en vertel de VNC-viewer het IP-adres van je Raspberry.

Er is een snelkoppeling in het opdrachtvenster op de taakbalk op het bureaublad van uw Raspberry. Open de opdrachtprompt en voer in:

sudo apt-get update

Nadat het is voltooid, voert u het volgende in:

sudo apt-get upgrade

sluit de opdrachtprompt en open het Raspberry-menu, we zullen op de gemakkelijke manier wat software installeren.

klik op Voorkeuren => Software toevoegen/verwijderen

zoek naar shairport-sync en installeer het

doe hetzelfde voor de EQ

je zou de EQ ook kunnen installeren met

sudo apt-get install -y libasound2-plugin-equal

Stap 6: Nog een keer in de opdrachtprompt

We moeten iets weten over de geluidskaart

Open een opdrachtregelprompt.

Voer het commando aplay –l like in het voorbeeld hier in.

Merk op dat de hifiberry-versterker kaart 1 is

pi@Balkon:~ $ aplay -l

**** Lijst met WEERGAVE-hardwareapparaten **** kaart 0: ALSA [bcm2835 ALSA], apparaat 0: bcm2835 ALSA [bcm2835 ALSA] Subapparaten: Subapparaat #0: subapparaat #0 Subapparaat #1: subapparaat #1 Subapparaat #2: subapparaat #2 Subapparaat #3: subapparaat #3 Subapparaat #4: subapparaat #4 Subapparaat #5: subapparaat #5 Subapparaat #6: subapparaat #6 Subapparaat #7: subapparaat #7 kaart 0: ALSA [bcm2835 ALSA], apparaat 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] Subapparaten: Subapparaat #0: subapparaat #0 kaart 1: sndrpihifiberry [snd_rpi_hifiberry_dacplus], apparaat 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 Subapparaten: Subapparaat #0: subapparaat #0:

Stap 7: Maak het Asound.conf-bestand

U hebt een bestand "asound.conf" nodig dat zich bevindt op /etc/asound.conf

Laten we het maken. (Nu komen we tot de reden waarom ik VNC leuk vind om op afstand in je Pi te zitten versus zoiets als stopverf)

Ga bij een opdrachtprompt op je Pi naar de map /etc/ en voer dit in:

sudo leafpad asound.conf

Als je putty zou gebruiken, zou het leafpad-commando niet werken. In dat geval typ je:

sudo nano asound.conf

De nano-opdracht opent een teksteditor in het opdrachtvenster. Het is gemakkelijk genoeg om te gebruiken, maar een beetje onhandig. Je kunt je muis niet gebruiken en ik vind het een beetje moeilijk om te lezen.

Leafpad daarentegen opent een apart venster dat zich als een notitieblok in vensters gedraagt. Ik vind het gemakkelijker te lezen en veel gemakkelijker te gebruiken.

Hoe je er ook bent gekomen, je moet je asound.conf er als volgt uit laten zien:

pcm.!standaard {

type plug slave.pcm pluggelijk; } ctl.!default { type hw kaart 1 } ctl.equal { type gelijk; } pcm.plugequal { typ gelijk; slave.pcm "plughw:1, 0"; } pcm.equal { type stekker; slave.pcm pluggelijk; }

Let op de regels die zeggen hw card 1 en plughw:1, 0

Als uw audioapparaat dat u in de vorige stap hebt gevonden, geen kaart 1 is, moet u de regels hier aanpassen om uw kaart weer te geven.

Bewaar je werk. Het moet asound.conf heten en zich in de map /etc/ bevinden

Sluit de opdrachtprompt. (u kunt het commando "exit" invoeren om de terminal te sluiten)

Herstart! Ik ben op dit punt eerder vergeten opnieuw op te starten en dat is zo frustrerend als je denkt dat er iets mis is gegaan en je begint met het oplossen van problemen terwijl je alleen maar REBOOT hoefde te doen.

U moet hier REBOOTEN.

Stap 8: De Eq-niveaus wijzigen

De Eq-niveaus wijzigen
De Eq-niveaus wijzigen

Na het opstarten zou je nu rechtstreeks vanaf je telefoon naar je Raspberry moeten kunnen airplayen. Dit zal niet synchroniseren met meerdere kamers, maar het is nog steeds geweldig. Speel iets.

Het kan zijn dat de kamer wat EQ nodig heeft. Open nog een keer een opdrachtprompt op je Raspberry en we krijgen de EQ-set.

Typ bij uw opdrachtprompt homedirectory:

sudo -u shairport-sync alsamixer -D gelijk

Wat doet dit?

sudo = beheerdersrechten

-u shairport-sync = voer de opdracht uit als een andere gebruiker, in dit geval shairport-sync

alsamixer -D gelijk = opent van de equalizer

Trouwens, als je invult:

alsamixer

U gaat naar de instellingen voor uw geluidskaart.

Stap 9: Gebruik iTunes vanaf een pc en bespaar de batterijduur op uw telefoon

Gebruik iTunes vanaf een pc en bespaar de batterijduur op uw telefoon
Gebruik iTunes vanaf een pc en bespaar de batterijduur op uw telefoon
Gebruik iTunes vanaf een pc en bespaar de batterijduur op uw telefoon
Gebruik iTunes vanaf een pc en bespaar de batterijduur op uw telefoon

Op dit moment heb je al een behoorlijk geweldige luchthavenaudiospeler. Nu kunnen we een tandje bijsteken door iTunes te openen.

Installeer de iTunes Remote-app of Retune op Android. Open die app en je kunt je apparaat koppelen aan iTunes op je pc.

Nu heb je het geweldige van shairport-sync. Al je zones spelen als één. U kunt het volume in elke zone regelen en door uw iTunes-bibliotheek bladeren vanaf alle apparaten waarop u de app installeert. Je vrouw kan beginnen met het afspelen van muziek en je kunt de app op je telefoon openen, op nu afspelen klikken en zien wat er speelt alsof je het zelf hebt gedaan en de controle overnemen. Of je kunt de kamer waarin je je bevindt uitschakelen en iets anders rechtstreeks vanaf je telefoon naar je zone afspelen, zoals je had gedaan voordat iTunes actief was.

We laten iTunes de hele tijd draaien op een pc in de kelder waar onze zeer grote iTunes-bibliotheek zich op een RAID1 NAS bevindt.

Ik was bijna vergeten te vermelden, je kunt dit systeem ook bedienen met een Apple Watch. Omdat de Apple Watch waterdicht is, kan ik onder de douche van nummer wisselen en het volume aanpassen.

Stap 10: Bonusstap: geavanceerde Shairport-sync-parameters

Zoals deze instructable je Raspberry heeft ingesteld, zijn wijzigingen in het shairport-sync.conf-bestand niet vereist, maar ik maak deze aanpassing aan mijn audiozone-builds, dus ik kan het hier beter vermelden.

Gebruik uw voorkeursmethode voor het bewerken van tekst op de opdrachtregel zoals u deed in eerdere stappen, breng één wijziging aan in het shairport-sync configuratiebestand, /etc/shairport-sync.conf

Ik verwijder de opmerking "allow_session_interruption" en verander het in = "yes"

// Geavanceerde parameters om te bepalen hoe een Shairport Sync sessioncontrol = { // run_this_before_play_begins = "/full/path/to/application and args"; // zorg ervoor dat de toepassing uitvoerbare toestemming heeft. Het is een script, voeg de #!… dingen toe aan de eerste regel // run_this_after_play_ends = "/full/path/to/application and args"; // zorg ervoor dat de toepassing uitvoerbare toestemming heeft. Het is een script, voeg de #!… dingen op de eerste regel toe // wait_for_completion = "no"; // ingesteld op "yes" om Shairport Sync te laten wachten tot de "run_this…"-toepassingen zijn beëindigd voordat ze verder gaan allow_session_interruption = "yes"; // ingesteld op "ja" om een ander apparaat toe te staan Shairport Sync te onderbreken terwijl het afspeelt vanaf een bestaande audiobron // session_timeout = 120; // wacht dit aantal seconden nadat een bron is verdwenen voordat u de sessie beëindigt en weer beschikbaar wordt. };

Hiermee kun je een audiozone kapen met je bron wanneer iemand anders deze gebruikt.

Zonder deze wijziging kan een zone weigeren je muziek af te spelen wanneer deze al door iemand anders wordt gebruikt. Dit is niet nodig als u de externe iTunes-apps gebruikt, alle apparaten die die app gebruiken, fungeren gewoon als afstandsbedieningen om dezelfde bron te bedienen. Deze shairport-sync.conf wijziging is voor wanneer je gaat airplayen naar een zone van een nieuwe bron, zoals rechtstreeks van je telefoon naar een enkele zone die al aan het spelen was vanaf een andere bron. Als je denkt dat een sessieonderbreking klinkt als audio-anarchie die alleen maar tot bloedvergieten kan leiden, negeer dan deze bonusstap.

Aanbevolen: