Note: This v2 Internet Control system is a big improvement over the v1 system. v2 is much simpler to setup, allows voting, and does not expose your Raspberry Pi to the Internet! While the first version allows a limited number of Internet visitors to view your lights, the v2 system allows unlimited visitors via the free Twitch video streaming service.
Normally, your computer controls how your Christmas lights are animated. You create animations with the xLights software, then it sends commands to your light controllers and strings of strings to animate the them.
While the convenience of having a single computer for creating animations and animating your lights is nice, leaving your computer powered on all day during the Christmas season is not that efficient. If you accidentally turn off your computer, reboot it, the computer crashes, etc., your light show stops. Powering a computer 24x7 is not efficient with electric, either.
Some people solve this problem by creating your animations using your home computer, then playing back the animations and controling your lights using a separate, low-power computer. This way you can continue to use your home computer as usual throughout the day, while the low-power computer is running 24x7, dedicated to playing your light show. The Raspberry Pi is perfect for this purpose. In xLights, you save your animations as playback files, then upload them into a special program (Falcon Player) on the Raspberry Pi that simply plays the files.
The Falcon Player software is quite powerful. With a little bit of tweaking, not only can it play animations created from xLights, but it can allow Internet control of your light show! By saving the xLights animations as multiple playback files (one animation per file, for example), people visiting a webpage can click buttons that tells Falcon Player which animation file to play. For instance, an animation can make your lights look like candy canes with red & white lights, while another animation file can make your house sparkle with twinkling lights. When no one is actively "controlling" your lights, a "regular" animation file is played for cars passing by.
The nice thing about Internet control of your Christmas lights is that is uses your existing knowledge of xLights (for creating animations). And if you are already using Falcon Player to playback the animations, you don't have to learn much new there, either! Internet control is mostly about tweaking Falcon Player to accept commands from the Internet and it's not that hard to do!
Here is a slideshow on how to build Internet Controllable Christmas lights, a full-color version and a printable version.
Because a number of visitors can be viewing and controlling your lights simultaneously, visitors can vote for the animations they wish to play. The voting system can be accessed from a smartphone in a car next to your house or from a computer anywhere in the world!
Between each animation, Falcon Player checks your website to see which animation got the most votes, then it plays it. Votes are cleared, allowing visitors to vote on the next animation to play. If no one is visiting/voting on your website, Falcon Player will randomly choose animations to play.
NOTE: There is a hidden "power vote" feature that allows roadside visitors to overpower Internet voters. This is useful for people in their cars at your house to see their chosen animation, overriding voters on the Internet. Clicking the snowman at the bottom of the webpage enables this feature. Make a sign in your yard that explains this feature, that drivers can see but Internet viewers cannot! Power voting for a person stays active the rest of that evening, but resets for that person the next day (they have to click the snowman each day to continue using it).
The webpage has an anti-bot feature that prevents fake votes by non-human website visitors.