rpi-433-v2

    1.0.3 • Public • Published

    rpi-433-v2

    npm version

    NPM

    Credits

    For my projects I needed to set the protocol. This was not possible in the original version, https://nodei.co/npm/rpi-433/ So all credits go to eroak.

    Modifications to the original

    • Protocol can be set
    • Updated the scripts (codesend and RFSniffer) to the latest

    Simple NodeJS module to send and receive decimal codes through 433Mhz device on RaspberryPI 2

    Dependencies

    Building WiringPi

    pi@raspberrypi ~ $ git clone git://git.drogon.net/wiringPi
    ...
    pi@raspberrypi ~ $ cd wiringPi/wiringPi
    pi@raspberrypi ~/wiringPi/wiringPi $ sudo su
    ...
    root@raspberrypi:/home/pi/wiringPi/wiringPi# ./build

    Installation

    npm install rpi-433-v2

    Usage

    Firstly, make sure you are running your application as root or with sudo, else the Raspberry Pi will not let you output/input to the GPIO and you'll get an error.

    sudo node myscript.js

    Please note that there are different and confusing ways to reference a channel. This module supports wPi schema. Once wiringPi is installed, in your CLI you can run gpio readall and check the wPi column or consult https://projects.drogon.net/raspberry-pi/wiringpi/pins/

    gpio readall

    Example

    var rpi433 = require("rpi-433-v2"),
      rfSniffer = rpi433.sniffer({
        pin: 2, //Snif on GPIO 2 (or Physical PIN 13)
        debounceDelay: 500 //Wait 500ms before reading another code
      }),
      rfEmitter = rpi433.emitter({
        pin: 0, //Send through GPIO 0 (or Physical PIN 11)
        pulseLength: 350, //Send the code with a 350 pulse length
        protocol: 4 //Set the protocol.
      });
     
    // Receive (data is like {code: xxx, pulseLength: xxx})
    rfSniffer.on("data", function(data) {
      console.log(
        "Code received: " + data.code + " pulse length : " + data.pulseLength
      );
    });
     
    // Send
    rfEmitter.sendCode(1234, function(error, stdout) {
      //Send 1234
      if (!error) console.log(stdout); //Should display 1234
    });
     
    /* Or :
     
    rfEmitter.sendCode(code);
    rfEmitter.sendCode(code, {  //You can overwrite defaults options previously set (only for this sent)
      pin: 2,
      pulseLength: 350
    });
    rfEmitter.sendCode(code, callback);
    rfEmitter.sendCode(code, {
      pin: 2,
      pulseLength: 350
    }, callback);
    */
     
    //rpi-433 uses the kriskowal's implementation of Promises so,
    //if you prefer Promises, you can also use this syntax :
    rfEmitter.sendCode(1234, { pin: 0 }).then(
      function(stdout) {
        console.log("Code sent: ", stdout);
      },
      function(error) {
        console.log("Code was not sent, reason: ", error);
      }
    );

    Install

    npm i rpi-433-v2

    DownloadsWeekly Downloads

    1

    Version

    1.0.3

    License

    ISC

    Unpacked Size

    39.8 kB

    Total Files

    11

    Last publish

    Collaborators

    • ftrier