milaq / rpi-rf

Sending and receiving 433MHz signals with cheap GPIO RF modules on a Raspberry Pi
BSD 3-Clause "New" or "Revised" License
495 stars 178 forks source link

rpi-rf

Introduction

Python module for sending and receiving 433/315MHz LPD/SRD signals with generic low-cost GPIO RF modules on a Raspberry Pi.

Protocol and base logic ported ported from rc-switch_.

Supported hardware

Most generic 433/315MHz capable modules (cost: ~2€) connected via GPIO to a Raspberry Pi.

.. figure:: http://i.imgur.com/vG89UP9.jpg :alt: 433modules

Compatibility

Generic RF outlets and most 433/315MHz switches (cost: ~15€/3pcs).

.. figure:: http://i.imgur.com/WVRxvWe.jpg :alt: rfoutlet

Chipsets:

For a full list of compatible devices and chipsets see the rc-switch Wiki_

Dependencies

::

RPi.GPIO

Installation

On your Raspberry Pi, install the rpi_rf module via pip.

Python 3::

# apt-get install python3-pip
# pip3 install rpi-rf

Wiring diagram (example)

Raspberry Pi 1/2(B+)::

                   RPI GPIO HEADER
              ____________
             |        ____|__
             |       |    |  |
             |     01|  . x  |02
             |       |  . x__|________       RX
             |       |  . x__|______  |   ________
             |       |  . .  |      | |  |        |
   TX        |   ____|__x .  |      | |__|VCC     |
 _______     |  |  __|__x .  |      |    |        |
|       |    |  | |  |  x____|______|____|DATA    |
|    GND|____|__| |  |  . .  |      |    |        |
|       |    |    |  |  . .  |      |    |DATA    |
|    VCC|____|    |  |  . .  |      |    |        |
|       |         |  |  . .  |      |____|GND     |
|   DATA|_________|  |  . .  |           |________|
|_______|            |  . .  |
                     |  . .  |
                     |  . .  |
                     |  . .  |
                     |  . .  |
                     |  . .  |
                     |  . .  |
                   39|  . .  |40
                     |_______|

TX:
   GND > PIN 09 (GND)
   VCC > PIN 02 (5V)
  DATA > PIN 11 (GPIO17)

RX:
   VCC > PIN 04 (5V)
  DATA > PIN 13 (GPIO27)
   GND > PIN 06 (GND)

Usage

See scripts_ (rpi-rf_send_, rpi-rf_receive_) which are also shipped as cmdline tools.

Open Source

.. _rc-switch: https://github.com/sui77/rc-switch .. _rc-switch Wiki: https://github.com/sui77/rc-switch/wiki .. _BSD Licence: http://www.linfo.org/bsdlicense.html .. _GitHub: https://github.com/milaq/rpi-rf .. _GitHub issues: https://github.com/milaq/rpi-rf/issues .. _scripts: https://github.com/milaq/rpi-rf/blob/master/scripts .. _rpi-rf_send: https://github.com/milaq/rpi-rf/blob/master/scripts/rpi-rf_send .. _rpi-rf_receive: https://github.com/milaq/rpi-rf/blob/master/scripts/rpi-rf_receive