Easy and cool effects and visualizations for your Nanoleaf Aurora.
Haller is a wrapper around https://github.com/bharat/nanoleaf that provides some additional, higher level functionality to control your Nanoleaf Aurora
- Automatically find and connect to your Aurora
- Turn on/off your Aurora from a script
- Handle rotation of your Aurora (so that you can script "left to right" type effects)
- Real-time display effects (including some samples)
- Audio visualization effects (including some samples)
- Python3
- Python modules: bokeh, pyaudio, numpy, scipy
git clone [email protected]:bharat/nanoleaf.git
inside the haller directorypip3 install bokeh pyaudio numpy scipy
- Hit the pairing button on your Aurora
- run
config.py
. It will discover your Aurora, pair with it and create a file calledaurora.ini
containing config data.
By default your Aurora will have an arbitrary orientation. You can control that orientation by using the --rotate
argument to config.py
. Haller will save that orientation and use it in the future.
config.py --plot
will create an HTML file calledplot.html
that contains a visual representation of your panel layoutconfig.py --rotate <degrees>
will calculate a new rotation of your panel layout. Use this with--plot
to visualize to make sure that your panel rotation matches your physical layout. The results of this rotation are cached inaurora.ini
for the future.
Here's what a sample plot looks like:
effect.py --list
to list all effectseffect.py --set <name>
to choose an effecteffect.py --create
creates a hardcoded effect calledScripted
. Work in progress here.
This uses the External Control
feature of Aurora to allow dynamic effects. There are a few hardcoded ones, but the code is an example for what you can do. Try display.py --streaming wipe
to see one of them.
Using the streaming interface, you can turn your Aurora into a music visualizer. Try visualizer.py --viz amplitude
for yourself. You can see what it looks like here: https://www.youtube.com/watch?v=nnojsRrwK4c