Skip to main content
Help us improve Python packaging – donate today!

A python interface to WiringPi library which allows for easily interfacing with the GPIO pins of the Raspberry Pi. Also supports i2c and SPI

Project Description

WiringPi: An implementation of most of the Arduino Wiring
functions for the Raspberry Pi
Prerequisites:
You must have python-dev installed If you manually rebuild the bindings with swig -python wiringpi.i then cat wiringpi_class.py >> wiringpi.py to get the class-based wrapper
Get/setup repo:
git clone https://github.com/WiringPi/WiringPi-Python.git cd WiringPi-Python git submodule update –init
Build & install with:
sudo python setup.py install
Class-based Usage:

import wiringpi io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_PINS) io.pinMode(1,io.OUTPUT) io.digitalWrite(1,io.HIGH)

GPIO with /sys/class/gpio (You must first export the interfaces): import wiringpi io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_SYS) io.pinMode(1,io.OUTPUT) io.digitalWrite(1,io.HIGH)

Serial: serial = wiringpi.Serial(‘/dev/ttyAMA0’,9600) serial.puts(“hello”) serial.close()

Usage:

import wiringpi wiringpi.wiringPiSetup // For sequential pin numbering, one of these MUST be called before using IO functions OR wiringpi.wiringPiSetupSys // For /sys/class/gpio with GPIO pin numbering OR wiringpi.wiringPiSetupGpio // For GPIO pin numbering

General IO: wiringpi.pinMode(1,1) // Set pin 1 to output wiringpi.digitalWrite(1,1) // Write 1 HIGH to pin 1 wiringpi.digitalRead(1) // Read pin 1

Bit shifting: wiringpi.shiftOut(1,2,0,123) // Shift out 123 (b1110110, byte 0-255) to data pin 1, clock pin 2

Serial: serial = wiringpi.serialOpen(‘/dev/ttyAMA0’,9600) // Requires device/baud and returns an ID wiringpi.serialPuts(serial,”hello”) wiringpi.serialClose(serial) // Pass in ID

Full details at:
https://projects.drogon.net/raspberry-pi/wiringpi/

Release history Release notifications

History Node

2.44.4

History Node

2.44.3

History Node

2.44.1

History Node

2.44.0

History Node

2.32.1

History Node

1.0.5

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

This version
History Node

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
wiringpi-1.0.tar.gz (40.7 kB) Copy SHA256 hash SHA256 Source None Aug 26, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page