Advanced GPIO for the Raspberry Pi. Extends RPi.GPIO with PWM, GPIO interrups, TCP socket interrupts, command line tools and more


Keywords
raspberry, pi, interrupts, gpio, rpio
License
LGPL-3.0+
Install
pip install RPIO==0.8.3

Documentation

RPIO is an advanced GPIO module for the Raspberry Pi.

  • PWM via DMA (up to 1us resolution)
  • GPIO input and output (drop-in replacement for RPi.GPIO)
  • GPIO interrupts (callbacks when events occur on input gpios)
  • TCP socket interrupts (callbacks when tcp socket clients send data)
  • Command-line tools rpio and rpio-curses
  • Well documented, fast source code with minimal CPU usage
  • Open source (LGPLv3+)

Visit pythonhosted.org/RPIO for the documentation.

Installation

The easiest way to install/update RPIO on a Raspberry Pi is with either easy_install or pip:

$ sudo apt-get install python-setuptools
$ sudo easy_install -U RPIO

After the installation you can use import RPIO as well as the command-line tools rpio and rpio-curses.

Debian packages are available at metachris.github.com/rpio/download.

An Arch Linux PKGBUILD is available at aur.archlinux.org/packages/rpio.

Examples

You can find lots of examples inside the documentation, as well as in the /examples/ source directory.

Feedback

Please send feedback and ideas to chris@linuxuser.at, and open an issue at Github if you've encountered a bug.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details at <http://www.gnu.org/licenses/lgpl-3.0-standalone.html>

Special Thanks

csegit, waveform80, nils-werner, friedcell, zejn, dbeal, paul-1

Copyright

Copyright (C) 2013 Chris Hager <chris@linuxuser.at>

Links

Changes

Please refer to the 'Changes' section in the documentation.