This How To helps Integrate Old SONOS Devices Into AirPlay (e.g. Play:1, Play:3 or PlayBar). Step by step you will be guided to make your older SONOS environment AirPlay ready.
Index of Integrate Old SONOS Devices Into AirPlay
Background of Integrate Old SONOS Devices Into AirPlay
Older Sonos devices, such as
- Play:1
- Play:3, or
- PlayBar
are not ready for AirPlay. There are several options to deal with this situation, including
- Buy new AirPlay ready SONOS devices
- Accept you are unable to use Play:1, Play:3 or PlayBar with AirPlay
- Take action and make them ready for AirPlay
I clearly prefer the 3rd option. To do so, I leverage on a cheap Raspberry 3B+. This because it’s easy to maintain, simple to setup and it is cheap to buy it. Furthermore, its far cheaper than buying new SONOS devices and I can use this Raspberry also for other sorts of automation and making my life easier.
How To Integrate Old SONOS Devices Into AirPlay
We are not the only one’s that want to get running old Play:1, Play:3 and PlayBar with AirPlay. There is a community (and we should be very thankful to it) that developed a nice app that enabled using the old SONOS environment with AirPlay. This How To explains how to get this app running on a Raspberry. For this we go thru three phases:
- Setup the Raspberry
- Install AirConnect (airupnp)
- Phase Three: Run AirConnect As A Service
Phase One: Install the Raspberry
- Download the latest Raspberry Pi Imager
- Install the Raspberry Pi Imager or update your existing Raspberry Pi Imager by the in step 1 downloaded Raspberry Pi Imager
- Start the newly installed Raspberry Pi Imager / the updated Raspberry Pi Imager
- Choose the OS. In the case of this How To I have selected
– Raspberry Pi OS (other)
– Raspberry Pi OS Lite (32-bit) – A port of Debian Bullseye with no desktop environment - Select the storage device you like to install the Raspberry Pi OS image. Typically a SD Card.
- Consider to configure headless SSH before you write the Image. If you do this, you will be able to access the Raspberry Pi without a screen, but securely by SSH. For an easy How To check out this How To Setup Raspberry 3B For Headless SSH.
- If you run Raspberry (like I do) without a monitor and manage it only remotely by SSH, then you can give Raspberry some additional Memory that is reserved for the GPU. This basically means, we now reduce the 64 MB RAM allocated for the GPU (needed for the graphical user interface) and make it available to the rest of the Raspberry. Run the below command:
sudo raspi-config
– Select “4. Performance Options”
– Select “P2 GPU Memory”
– Change the “64” to “16”
– Enter, Finish and Restart - After the Restart, login to your Raspberry leveraging on SSH because we need it for the following second phase.
Phase Two: Install AirConnect (airupnp)
After we have successfully setup the Raspberry Pi, we now go to install AirConnect. AirConnect is the app that allows to make available SONOS Play:1, Play:3 and PlayBar in Apple AirPlay.
Let’s download the app. First of all, connect to your Raspberry Pi by SSH. Following this, you execute the below commands:
sudo mkdir /opt/AirConnect cd /opt/AirConnect sudo wget https://raw.githubusercontent.com/philippe44/AirConnect/master/bin/aircast-linux-arm sudo chmod +x aircast-linux-arm
Let’s try now, if this is working. Run the below command:
./aircast-linux-arm
This should give you something that looks like this:
pi@raspberrypi:/opt/AirConnect $ ./aircast-linux-arm [17:56:28.783847] main:884 Starting aircast version: v1.0.13 (Dec 10 2022 @ 11:14:04) [17:56:28.784297] main:891 no config file, using defaults [17:56:28.785007] Start:662 Binding to 192.168.2.150
Test whether this is working by for example opening Spotify. Within Spotify send the select song or playlist to your preferred SONOS device. If ti works, well done! If it does not work, then it maybe helps to switch off the SONOS device and start it new. At least in my case, I always had to go thru switch off and switch on again the SONOS device.
Phase Three: Run AirConnect As A Service
After we made the above work, you simply press Ctrl+C to quit AirConnect. Lets make AirConnect now being rund as a service on Raspberry, so we have not to care about this in the future anymore.
First we create the service file and open it to edit. To do so, run:
cd /etc/systemd/system sudo touch airupnp.service sudo nano airupnp.service
After the above, you should have an opened file to be edited. In this opened file (airupnp.service) you enter the below content:
[Unit] Description=AirUPnP bridge After=network-online.target Wants=network-online.target [Service] ExecStart=/opt/AirConnect/aircast-linux-arm -l 1000:2000 -Z -x /var/lib/airconnect/airupnp.xml Restart=on-failure RestartSec=30 [Install] WantedBy=multi-user.target
Press CTRL+C and save the file to exit.
Finally, we get the service added to be run continuously. In the first step we enable the service, in the second step we start it.
sudo systemctl enable airupnp.service sudo service airupnp start
If you restart your Raspberry Pi now (e.g. sudo restart) then the service should be running automatically after restart. To find out whether its running, you can fire the below command:
sudo service airupnp status
This should provide you with something like the below. Key is that it says “Active: active (running)”
pi@raspberrypi:/etc/systemd/system $ sudo service airupnp status ● airupnp.service - AirUPnP bridge Loaded: loaded (/etc/systemd/system/airupnp.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2023-01-07 18:23:10 GMT; 1min 0s ago Main PID: 19952 (aircast-linux-a) Tasks: 4 (limit: 1715) CPU: 83ms CGroup: /system.slice/airupnp.service └─19952 /opt/AirConnect/aircast-linux-arm -l 1000:2000 -Z -x /var/lib/airconnect/airupnp.xml Jan 07 18:23:10 raspberrypi systemd[1]: Started AirUPnP bridge. Jan 07 18:23:10 raspberrypi aircast-linux-arm[19952]: [18:23:10.817580] main:884 Starting aircast version: v1.0.13 (Dec 10 2022 @ 11:14:04) Jan 07 18:23:10 raspberrypi aircast-linux-arm[19952]: [18:23:10.817848] main:891 no config file, using defaults Jan 07 18:23:10 raspberrypi aircast-linux-arm[19952]: [18:23:10.818264] Start:662 Binding to 192.168.2.150
That’s it! Enjoy listening to your sound!
Additional Information
For the official project website for AirConnect, also containing many other options for other operating systems click here. To learn more about SONOS, click here for the official SONOS website. For Apple AirPlay click here.
It would be amazing if you follow myHowTo.blog. To follow leverage on
- Click to follow me on Twitter
- Bookmark this page and comeback from time to time
I am really looking forward for you to contact me if for example you found a better option or other idea then in this how to. Also, please touch base if you found an error or anything not working or if you have something that you would love to be added to this how to. Simply click this link to touch base with me.
Linking and Recommending the HowTo or the myhowto.blog
I would love to see you are recommending this how to or link it to your website. Also, I would love if you link or recommend the whole myhowto.blog. Please feel free to do so! In case you like to touch base regarding this topic with me, then simply click this link. I look forward!