Main Content

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.”

Link to article