About
ChristmasPi is a webapp that powers animated Christmas Trees. It’s built with dotnet core and runs on a Raspberry Pi. The webapp is mobile optimized so you can control your Christmas Tree for your pocket or from your computer. ChristmasPi also includes a REST API allowing you to control everything about your tree.
Previous Versions
ChristmasPi has undergone multiple iterations over the years, and this list is a brief attempt at sumarizing them.
- Command Line tool written in C (Link)
- Controlled by running the
Animations
program on the Raspberry Pi itself - Used a relay board to control strands of lights (branches)
- Included 8 animations
- Controlled by running the
- 1st Attempt rewrite in C# Mono (Link)
- An attempt to write a HTTP Server from scratch, succeeded in creating an echo server
- Rewrote
Animations.c
intoAnimations.cs
- Included an interop library for wiringPi.
- Working C# Mono version (Link)
- Includes a functioning JSON-RPC Server (from scratch)
- A viable replacement for the CLI tool
- ASP.NET webapp (this version)
Features
ChristmasPi is a work-in-progress and, as such, many features are still incomplete or may be removed/reworked.
- Supports WS2811/12 RGB LED strips for individually adressable lights
- Supports a Solid Color mode or an Animation mode
- Lights can be grouped into levels (or branches) allowing for more animations
- Includes an interactive Setup mode to make configuring your tree much easier
- Includes a scheduler to automatically turn on and off your tree at certain times based on days of the week
- Supports a JSON based REST API for integrating your tree with other projects
- Allows the user to select a default color or animation to play when the tree is turned on