Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

beyondscreen/node-openpixelcontrol

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

openpixelcontrol-stream build-status

stream-based implementation of the openpixelcontrol-protocol. Provides a protocol-parser and a client-implementation.

installation

npm install openpixelcontrol-stream

usage example

openpixelcontrol server

This will run an openpixelcontrol server on the default port (7890) and send received data to the rpi-ws281x-native module for output to a strip of ws2812-leds.

var ParseStream = require('openpixelcontrol-stream').OpcParseStream,
    net = require('net'),
    ws281x = require('rpi-ws281x-native');


var server = net.createServer(function(conn) {
    var parser = new ParseStream({
        channel: 1,
        dataFormat: ParseStream.DataFormat.UINT32_ARRAY
    });

    parser.on('setpixelcolors', function(data) {
        ws281x.render(data);
    });

    conn.pipe(parser);
});

ws281x.init(100);
server.listen(7890);

openpixelcontrol client

A basic client connecting to an openpixelcontrol-server and running an animation there.

var ClientStream = require('openpixelcontrol-stream').OpcClientStream,
    net = require('net');

var NUM_LEDS = 100,
    OPC_CHANNEL = 0;

var client = new ClientStream();

// connect to openpixelcontrol-server at `192.168.1.42:7890`
var socket = net.createConnection(7890, '192.168.1.42', function() {
    client.pipe(socket);

    run();
});

function run() {
    // create a typed-array for color-data
    var data = new Uint32Array(NUM_LEDS);

    // setup an animation-loop at 10FPS
    setInterval(function () {
        // ... update colors in `data` ...

        client.setPixelColors(OPC_CHANNEL, data);
    }, 100);
}

About

stream-implementation of the openpixelcontrol protocol

Resources

License

Stars

12 stars

Watchers

5 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.