Get the most out of your Raspberry-Pi xmas tree pcb...
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Strinder
install
misc
source
.gitignore
LICENSE
README.md
install.sh
xmas.py

README.md

Pinachtsbaum

Pinachtsbaum Icon

Get the most out of your 3D Xmas Tree.

3D Xmas Tree

Features:

  • 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

Getting Started

Prerequisites

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:

Installing

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)

Run

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

Run via Network

  1. Start the server on your Raspberry:
sudo python Strinder/Server.py
  1. Clone this project onto your controlling machine
  2. Open Strinder/Client.py and replace the host ip address with your pi's:
HOST = "192.168.2.107"        # Insert HOST IP / name here
  1. 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

Built With

  • Vim - Editor / IDE
  • Git - Version Control
  • Tmux - Terminal Multiplexer (Godsend when it comes to ssh-ing into the Pi)

Authors

License

This project is licensed under the Beerware License - see the LICENSE file for details

Support

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.

I'd like to hear from you

If you come up with some neat patterns for your tree, feel free to share them with me. :)