42 lines
1.6 KiB
Org Mode
Raw Permalink Normal View History

2015-09-12 22:09:22 -07:00
* Lightrix: Drive Adafruit Neopixels over Matrix
** Installation
2016-03-13 20:35:05 -07:00
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.
2015-09-12 22:09:22 -07:00
2016-03-13 20:35:05 -07:00
This is based on the =rpi_ws281x= library, and I ship an [[][ansible]] playbook to provision it.
2015-09-12 22:09:22 -07:00
2016-03-13 20:35:05 -07:00
Remove the =rrix.setup-home= role from =playbook.yaml= and run:
2015-09-12 22:09:22 -07:00
2016-03-13 20:35:05 -07:00
ansible-playbook -i ../devops/hosts playbook.yaml --become
2015-09-12 22:09:22 -07:00
2016-03-13 20:35:05 -07:00
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.
2015-09-12 22:09:22 -07:00
** Usage
2016-03-13 20:35:05 -07:00
As root: (due to the DMA requirements)
2015-09-12 22:09:22 -07:00
- Create a =~/.mcatrc=
2016-03-13 20:35:05 -07:00
- Run =python ./ -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