# rpi-433-v2

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

Latest version **1.0.3** (published 2019-08-11) · ISC license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install rpi-433-v2
pnpm add rpi-433-v2
yarn add rpi-433-v2
bun add rpi-433-v2
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2019-08-11 |
| First published | 2019-08-10 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 38.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | yes |
| Author | Felix Trier |
| Maintainers | ftrier |
| Keywords | raspberry, rasp, raspi, domotic, 433mhz, sniffer, sniff, send, receive, nodejs, outlets, radio, code, wiringpi, rc, gpio |

## Links

- npm: https://www.npmjs.com/package/rpi-433-v2
- Repository: https://github.com/ftrier/rpi-433
- Homepage: https://github.com/ftrier/rpi-433#readme
- Issues: https://github.com/ftrier/rpi-433/issues
- npm.io page: https://npm.io/package/rpi-433-v2

## Dependencies (2)

- [q](https://npm.io/package/q.md) ^1.5.1
- [underscore](https://npm.io/package/underscore.md) ^1.9.1

## Alternatives

- [flatbuffers](https://npm.io/package/flatbuffers.md) — 6.0M weekly downloads
- [@exodus/patch-broken-hermes-typed-arrays](https://npm.io/package/@exodus/patch-broken-hermes-typed-arrays.md) — 28.5K weekly downloads
- [@native-to-anchor/buffer-layout](https://npm.io/package/@native-to-anchor/buffer-layout.md) — 12.2K weekly downloads
- [binary-parser-encoder](https://npm.io/package/binary-parser-encoder.md) — 5.3K weekly downloads
- [datasets-fi-postalcodes](https://npm.io/package/datasets-fi-postalcodes.md) — 1.1K weekly downloads

## Recent versions

- 1.0.3 (latest) — 2019-08-11
- 1.0.2 — 2019-08-10
- 1.0.1 — 2019-08-10
- 1.0.0 — 2019-08-10

## README

# rpi-433-v2

[![npm version](https://badge.fury.io/js/rpi-433-v2.svg)](http://badge.fury.io/js/rpi-433)

[![NPM](https://nodei.co/npm/rpi-433-v2.png?downloads=true)](https://nodei.co/npm/rpi-433-v2/)

### 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

- wiringPi : https://projects.drogon.net/raspberry-pi/wiringpi/

### Building WiringPi

```bash
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

```bash
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.

```bash
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/

```bash
gpio readall
```

### Example

```js
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);
  }
);
```

---
_Source: https://npm.io/package/rpi-433-v2 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
