a companion to my pixelPi software and I've started work on an output
device which works with OLA (Open Lighting Architecture). This allows
the Raspberry Pi to be use to control; servos; dimmers; relays and
pixels (via pixelPi) all controlled over standardized lighting/prop
control protocols supported by OLA. This would essentially be a
configurable node which drives hardware and can be controlled with
Artnet; E1.31; ESP Net; Pathport; Sandnet; Shownet.
So lots has been going on with PixelPi since my last update:
I've forked (https://github.com/mostley/PixelPi) github fork into the PixelPi/PixelPi trunk. It significantly changes the architecture of the project. Now there is a simple controller.py file which simply receives pixel data (currently raw (pixel invaders) type;
I have added on proper IP protocol support using OLA Open Lighting Architecture. This allows support of standardized lighting protocols and allow you to control your pictures from many more applications.
There is now a shim layer which interfaces the output of OLA to the pixels; I'm still learning about the OLA package; its quite impressive and I think it will suite these needs perfectly.
I've added support for grouping pixels so they can be controlled with a single group of RGB DMX data.
So right now the new pixel pi implementation is missing much of the test mode stuff in the original. I'll be adding it over time.
Issues and contributions:
I've added an issues page to the PixelPi github page; please feel free to make a new issue for any changes, bugs, enhancements.
Update (August 19th): - Pixel Invaders support provided in the 1.3.0-Beta4 release of pixel controller (Here: https://github.com/neophob/PixelController/downloads)
- Tested and working with the latest checked in version of PixelPi
- Run it like this: " sudo python pixelpi.py --chip WS2801 --mode all_off "
- It works by sending the pixel data to the pixelPi software using a UDP network connection. So in pixelcontroller you must setup a UDP output device with the IP set to the IP address of your Raspberry Pi board (Keep the port set at 6803)
- The PixelPi software receives the packet and sets the pixels accordingly.
What it does so far:
- Supports POV LED Strip (Like the original Adafruit Software)
- Now Support matrix displays (2D Panels)
- Added some test modes (fade and chase modes)
- Supports pixel remapping (by using a CSV file with the location of your pixels in the array)
- Adjustable refresh rate / chase rate
- All options selectable by command line args (no python tweaking required (hopefully))
What's up next.
- panning on large images across the pixel array. Ideally I was thinking it would be cool to pass in some images from vgamaps.com and have it pan around them.
- animation support (maybe animated GIF)
- TCP/IP support (support sending display data from another PC)
Grab the python file:
git clone git://github.com/scottjgibson/PixelPi.git
-h, --help show this help message and exit
-v, --version show program's version number and exit
Specify chip type LDP8806 or WS2801
--filename FILENAME Specify the image file eg: hello.png
Choose the display mode, either POV strip or 2D array,
--verbose enable verbose mode
Set the X dimension of your pixel array (width)
Set the Y dimension of your pixel array (height)
Set the SPI device descriptor
Set the refresh rate in ms (default 500ms)
Test with a fade:
sudo python pixelpi.py --chip WS2801 --mode fade --refresh_rate 1
Test with a chase:
sudo python pixelpi.py --chip WS2801 --mode chase--refresh_rate 1
Wire up the RGB LED string:
I did something similar to this:
http://learn.adafruit.com/light-painting-with-raspberry-pi/hardware My starting point: