Get the most out of your 3D Xmas Tree.
- Easy, transparent & automatic installation process
- Mappings: Access each LED by the pcb-number, by height, quarter & side
- Simple on / off
- Illuminate with delay, auto-off
- Dim over time, dim from any value to any value, auto-reversible
- Ping a random LED, fill tree in random order
- Blinking: Interval, Speed
- Swirl: Speed, chain length
- Key press listener
- Random, Random for Beat (BPM)
- Increase, decrease brightness
- Ambient Glow
- Advent-Calendar illuminates one LED for each day of December
- Network access using a reworked Strinder implementation
This repository will provide everything you need to run neat looking effects on your tree in no time. Runs on any raspberry pi and Linux based OS. Just follow the instructions:
Depending on the system installed on your Raspberry Pi, it may not have git
preinstalled. We start by assuring that git
is available:
sudo apt-get install git
Now we clone this project:
git clone https://github.com/Beulenyoshi/Pinachtsbaum
Run the install.sh
file:
bash install.sh
(We use bash
instead of sh
because we require some bash functionality)
For a little demo execute the xmas.py file:
python xmas.py
(You may have to run this as root for GPIO access):
sudo python xmas.py
Edit with your favourite editor:
vim xmas.py
- Start the server on your Raspberry:
sudo python Strinder/Server.py
- Clone this project onto your controlling machine
- Open
Strinder/Client.py
and replace the host ip address with your pi's:
HOST = "192.168.2.107" # Insert HOST IP / name here
- Now you can send commands to the server like this:
python Strinder/Client.py "YOUR COMMAND"
Predefined Commands:
- STOP_SERVER - Stops Server
- BREAK_LOOP - Breaks loops running on background thread within the tree
- ON - Switches every LED on
- OFF - Switches every LED off
- FLUSH - Runs a top-down swirl, leaving the tree off
- AMBIENT_GLOW - Starts ambient glow (Stop using BREAK_LOOP)
- PING - Pings a random LED for 0.2 seconds
- ADVENT - Illuminates one LED for each day of December (Stop using BREAK_LOOP)
- ADD_RANDOM - Illuminate random LED until the tree is filled
You can write your own commands! Take a look inside the Strinder/Server.py
implementation
- Vim - Editor / IDE
- Git - Version Control
- Tmux - Terminal Multiplexer (Godsend when it comes to ssh-ing into the Pi)
- Thomas Johannesmeyer - www.geeky.gent
This project is licensed under the Beerware License - see the LICENSE file for details
The framework and code is provided as-is, but if you need help or have suggestions, you can contact me anytime at opensource@geeky.gent.
If you come up with some neat patterns for your tree, feel free to share them with me. :)