This instructable shows how to use a Raspberry Pi to control a coloured LED strip, based on music played from a web browser.
It shows how to create a basic website using Node.js over HTTPS and use socket.io over WSS (Secure Websocket).
The website has a single page which has a very basic layout. The webpage populates a drop down list with music files, which are located in the public/audio folder on the server. Selecting an option in the list plays the music file in the webpage using the HTML 5 audio element. While playing the music file, the webpage uses the AudioContext interface to analyse the music, which is then sent to the server over a secure websocket connection.
The server running on a Raspberry Pi uses the Node RPI WS281x Native library (wrapping Jeremy Garff’s WS281X library) to change the colours of the LEDs on a WS2811 LED strip, based on the data sent through the websocket.
The example code can be found here: disco-pi
Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!