Lightrix: Drive Adafruit Neopixels over Matrix
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 ansible playbook to provision it.
rrix.setup-home role from
playbook.yaml and run:
ansible-playbook -i ../devops/hosts playbook.yaml --become
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.
As root: (due to the DMA requirements)
- Create a
python ./lightrix.py -r "<YOUR ROOM ID>" -c ~/.mcatrcand 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
There is also now a remote control included which you can run to allow you to control the lights from a web-page.
secrets.jswhich defines the following variables, and put it in
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
rooms: an array of Room IDs which you can use to toggle to mutliple lightrix installations (assuming each one runs in its own room)
python -m SimpleHTTPServerin the
- browse to
http://DOMAIN:8000to view the remote