Socket
Socket
Sign inDemoInstall

pi-control-client

Package Overview
Dependencies
11
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    pi-control-client

A Node.js client for remotely controlling a Raspberry Pi running Pi-Control-Service (https://github.com/projectweekend/Pi-Control-Service)


Version published
Weekly downloads
6
Maintainers
1
Install size
849 kB
Created
Weekly downloads
 

Readme

Source

This is a Node.js client library for remotely controlling a Raspberry Pi that is running Pi-Control-Service. After following the instructions for setting up the service, you will need to reuse the same RabbitMQ connection string and device key values to start a client.

Install it

npm install pi-control-client

GPIO client

The GPIO client (pi-control-client.GPIOClient) is used to control a Raspberry Pi running the GPIO service. More information about the service can be found here in the GPIO service section.

Using the GPIO client

var GPIOClient = require( "pi-control-client" ).GPIOClient;

// The RabbitMQ connection string (must match the one used when starting the service)
var RABBIT_URL = "some_actual_connection_string";

// A unique string you make up to identify a single Raspberry Pi (must match the one used when starting the service)
var DEVICE_KEY = "my_awesome_raspberry_pi";

var pinsClient = new GPIOClient(RABBIT_URL);

# Get config for all pins
pinsClient.readConfig( DEVICE_KEY, function ( err, result ) {
    if ( err ) {
        // do something with error
    }
    // do something with result
    console.log( result );
} );

# Get config for a single pin
pinsClient.readConfig( DEVICE_KEY, 18, function ( err, result ) {
    if ( err ) {
        // do something with error
    }
    // do something with result
    console.log( result );
} );

# Turn a pin on
pinsClient.on( DEVICE_KEY, 18, function ( err, result ) {
    if ( err ) {
        // do something with error
    }
    // do something with result
    console.log( result );
} );

# Turn a pin off
pinsClient.off( DEVICE_KEY, 18, function ( err, result ) {
    if ( err ) {
        // do something with error
    }
    // do something with result
    console.log( result );
} );

# Read a pin value
pinsClient.readValue( DEVICE_KEY, 18, function ( err, result ) {
    if ( err ) {
        // do something with error
    }
    // do something with result
    console.log( result );
} );

Custom action client

The custom action service (pi-control-service.CustomActionService) is used to control a Raspberry Pi running the custom action service. More information about the service can be found here in the Custom action service section.

Using the custom action client

var CustomActionClient = require( "pi-control-client" ).CustomActionClient;

// The RabbitMQ connection string (must match the one used when starting the service)
var RABBIT_URL = "some_actual_connection_string";

// A unique string you make up to identify a single Raspberry Pi (must match the one used when starting the service)
var DEVICE_KEY = "my_awesome_raspberry_pi";

var actionsClient = new CustomActionClient( RABBIT_URL );

# Call a custom action
actionsClient.call( DEVICE_KEY, "name_of_action_method", function ( err, result ) {
    if ( err ) {
        // do something with error
    }
    // do something with result
    console.log( result );
} );

Keywords

FAQs

Last updated on 04 Feb 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc