[Jason] has a Sonos home sound system, with a bunch of speakers connected via WiFi. [Jason] also has a universal remote designed and manufactured in a universe where WiFi doesn’t exist. The Sonos can not be controlled via infrared. There’s an obvious problem here, but luckily tiny Linux computers with WiFi cost $10, and IR receivers cost $2. The result is an IR to WiFi bridge to control all those ‘smart’ home audio solutions.
The only thing [Jason] needed to control his Sonos from a universal remote is an IR receiver and a Raspberry Pi Zero W. The circuit is simple – just connect the power and ground of the IR receiver to the Pi, and plug the third pin of the receiver into a GPIO pin. The new, fancy official Raspberry Pi Zero enclosure is perfect for this build, allowing a little IR-transparent piece of epoxy poking out of a hole designed for the Pi camera.
For the software, [Jason] turned to Node JS, and LIRC, a piece of software that decodes IR signals. With the GPIO pin defined, [Jason] set up the driver and used the Sonos HTTP API to send commands to his audio unit. There’s a lot of futzing about with text files for this build, but the results speak for themselves: [Jason] can now use a universal remote with everything in his home stereo now.
One of the problems that has accompanied the advent of ever more complex home entertainment systems is the complexity of the burgeoning stack of remote controls that manifest themselves alongside your system. It doesn’t matter if you have a fancy does-the-lot universal remote, you are still left with a slew of functions to perform before you can sit down to enjoy the music.
[Robert Cowan] had this problem with his whole-house audio system. Playing music required a fiddle with the remote, and the moment was gone. What was needed was an automatic system that simply issued the relevant commands to the stereo without all the fuss.
His solution was to have everything happen when an audio output was detected from his Sonos Connect streaming media player. He tried rectifying its line output to detect music but hit problems, so instead used a SparkFun audio detector module. This in turn speaks to an Arduino, which then talks via a level shifter to the stereo’s RS232 port. [Robert] included all the relevant parts, schematic, and software is links in the video description. It’s a project that should almost be a feature built into a decent stereo, yet the manufacturers prefer the awful interfaces of their remote controls.
Not everyone can agree on what good music is, but in some cases you’ll find that just about everyone can agree on what is awful. That’s what the people over at Neo-Pangea discovered when they were listening to Internet radio. When one of those terrible songs hits their collective eardrums, the group’s rage increases and they just need to skip the track.
Rather than use a web app or simple push button to do the trick, they turned the “skip” button into a NERF target. They call their creation the Boom Box Blaster and made a fantastic demo film video about it which is found after the break.
Inspired by a painting in the office, the target takes the form of a small hot air balloon. The target obviously needed some kind of sensor that can detect when it is hit by a NERF dart. The group tried several different sensor types, but eventually settled on a medium vibration sensor. This sensor is connected to an Arduino, which then communicates with a Raspberry Pi over a Serial connection. The Pi uses a Python script to monitor the Arduino’s vibration sensor. The system also includes some orange LEDs to simulate flames and a servo attached to the string which suspends the balloon from the ceiling. Whenever a hit is registered, the flames light up and the balloon raises into the air to indicate that the shot was on target.
Ahh, toddlers. They’re as ham-fisted as they are curious. It’s difficult to have to say no when they want to touch and engage with the things that we love and want them to play with. [Shawn] feels this way about his son’s interest in the family Sonos system and engineered an elegant solution he calls Song Blocks.
The Sonos sits on a dresser that hides a RasPi B+. Using bare walnut blocks numbered 1-12, his son can use the Sonos without actually touching it. Each block has a magnet and an NFC tag. When his son sticks a block on the face of the right drawer containing embedded magnets and an NFC controller board, the B+ reads the tag and plays the song. It also tweets the song selection and artist.
The blocks themselves are quite beautiful. [Shawn] numbered them with what look like Courier New stamps and then burned the numbers in with a soldering iron. His Python script is on the git, and he has links to the libraries used on his build page. The Song Blocks demo video is waiting for you after the jump.
[Danny] has been working on an RNET to Sonos bridge. These are devices from two different manufacturers used to facility whole-house audio systems. Usually there’s a main controller with a large color screen and then several satellite controllers like the one above which have some of the features but at a lower cost. Normally you’re limited to using hardware from one line of devices in order to get them to talk to each other but [Danny’s] saying ‘no way’ to that restriction.
His latest post has some of the details on how he pulls this off. He used an RS232 serial connection with an Arduino to sniff out the data stream from the RNET base unit. Once he figured out the protocol he used the Arduino to parse all incoming commands, format them for the Sonos controller, and send it over the Ethernet cable to that device. He’s got everything tied together and working. Take a look at the proof in the clip after the break.