lightrix/README.org

42 lines
1.6 KiB
Org Mode

* Lightrix: Drive Adafruit Neopixels over Matrix
** Installation
You will need a Raspberry Pi that is attached to your network. I am using a Raspberry Pi Model A+
due to its really adorable formfactor and the fact that I have some WiFi dongles laying about.
This is based on the =rpi_ws281x= library, and I ship an [[http://ansible.com][ansible]] playbook to provision it.
Remove the =rrix.setup-home= role from =playbook.yaml= and run:
#+BEGIN_SRC sh
ansible-playbook -i ../devops/hosts playbook.yaml --become
#+END_SRC
Yes, I install everything in to the main Python library path, because I'm an infoterrorist. It's an embedded
Raspberry Pi, deal with it.
** Usage
As root: (due to the DMA requirements)
- Create a =~/.mcatrc=
- Run =python ./lightrix.py -r "<YOUR ROOM ID>" -c ~/.mcatrc= and it'll fire up
- Go in to the room in Vector or so and type "rainbow"
The playbook will install a systemd unit file =lightrix.service= which you can start and enable to
your heart's content
*** Remote
There is also now a remote control included which you can run to allow you to control the lights
from a web-page.
- Create a =secrets.js= which defines the following variables, and put it in =remote/=
- =accessToken=: A valid access token which the webpage will use to make requests to the HS as
- =hs=: A fully-qualified homeserver URL
- =uid=: the UID that the =accessToken= represents.
- =rooms=: an array of Room IDs which you can use to toggle to mutliple lightrix installations
(assuming each one runs in its own room)
- run =python -m SimpleHTTPServer= in the =remote/= directory
- browse to =http://DOMAIN:8000= to view the remote