Eindelijk eens iets nuttigs gedaan met de GPIO pinnen van de Raspberry Pi.
Al enige tijd hebben we twee Sonos Play 5 speakers thuis. Erg tevreden met het geluid en Spotify integratie, maar het stond me toch tegen dat ik hem niet even snel op pauze of mute kon zetten als de telefoon ging. (Terwijl je gebeld wordt op je mobiel, de Sonos app openen, wachten tot deze geladen is en dan op pauze drukken om vervolgens terug te gaan naar het bel scherm en hopen dat je nog op tijd bent om op te nemen...

)
Om dat probleem te tackelen besloot ik de Raspberry Pi Zero te gebruiken. Goedkoop, dus enkel als IR receiver gebruiken vond ik niet heel erg. Totdat ik bedacht dat ik natuurlijk ook Airplay aan de Sonos kon toevoegen. En bluetooth audio! Helaas heeft de Pi Zero maar een USB poort en zover ik weet bestaan er nog geen wifi & bluetooth usb sticks. Hier bood de ESP8266 WiFi module uitkomst! Omdat de Zero ook geen audio uit heeft (en de standaard Pi audio toch niet erg best is) heb ik gelijk een DAC aangeschaft.
Het soldeerwerk voor de ESP8266 (ESP-12F om precies te zijn) was echt een @#$%

klusje, maar dit lag ook aan de wat te dikke soldeerpunt.
Uiteindelijk een mooi compact pakketje geworden al zeg ik het zelf:
Er moet nog een kleine behuizing omheen die ik dan ergens netjes onder te TV of ergens anders redelijk uit het zicht kan neerleggen. Helemaal verstoppen kan niet aangezien hij wel het infrarood signaal moet kunnen ontvangen.
De gebruikte componenten:

- Raspberry Pi Zero
- Pimoroni Phat DAC
- AI-THINKER ESP-12F
- TSOP 38238 IR receiver
- 6x 33ohm weerstand
- Apple TV 3 afstandsbediening
Wifi module (met weerstanden) en infrarood oogje aan de onderkant van de Raspberry Pi gesoldeerd. Mijn doel was om het geheel zo compact mogelijk te houden.
De wifi module en het infrarood oogje zouden dus tussen de Zero en Phat Dac komen. Het grootste risico hierbij zou slecht bereik zijn van de wifi module omdat deze tussen twee printplaten zou komen, maar dit lijkt mee te vallen. Er worden enkel wat SOAP berichten naar de SONOS verstuurd. Daarvoor heb ik geen hoge doorvoersnelheid voor nodig.
Met de afstandbediening kan ik nu een aantal eenvoudige functies gebruiken: play/pause, next, previous, volume up en volume down.
Zodra de pi de Airplay stream ontvangt dan schakelt de SONOS over naar line-in. Wanneer hij stopt, dan schakelt hij weer terug naar de playlist.
Het geheel draait op basis van Raspbian Jessie Lite
De gebruikte guides:
Shairport-Sync:
https://github.com/mikebrady/shairport-sync
ESP-12F Wifi Module:
https://hackaday.io/proje...spberry-pi-gpio-sdio-wifi
Sonos PHP Class:
https://github.com/DjMomo/sonos
Infrarood:
http://www.modmypi.com/bl...-pis-remotes-ir-receivers
Bluetooth audio moet ik nog aan de praat krijgen. Ik wil dat hij iedere verbinding accepteert zodat ook vrienden die een nieuw nummer willen laten horen dit kunnen zonder eerst handmatig te moeten koppelen.
De volgende stap is het toevoegen van radio functionaliteit. Toevallig kwam ik de tea5767 tegen, anders was ik hier misschien niet eens op gekomen. Met uitzondering van de aanbevolen 3,3v zijn de overige benodigde pinnen hiervoor nog beschikbaar.
Helaas zal het toevoegen van de FM module en USB bluetooth er wel voor zorgen dat het pakketje iets groter gaat worden. Maar nog steeds een stuk kleiner dan een normale Raspberry Pi. Ik ben in ieder geval blij dat ik nu meer uit m'n SONOS kan halen.
[
Voor 0% gewijzigd door
etimm op 03-06-2016 19:30
. Reden: spelling ]