Nitrogen Peroxide Monoxide
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    scratch-rsppublic

    scratch-rsp

    Node module to connect Scratch(v1.4) via Remote-Sensor-Protocol.

    ref: Remote Sensors Protocol - Scratch Wiki

    Installation

    Install with npm:

    npm install scratch-rsp

    Or by cloning this repository:

    git clone https://github.com/yokobond/node-scratch-rsp.git

    Examples

    Connect Scratch then send sensor-update and send/receive broadcast messages.

    var scratchRSP = require('scratch-rsp');
    console.log('start');
    var scratchSocket = scratchRSP.createConnection('localhost', function () {
        var sensorsMap = new Map([['note', 60], ['seconds', 0.1], ['shift "tone"', -1]]);
        scratchSocket.sensorUpdate(sensorsMap);
        scratchSocket.broadcast('play note');
    });
    scratchSocket.on('broadcast', function (subject) {
        console.log(subject);
    });
    scratchSocket.on('sensor-update', function (sensorsMap) {
        for (var key of sensorsMap.keys()) {
            console.log(key + " = " + sensorsMap.get(key));
        }
    });

    API

    Connection

    Scratch-Socket

    Connection

    ### createConnection(host, connectListener)

    Connect host on scratch port and return a Scratch-Socket instance.

    • host - Host address of Scratch to connect
    • connectListener - Listener of 'connect' event

    Scratch-Socket

    ### sensorUpdate(sensorsMap, callback)

    Send sensor-update message to the Scratch. Returns true if the entire data was flushed successfully to the kernel buffer. Returns false if all or part of the data was queued in user memory. 'drain' will be emitted when the buffer is again free.

    • sensorsMap - Map of "sensor-name -> value" to be sent.
    • callback - It will be executed when the data is finally written out.

    ### broadcast(subject, callback)

    Send broadcast message to the Scratch. Returns true if the entire data was flushed successfully to the kernel buffer. Returns false if all or part of the data was queued in user memory. 'drain' will be emitted when the buffer is again free.

    • subject - Subject to be broadcasted.
    • callback - It will be executed when the data is finally written out.

    ### Event: 'broadcast' Emit with 'subject' parameter when received broadcast message from Scratch.

    • subject - Subject String of the broadcast message.

    ### Event: 'sensor-update' Emit with a Map of sensor data when received sensor-update message from Scratch.

    • sensorsMap - Map of "sensor-name -> value". The value is a String or Number.

    TODO

    • Receive sensor-update from Scratch

    Keywords

    install

    npm i scratch-rsp

    Downloadsweekly downloads

    5

    version

    0.0.3

    license

    Apache-2.0

    repository

    github.com

    last publish

    collaborators

    • avatar