Home > Raspberry Pi Bluetooth + Airplay audio-ontvanger combo

Raspberry Pi Bluetooth + Airplay audio-ontvanger combo

Tags:framboos-
Advertisement

Raspberry Pi Bluetooth + Airplay audio-ontvanger combo

Laten we een Bluetooth audio-ontvanger zodat u hook-up van uw R-Pi aan uw stereo-installatie en het gebruik van de telefoon als de geluidsbron.

Om eerlijk te zijn, dit is niet een uniek project. Tal van mensen hebben geprobeerd om een ​​bluetooth-ontvanger werkend te krijgen, sommige (minder) zijn geslaagd. Na het doorbrengen van veel te veel tijd aan het proberen om de functies die ik wil door het combineren van sniplets uit verschillende gidsen die ik uiteindelijk heb het goed te krijgen. In feite zou ik graag krediet aan Google en iedereen te geven op het internet voor het delen van hun pijn en ervaring. Zonder jou ben het niet had kunnen doen!

De wenslijst:

  1. R-Pi Bluetooth en Airplay audio-ontvanger: Ik wil in staat zijn om Spotify en andere audiobronnen streamen vanaf een telefoon naar mijn stereo. We hebben zowel Android en iOS-apparaten in ons huishouden, zodat beide moeten werken.
  2. De ontvanger moet auto-pair en auto-trust telefoons verbinding probeert te maken
  3. Er moet een synthetische stem connect aankondiging (dit is nieuw, denk ik. Ik heb niet gezien dat iemand dit anders te doen).
  4. Er moet ondersteuning voor A2DP en A2CP profielen voor meta data en het afspelen controle.
  5. Stand-alone werking. Geen weergave vereist. Geen login en handmatige stappen, dat wil zeggen sluit hem gewoon aan en gebruiken.
  6. Gemakkelijke, voorspelbare scripted installeren

Het blijkt dat, A2DP en A2CP profielen mandaat van het gebruik van Bluez 5 die op zijn beurt moet Pulse Audio 5.

Wat is Bluez? Bluez is de Linux bluetooth stack. Het behandelt alle lage niveau bluetooth stuff (pairing, audio data-overdracht, enz.)

Wat is Pulse Audio? Het is een goede proxy. Het zal de digitale bluetooth audio stream te nemen, resample het en stuur het door naar de analoge hoofdtelefoonaansluiting.

Stap 1: Wat heb je nodig

Raspberry Pi Bluetooth + Airplay audio-ontvanger combo

Dit is wat je nodig hebt om dit project te voltooien:

  • Raspberry Pi (B + v2 of Pi 2)
  • Bluez-compatibele Bluetooth 4.0 dongle
  • 8GB MicroSD
  • Een goede stevige voedingsbron van de Raspberry Pi
  • Een toetsenbord en het scherm voor de initiële configuratie
  • Optioneel: R-Pi compatibele WiFi-dongle, bijvoorbeeld Realtek RTL8188CUS

Een opmerking over het Pi-versie. Ik heb een Pi 2 gebruikt tijdens de installatie, omdat het tijd bespaart. Dan verplaats ik de voltooide MicroSD naar een B + V2. Het uitvoeren van deze applicatie op een Pi 2 is een beetje een verspilling van CPU-cycli.

Stap 2: Basic Prep

Raspberry Pi Bluetooth + Airplay audio-ontvanger combo

  • Download afbeelding Raspbian hier
  • Transfer afbeelding sdcard met behulp van Win32 Disk Imager de instructies op www.raspberrypi.org.
  • Steek sdcard en power up
  • Belangrijk! Openen file systeem om de volledige capaciteit van 8GB (zie screenshots)
  • reboot
  • Login als gebruiker pi (wachtwoord: framboos). Houdt u er rekening mee dat voor de rest van deze handleiding wordt ervan uitgegaan dat u bent aangemeld als "pi".
  • Werk besturingssysteem en reboot:
  sudo apt-get update sudo apt-get -y upgrade sudo reboot 

Stap 3: Installeer helper-scripts

Raspberry Pi Bluetooth + Airplay audio-ontvanger combo

Na te veel Manyal trial and error pogingen van het proberen om deze werken te krijgen besefte ik dat ik moest script te installeren. Op die manier zal ik het zelfde resultaat elke keer. De scripts zijn te vinden op BitBucket .

Dit is hoe te installeren:

  pi @ Raspberry Pi ~ $ cd ~ pi @ Raspberry Pi ~ $ git clone https: //[email protected]/ehsmaes/raspberry-pi-audio-receiver-install.git pi @ Raspberry Pi ~ $ cd framboos-pi-audio-ontvanger -install / pi @ raspberry Pi ~ / framboos-pi-audio-ontvanger installeren $ 

Ben je lui? Ga verder met stap 10!

Stap 4: Bluez & Pulse - Installeer afhankelijkheden

Vervolgens moet je de vereiste pakketten voor Bluez 5 installeren en Pulse Audio 5. Meestal heb je geen zorgen te maken over afhankelijkheden, omdat de debian installer doet het voor je. We zullen onze software vanaf de broncode te installeren.

lopen gewoon de script "bt_pa_prep.sh":

  pi @ Raspberry Pi ~ / framboos-pi-audio-ontvanger installeren $ ./bt_pa_prep.sh 

Stap 5: Bluez & Pulse - Installeer van bron

Noch Bluez 5 of Pulse Audio 5 zijn beschikbaar in de Raspbian repositories; dus moeten ze worden gedownload, gebouwd (gecompileerd) en geïnstalleerd. Bovendien moeten de twee softwarepakketten te communiceren. Voor dit doel gebruikers en machtigingen moeten worden opgezet recht. Run "bt_pa_prep.sh".

  pi @ Raspberry Pi ~ / framboos-pi-audio-ontvanger installeren $ ./bt_pa_install.sh 

Heeft iets mis gaan? Het eerste ding om te controleren - bent u op een 8 GB-kaart en heb je niet vergeten om het bestand systeem uit te breiden? Niet dat? Begin opnieuw en elk deel van het script handmatig uitvoeren.

Stap 6: Bluez & Pulse - configureren

De volgende script configureert de volgende:

  • Creëert het bestand /etc/udev/rules.d/99-input.rules. Dit bestand triggers uitvoering van / usr / local / bin / bluez-udev wanneer Bluetooth apparaten worden aangesloten of losgekoppeld.
  • Kopieën aangepaste programma bestanden naar / usr / local / bin:
    • simple-agent.autotrust: Python-script meestal gestolen uit Bluez voorbeeldcode. Ik wijzigde een paar regels te laten auto-accepteren enig verband poging. Het script is afhankelijk bluezutils.py, die ook gekopieerd.
    • bluez-udev: Voert wanneer apparaten zijn aangesloten en verbindt de inkomende bluetooth bron (input) met de pulseaudio wastafel (output) en keert het proces op verbreken. Het script triggers ook voice annoucements: "Device XYZ Connected" met de meegeleverde script say.sh.
    • say.sh: Text to script te uiten. Als de RPI is on-line, is de TTS-stem uit Google Translate gebruikt. Off-line terugvallen gebruikt espeak.
  • Maakt een startup script voor Pulse Audio (/etc/init.d/pulseaduio)
  • Maakt een startup script voor Bluez (/etc/init.d/bluetooth)
  • Maakt een startup script voor een eenvoudige-agent.autotrust zoals hierboven (/etc/init.d/ bluetooth-agent) beschreven
  • Wijzigt /etc/bluetooth/main.conf voor:
    • Apparaat naam
    • Bluetooth Class (Portable audio)
    • vindbaar timer uit te schakelen, zodat het apparaat blijft zichtbaar
  • Wijzigt /etc/pulse/daemon.conf voor:
    • Resample methode. De standaard resample methode is niet geschikt voor de framboos Pi.
    • Diverse parameter aanpassingen aan geluidskwaliteit (ik gebruikt om problemen met gekraak en een slechte geluid) te verbeteren.

Voer het script en voer de naam van het apparaat (wat u zult zien wanneer u bevestigen van uw telefoon):

  pi @ Raspberry Pi ~ / framboos-pi-audio-ontvanger installeren $ ./bt_pa_config.sh Bluetooth-apparaat: RpiAudio 

Nu, opnieuw op te starten!

Stap 7: Shairport - Installeer van bron

Het softwarepakket gebruikt voor Airplay audio streaming wordt genoemd Shairport. Dit wordt ook best door het downloaden van de bron en de bouw ervan:

  pi @ Raspberry Pi ~ / framboos-pi-audio-ontvanger installeren $ ./airplay_install.sh 

Stap 8: Shairport - Configure

Het script doet het volgende;

  • Maakt een /etc/init.d/shairport opstartbestand
  • Bewerkt de naam van het apparaat in het opstartbestand
  • Creëert de shairport gebruiker en voegt het toe aan de audio groep
  pi @ Raspberry Pi ~ / framboos-pi-audio-ontvanger installeren $ ./airplay_config.sh Airplay naam van het apparaat: RpiAudio 

Nu, opnieuw op te starten!

Stap 9: Gebruik

Raspberry Pi Bluetooth + Airplay audio-ontvanger combo

Haak de Pi tot een geluidsinstallatie. Als u met behulp van de gesproken aanwijzingen, ik stel voor dat je je Pi op het netwerk, hetzij via de kabel of WiFi. U ontvangt aankondigingen te krijgen, zelfs als u off-line te blijven, maar het script zal terugvallen naar espeak die een robot-achtige stem produceert.

Android: Scannen naar Bluetooth-apparaten en de naam van het apparaat dat u hebt opgegeven moet verschijnen onder vindbaar apparaten. Sluit en druk op OK in het pop-up.

iOS: Open uw muziekspeler en bevestig deze aan de airplay speler met de naam die u hebt opgegeven. Ik zou een paar screenshots hebben gedeeld, maar mijn vrouw is buiten de stad en dus is haar iPhone.

Speel een geluid en je moet het horen via de geluidsinstallatie!

Stap 10: Het bedriegen! (alles in een keer)

Dus, waarom niet samen zet het allemaal? Ofwel doe de bovenstaande stappen één voor één of lopen alle scripts in de juiste volgorde:

  pi @ Raspberry Pi ~ / framboos-pi-audio-ontvanger installeren $ ./runall.sh naam Device: RpiAudio 

Ik zou je aanraden gaan koken diner terwijl deze eindigt. Het script duurt ongeveer 45 minuten op een Rpi 2. Waarschijnlijk veel langer op de B +. Output wordt opgeslagen runall.log als je wilt om de voortgang achteraf te zien.

Stap 11: Laatste woorden

Dingen die goed werken (voor mij toch) zijn:

  • Auto Pairing
  • Bluetooth en Airplay afspelen
  • Voice aankondigingen voor Bluetooth-apparaten
  • De geluidskwaliteit is zo goed als het kan zijn op de Pi 11-bit D / A analoge out. Houd uitgang volume op de Pi zo dicht mogelijk bij max mogelijk en draai het volume een beetje aan de Amp indien nodig. Op die manier zullen de meeste van de 11 bits gebruiken voor geluid. Het tegenovergestelde doen (laag vol op de Pi en hoog op de Amp) krijgt u een sissend achtergrondgeluid en vervormde muziek geven. Doe dit: draai de Amp volume naar beneden, draai het Pi-volume tot max (met uw telefoon), speel een liedje en crank de Amp tot ongeveer maximum van wat je zal willen gebruiken, schakel de Pi vol tot aan comfortabel luisteren.

Dit is wat verbeterd kan worden of niet werkt:

  • Bluetooth volumeregeling op sommige apparaten niet werkt. Voor zover ik kan vertellen, is dit een beperking in Bluez 5 of eventueel in de Bluetooth-implementaties op sommige telefoons. In feite zou ik niet volumeregeling aan de slag voor de iPhone 5, die is een van de redenen waarom ik wilde Airplay ondersteuning.
  • Airplay verbinden / verbreken aankondiging. Ik heb niet een manier gevonden om dit toch te doen. Er is niets in de Shairplay logs naar een apparaat verbinding aan te geven. Er is genoeg over het afspelen, meta data, etc, maar niets over de verbinding. Please help me om dit uit! Laat opmerkingen.
  • Geluidskwaliteit. Ik zal een USB-geluidskaart en waarschijnlijk de hifi-addon board proberen.
  • Met Bluez 5 Ik heb toegang tot meta data en het afspelen controle, maar ik heb niet bedacht wat te nog doen. Ik ben erg blij met behulp van de telefoon weer te geven voor alles wat. Voor een kort moment wilde ik een script maken om de spraak-script aan te kondigen baan en kunstenaar, maar ik denk dat zou beginnen me gek na ongeveer drie nummers. Ik dacht na over het toevoegen van een display, maar voor mijn toepassing ik verberg het apparaat.
  • Ik zal waarschijnlijk gebruik maken van de stem motor waarschuwingen van mijn home automation server aan te kondigen (hardlopen Openhab)
  • Ik kan één of meer GPIO aangesloten hardware knoppen toe te voegen. Een idee is om een ​​knop te dwingen los te koppelen van een telefoon die is hogging de Bluetooth-verbinding.
  • Inactiviteit timer disconnect apparaten
Advertisement

Related Articles

  • WiFi audio-ontvanger Aicer A900: Veranderende Airplay & DLNA naam
    WiFi audio-ontvanger Aicer A900: Veranderende Airplay & DLNA naam

    Hallo dames & heren! Dit instructable deals met een aantal goedaardige hacken van de Chinese Wifi audio-ontvanger model A900 van "Aicer" . Want, natuurlijk, zodat gebruikers van de ontvanger AirPlay en DLNA naam te veranderen via de web-geba

  • DIY How To Nieuwer DirecTV Remote programma voor uw audio-ontvanger

    Stap voor stap instructies laten zien hoe je een nieuwere DirecTV afstandsbediening te programmeren om een ​​audio-ontvanger om te praten.

  • DIY hoe te programmeren Oudere DirecTV afstandsbediening voor uw audio-ontvanger

    Stap voor stap instructies laten zien hoe u een oudere DirecTV afstandsbediening te programmeren om uw audio-ontvanger te praten.

  • Pirmā Raspberry Pi PIR Motion Audio Installatie
    Pirmā Raspberry Pi PIR Motion Audio Installatie

    PIR + Python + Raspberry Pi = Motion Triggered Audio installatie. Geschiedenis van het Project: Mijn vader is een curator van een klein museum over de geschiedenis van ons dorp, Elgg Zwitserland. Hij had het idee dat een stuk muziek wordt afgespeeld

  • raspbAIRy - de Raspberry Pi-gebaseerde Airplay speaker
    raspbAIRy - de Raspberry Pi-gebaseerde Airplay speaker

    Met de levering van mijn tweede Raspberry Pi kreeg ik eindelijk de kans om deze lang geplande project op te starten: Ik wilde mijn oude badkamer radio te vervangen door een meer eigentijdse inrichting door het opbouwen van een netwerk-enabled speaker

  • Bluetooth car audio cassete wanneer er geen aansluiting op uw autoradio!
    Bluetooth car audio cassete wanneer er geen aansluiting op uw autoradio!

    Probleem: Bouwen in de auto audio systeem zonder audio jack uitgang. Oplossing: Audio Compact Cassette met geïntegreerde A2DP Bluetooth naar muziek luisteren rechtstreeks vanaf uw telefoon. toekomstige stappen - Gebouwd in bluetooth met handsfree-fun

  • Aicer A900 wifi audio-ontvanger volledige hack voor multiroom streaming
    Aicer A900 wifi audio-ontvanger volledige hack voor multiroom streaming

    Hallo allemaal ! Zoals ik in mijn nieuwe flat verhuisd ik onmiddellijk besloten om een ​​soort van audio streaming voor de belangrijkste kamers hebben; Ik besloot naar een digitale vorm van streaming, omdat een Ethernet-kabel was al op zijn plaats en

  • Raspberry Pi Bluetooth-In / Out Board of "Who's Home"
    Raspberry Pi Bluetooth-In / Out Board of "Who's Home"

    Ik wilde een elektronische In / Out Board te creëren. Het type je kan hebben om op te nemen die al dan niet aanwezig in een bedrijf of thuis is. Het wordt meestal geplaatst door de voordeur, zodat iedereen kan zien wie er in of uit. Ik wilde ook een

  • Vader Box. Intergalactic Raspberry Pi batterij aangedreven zender-ontvanger BOT
    Vader Box.  Intergalactic Raspberry Pi batterij aangedreven zender-ontvanger BOT

    Vader Box Stap 1: Vader Box Een Intergalactic Raspberry Pi Enclosure * Wat heb je nodig voor een Vader Box? * USB powered 5200 mAh Li-ion accu's (4) USB WiFi met schroef van het type upgradable antenne (indoor / outdoor) USB Bluetooth Mini Keyboard U

  • Raspberry Pi Bluetooth LE controller voor WS2812B (NeoPixels)
    Raspberry Pi Bluetooth LE controller voor WS2812B (NeoPixels)

    Bluetooth Low Energy (aka BLE / Bluetooth 4.0 / Bluetooth Smart) is de meest recente incarnatie van de Bluetooth-technologie is ontwikkeld door de Bluetooth SIG (de organisatie die de specificatie onderhoudt). Dit communicatieprotocol is ontworpen vo

  • Raspberry Pi Multi-Room Audio (Mobile / Tablet / PC Controlled)
    Raspberry Pi Multi-Room Audio (Mobile / Tablet / PC Controlled)

    Ik ben al op de loer op Instructables voor een paar jaar, maar heb nog nooit gepost één mezelf. Nu heb ik een huis van mijn eigen is het tijd om een ​​aantal projecten te ondergaan en te delen met de community gekocht. In mijn eerste project ga ik je

  • Raspberry Pi Bluetooth
    Raspberry Pi Bluetooth

    Hallo, Ik zal je leren hoe succesvol te installeren en te gebruiken Bluetooth op de Raspberry Pi. Gewoon een heads up Ik neem aan dat u een versie B en je hebt het opzetten van je Raspberry Pi al (voor systeemvoorkeuren en ect.) Stap 1: Hardware 1. J

  • Luidsprekers voor bluetooth car audio
    Luidsprekers voor bluetooth car audio

    Dit is een voortzetting van de Bluetooth-configuratie. deze tutorial zal laten zien hoe de luidspreker huisvesting voor uw luidsprekers. U ontvangt een boor nodig: 4 in gatzaag, 2 in gatzaag. dremel tool: boor, schuren bit, slijpen bit Ik moet u waar

  • Zet uw Raspberry Pi in een draadloze draagbare Bluetooth Audio System A2DP
    Zet uw Raspberry Pi in een draadloze draagbare Bluetooth Audio System A2DP

    Howdy mensen! Ik had het idee om van mijn Raspberry Pi in iets als de Beats By Dre Draagbaar audiosysteem hier te vinden: http://www.beatsbydre.com/speakers/beatbox-portable-usb/beatbox-portable-usb,default,pd.html Het is een koele product, begrijp m

  • Audio via de ingebouwde Bluetooth voor Speaker System
    Audio via de ingebouwde Bluetooth voor Speaker System

    Een van de cadeautjes voor kerst kreeg ik was deze geweldige luidsprekersysteem. Het is niet op batterijen en heeft voeding. Het heeft een appel dock aan de bovenkant en een 3,5 mm audio-ingang. Het heeft ook een afstandsbediening. Ik vond het leuk,

  • Raspberry Pi zo low-cost audio streaming box
    Raspberry Pi zo low-cost audio streaming box

    Dit instructable wordt beschreven hoe u uw audio-systeem uit te breiden met een Raspberry Pi micro-computer naar een lokale muziek of audio stream af te spelen vanaf het internet (met inbegrip van Spotify Premium etc.). Het beste is, dat je geen beho

  • Airplay Multiroom-radio met de Raspberry Pi, geen extra hardware nodig is.
    Airplay Multiroom-radio met de Raspberry Pi, geen extra hardware nodig is.

    De meeste manieren om muziek te streamen naar meerdere sets luidsprekers meer kosten dan het waard is. Ik denk niet dat ik veel over zeggen, je wilde waarschijnlijk om dit te doen in het verleden, maar het leek gewoon dom om zoveel geld uit te geven

  • Munitie kunt Bluetooth Boom Box
    Munitie kunt Bluetooth Boom Box

    Er zijn nogal al over dit project enkele Indestructibles, maar ik dacht dat ik zou mijn 2 cent hier toevoegen en omvatten de mijne. Misschien dat sommige motivatie voor andere leden die kunnen worden op het hek om de trekker over te halen en iets der

  • Mini Bluetooth Suitcase (gerecycled Water luidsprekers)
    Mini Bluetooth Suitcase (gerecycled Water luidsprekers)

    Een paar maanden geleden stuitte ik op een groot aantal sets van het springen water sprekers die alle of de meeste van de vloeistof had gelekt. Ik was in staat aan te vullen en te verzegelen een paar sets, maar velen werden onherstelbaar beschadigd.