Show HN: Multi-room audio with Snapcast and Raspberry Pi
oyvn.github.io
oyvn.github.io
With covid I've been able to pipe my meetings to snapcast from the web browser (listen only) which is great for restroom breaks and snacks in long unengaging meetings.
I rigged up a AC sniffer circuit and wifi microcontroller to my dumb doorbell which snapcasts a recording of a doorbell chime throughout the house when it's pressed so I can hear it when music is playing.
Snapcast can also stream to a phone, so I can Bluetooth into the hot tub speakers and have it on the whole house audio too.
Open source home automation with home assistant and this tech is really fun if you want to get into it as a hobby. Certainly requires work, but that's fun for me.
I also have it all integrated into a home-brew weather station and an indoor air quality sensor system with co2 and pm levels so I can get alerts to open windows or turn on fans if co2 gets too high. I also get raindrop noises when it starts raining so I go close the windows. Fun times.
Of course there's a security system involved too which arms at night and when the family's WiFi all disconnects. It disarms automatically based on WiFi auth and an openwrt script, so it's totally autonomous. Works very well.
Working on a tensorflow based automation now to have the front door camera detect packages and send email alerts. Does not work at all, yet.
All local, all self-hosted, with a bridged MQTT server on a VPS for communicating with my location tracker and my mom's house (I get alerts if she's on vacation and the furnace dies or basement floods or there's a break in or whatever). I vpn in to my router to control things when out. But if internet dies at home, everything local still works great.
Mopidy also connects to Spotify, of course.
There's a ready-made Home Assistant component but I wrote up a guide on how to read the data from a Linux terminal on your laptop: https://unop.uk/xiaomi-mijia-bluetooth-temperature-and-humid...
I also have Volatile Organic Compounds / equivalent carbon dioxide (Sensirion SGP30) and Particulate Matter (Plantower PMS5003) sensors soldered up to a Raspberry Pi Zero W over I2C/UART for logging. It lasts quite a while on a USB battery so you can take it out and about. An ESP8266/ESP8285 would last longer but it's easy to log with a python script and the SD card gives you loads of storage. I haven't written this up yet but will if anyone is interested?
Overall have had a really good experience with it. My only complaint is that it's not multi-threaded, so if you have a process that blocks (e.g. the dallas 1-wire library for reading temp sensors) then you'll stall the flows. Most of those issues have simple workarounds though.
What do you use for monitoring this? I've been looking for something decent here for a while now.
[1] https://www.winsen-sensor.com/d/files/infrared-gas-sensor/mh...
[2] https://www.seeedstudio.com/Grove-Laser-PM2-5-Sensor-HM3301....
But because I'm not using a voltage regulator, since that would mean losing the very nice onboard voltage monitor, it's been really hard to find some CO2/PM2.5 sensors that can work from ~5V to ~3.4V.
> Working voltage 4.5 V ~ 5.5V DC
> Operating Voltage 3.3V / 5V
Guess I need to keep looking, but thanks for linking the specific models!
In another room I have my home workstation/server/NAS hooked to nice speakers via a $10 mini Kinter MA170 amp that I thought for sure would sound like crap but honestly is pretty darn good.
Part of it was that I just don’t think I could face the wrath of my family when it didn’t work. I guess you get to a point in life when you have kids, and hours for tinkering are reduced so you need to pick your battles.
I like the Snapcast model though, it follows the Linux philosophy. From memory the audio stream is basically just wrapped along with a time stamp. Then you transfer those blocks to another device that plays them at the right time (where they’re unwrapped back into an audio stream).
... buuuuuuuut, having looked at the article, my eyes started to glaze over, and a sinking despair sipped in quickly... I want to love this, but I just can't bring myself to. I guess I'm at this point of giving in and getting a Sonos :(
Regarding cost, yeah i think it's only significantly cheaper than Sonos for the same quality if you can configure some of your existing setups to become clients.
I also looked into DIY options and came to the same conclusions about reliability and time spent fiddling with it.
We have mostly Apple devices, so I decided to just give Airplay 2 a shot. I bought a used Airport Express for our living room hi-fi system and a portable Libratone Zipp speaker to use elsewhere (it's in the kitchen right now). If the system continues to work as well as it has over the past week, I'll probably get a couple more Zipps. But because it has its own battery power, it's easy to just unplug and carry it to where I need it, so I don't think we'll need one for every room like we did for Sonos.
Edit: in other words what’s the trade-off between Sonos and Zips in this case?
I could replace all my old Sonos gear with the new versions to solve that problem, but that's a pretty expensive proposition. The Sonos One and Zipp aren't that different in price ($200 vs $190), but the Zipp really competes with the $400 Sonos Move portable. And the Sonos Port (connects Sonos directly to a traditional amp) is ridiculously priced at $450, although I suppose I could just use the Airport Express if I'm not going to use the Sonos software.
The real reason, though, is that I don't want voice control and you can't get Sonos speakers that support Airplay 2 but don't have voice control. The Zipp also supports Bluetooth and line-in, so they're more flexible.
Edit: forgot that the Sonos Move also support Bluetooth (but that's their only device that does).
We’ve got sync’d audio running in 4 different rooms at home and control via home assistant. Not as easy as Sonos I’m sure but I like that I can use whatever speakers I want.
Replacing alexa and ok google devices with open source ones was on the list. This looks great for the music - though I was mainly stuck for good voice control.
This is a cool step in the right direction though.
With networked audio, you'd want the speakers to stay on, idling until you want to push audio through them. Having to manually turn them on every time you want to use a speaker pretty much defeats the purpose.
But if it were so simple, I'm sure someone would have done it by now. There may also be weird licensing issues involved, like perhaps Dolby/DTS don't want to certify such a system, and so access to whatever you need to decode their signals isn't readily available.
Apparently Samsung phones can connect to two devices:
https://www.lifewire.com/how-to-connect-multiple-bluetooth-s...
Here's another one:
https://techcrunch.com/2017/04/30/tempow-turns-your-dumb-blu...
I am a layman, though; I just sold the stuff and therefore had an understanding of what people expected to be possible.
https://www.bluetooth.com/learn-about-bluetooth/bluetooth-te...