control ws2812 over matrix
 
 
 
 
Go to file
Ryan Rix 453198c40f Update README 2016-03-14 03:35:05 +00:00
lightrix Fix brightness 2016-03-14 03:27:32 +00:00
remote Add remote 2016-03-14 03:27:44 +00:00
roles Make the new lightrix work with ansible 2016-03-14 00:59:23 +00:00
.gitignore Don't commit the thing with an access token 2016-03-14 03:28:44 +00:00
.gitmodules Create lightrix ansible role 2015-09-16 08:02:38 +00:00
README.org Update README 2016-03-14 03:35:05 +00:00
lightrix.py I have a 150 count strip fuck it 2016-03-14 00:59:05 +00:00
lightrix.service Make the new lightrix work with ansible 2016-03-14 00:59:23 +00:00
mcatrc Create lightrix ansible role 2015-09-16 08:02:38 +00:00
playbook.yaml Create lightrix ansible role 2015-09-16 08:02:38 +00:00
requirements.txt Make the new lightrix work with ansible 2016-03-14 00:59:23 +00:00
test-client.py Shrug 2016-03-13 08:28:50 +00:00

README.org

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 ansible playbook to provision it.

Remove the 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.

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