DIY Apple AirPrint/Play & Homekit on Raspberry Pi

Overview 

Our HomePi was originally cobbled together to integrate older/non-complaint devices into the world of Apple AirPlay/Print.  The little gizmo has evolved over time as devices change in/out around the house and now supports Apple HomeKit to integrate non-compliant 'smart' devices.

The HomePi has worked like a champ for years.  This recipe is basically a retrace of my steps for future rebuilds, but may be useful to others.

Migrated to new site spring 2021 - original site/recipe available HERE (via Internet Archive) 

Decommissioned in fall of 2023.   ServerPi now provides Apple/Homekit services.

Background & Capabilities

Many of the techno problems around our home tend to revolve around integrating older equipment with modern devices or attempting to deal with the deluge of new 'smart' devices, each with its own App or interface.   Our 'vintage' stereo and network printer were prime examples of the old world - simply not iPhone/iPad compatible in terms of streaming music or printing.  

On the other end of the spectrum, we seemed to be constantly fumbling with a variety of apps provided with our newfangled smart home (lights, switches, appliances, etc) - Waaay too complicated!

The Raspberry Pi was originally dropped onto our network to fill the Air Gap by emulating Apple AirPlay and AirPrint services and ultimately added HomeKit services so Siri could begin helping out around the house. 

Evolution

HomePi V1 (2014):   Raspberry Pi 1 Model B used to integrate an old network printer into the Apple AirPrint world (Cups).

HomePi V2 (2015):  Added AirPlay services (Shairport-sync)    services to allow iPads/iPhones to stream music to Bose Wave Radio.

HomePi V3 (2018):  Homekit services (homebridge) added to pull together our 'smart' home.  Integrates non-compliant smart devices into Apple Homekit world.  V3 also involved simplified OS (DietPi) and RPi 3 Model B hardware.

Home Pi V4 (2020):  V4 involved an OS (Buster) upgrade and  more simplification.  AirPrint services were dropped due to new network printer that no longer needed help.

HomePi V5 (2023):  V5 rebuild/cleanup.  Recipe updates here/there based on latest releases.  No longer using Shairport or CUPS but left steps in recipe as options.   

Retired in fall of 2023:  DietPi recently added Homebridge to optimized software list.  This was really all that was left on our HomePi.  Migrated Homebridge to ServerPi and decommissioned this RPi to simplify our world ... twas a nice long run!

Level of Difficulty & Prep Time

A cheap, easy and fun little project - no programming required but Raspberry Pi/Linux knowledge will come in handy.  1-2 hours to get things installed and running.

MUCH easier than it used to be, thanks to DietPi  ... original recipe to the right (pdf). 
Just in case!

DIY Apple AirPlay_Print and HomeKit on RaspberryPI - Ventures.pdf

Hardware

Our current HomePi hardware profile: 

*Note:  Affiliate Links, I may get kickback from Amazon if you click/buy!

Software

Dietpi is now used for the HomePi foundation. It provides a lite version Raspbian and includes a library of optimized Pi software packages.

Step By Step

DietPi Install

Notes to self on OS Prep (DietPi IS RaspOS) and some handy optimized packages ...

AirPrint (Cups)

Our old printer finally passed away, so HomePi no longer provides AirPrint services, but here's the original recipe updated for DietPi.  I ran a quick test, looks to be good-to-go.  Install/setup takes ~30 Mins.   

CUPS Config via CUPS web interface @ http://<your PI IP address>:631 (https in latest cups)


HowTo Use AirPrint to print from your iPhone, iPad, or iPod touch by Apple Support

AirPlay (Shairport-sync)

Shairport-sync can be fully installed via DietPi-Software utility.  Project page @ https://github.com/mikebrady/shairport-sync

Apples Support's article on using AirPlay - How to AirPlay Audio

HomeKit (HomeBridge)

**** 2024 update:   HomeBridge was added to the DietPi software library sometime in 2023 (I think!).   No need for the manual install below ... or HomePi server (for me!) - Homekit services were added to our ServerPi.   Dietpi HomeBridge info is @ https://dietpi.com/docs/software/home_automation/#homebridge  ****

This one will still take some time, count on an hour with minimal plugin playtime!  

Homepage/info @ homebridge.io, github.com/homebridge/homebridge.   Install Steps are dissected from *new* HomeBridge on Raspian Lite instructions.

One very important preliminary:  Check for plugins for your smart devices before you go through all this install stuff - just to make sure you'll be able to control your device.  Go to https://www.npmjs.com and search for  "homebridge-<your dev>".  For example "homebridge-wemo"  or "homebridge-" to browse the library.

No need to sudo if you are logged in as root on DietPi

Apple Home info @ https://www.apple.com/ios/home/

Touch-ups & Tweaks

Spring 2023 Update Notes

Cleaned up the recipe but ended up not upgrading to fresh Bullseye rebuild.  Decided to hold off because of an issue with Backup/Restore @ https://github.com/homebridge/homebridge/issues/3346 Will revisit when I have time. 

A couple of plugin updates

Winter 2022 Update Notes

Some cleanup/updates:  A couple of new "Smart" things to incorporate into the home and some forced plugin updates.  Also removed the soundcard and cable to Bose - Airplay services no longer needed or used - HomePod sits right on top of Bose radio and sounds just as good!  ... notes/log

Failed attempted an update to Buster, ended up with some clumsy network issues during install, decided to simply update for now.

DietPi Tweaks/Updates

Homebridge 

Enough for now ... will do a rebuild using Bullseye in the spring, I think that should simplify this gizmo even more

Spring 2022 Update Notes

Spring cleaning during the winter ... some leftover HomePi updates.  Should be good for a long while!

Fall 2021 Update Notes

Loooong time since last  update