Skip to main content

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

Project description

### Note

This is an unofficial port of Gordon’s WiringPi library. Please do not email Gordon if you have issues, he will not be able to help.

For support, comments, questions, etc please join the WiringPi Discord channel: https://discord.gg/SM4WUVG

# WiringPi for Python

WiringPi: An implementation of most of the Arduino Wiring

functions for the Raspberry Pi

WiringPi implements new functions for managing IO expanders.

# Quick Install

pip install wiringpi

# 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

Setting up IO expanders (This example was tested on a quick2wire board with one digital IO expansion board connected via I2C):

wiringpi.mcp23017Setup(65,0x20) wiringpi.pinMode(65,1) wiringpi.digitalWrite(65,1)

General IO:

wiringpi.pinMode(6,1) # Set pin 6 to 1 ( OUTPUT ) wiringpi.digitalWrite(6,1) # Write 1 ( HIGH ) to pin 6 wiringpi.digitalRead(6) # Read pin 6

Setting up a peripheral: WiringPi2 supports expanding your range of available “pins” by setting up a port expander. The implementation details of your port expander will be handled transparently, and you can write to the additional pins ( starting from PIN_OFFSET >= 64 ) as if they were normal pins on the Pi.

wiringpi.mcp23017Setup(PIN_OFFSET,I2C_ADDR)

Soft Tone

Hook a speaker up to your Pi and generate music with softTone. Also useful for generating frequencies for other uses such as modulating A/C.

wiringpi.softToneCreate(PIN) wiringpi.softToneWrite(PIN,FREQUENCY)

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: http://www.wiringpi.com

# Manual Build

## Get/setup repo `bash git clone --recursive https://github.com/WiringPi/WiringPi-Python.git cd WiringPi-Python `

## Prerequisites To rebuild the bindings you must first have python-dev, python-setuptools and swig installed. Wiring Pi should also be installed system-wide for access to the gpio tool. `bash sudo apt-get install python-dev python-setuptools swig wiringpi `

## Build & install with

sudo python setup.py install

Or Python 3:

sudo python3 setup.py install

Project details


Download files

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

Source Distribution

wiringpi-2.44.3.tar.gz (90.1 kB view details)

Uploaded Source

Built Distributions

wiringpi-2.44.3-cp35-cp35m-linux_armv7l.whl (256.3 kB view details)

Uploaded CPython 3.5m

wiringpi-2.44.3-cp34-cp34m-linux_armv7l.whl (240.6 kB view details)

Uploaded CPython 3.4m

wiringpi-2.44.3-cp27-cp27mu-linux_armv7l.whl (241.2 kB view details)

Uploaded CPython 2.7mu

File details

Details for the file wiringpi-2.44.3.tar.gz.

File metadata

  • Download URL: wiringpi-2.44.3.tar.gz
  • Upload date:
  • Size: 90.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for wiringpi-2.44.3.tar.gz
Algorithm Hash digest
SHA256 c9e1dd02dd1ac9cec55403ecb8465aa7656ced9160cddf8d4a8396f5ed9c204a
MD5 620f3883b315d676d4444f7dedc8a369
BLAKE2b-256 19cc21ca42ae343b9b504c9db834f3b37af399b2a9f17e5a084c6a2612313e9b

See more details on using hashes here.

File details

Details for the file wiringpi-2.44.3-cp35-cp35m-linux_armv7l.whl.

File metadata

File hashes

Hashes for wiringpi-2.44.3-cp35-cp35m-linux_armv7l.whl
Algorithm Hash digest
SHA256 6873ddf367835c651a182c6417d0df59ebe77863318a05da0954cfbf45b867ee
MD5 84e15560ff9f335b288624e46016f617
BLAKE2b-256 c81972892a71eff5dbc80a1ab9fb2301a7ad52f4473ef8ec8ad3a4e1d8accb00

See more details on using hashes here.

File details

Details for the file wiringpi-2.44.3-cp34-cp34m-linux_armv7l.whl.

File metadata

File hashes

Hashes for wiringpi-2.44.3-cp34-cp34m-linux_armv7l.whl
Algorithm Hash digest
SHA256 ab28b96f5c2f0c01ef6e81ecaec38d6d1ceba1000a6ded1508d38a2b531282cf
MD5 0239328e5988f14898bfecef1dbc6d12
BLAKE2b-256 b58aa84b54deb0c17ae49f55433bc122dbc82c35c5e7bd35e604db079b925d4a

See more details on using hashes here.

File details

Details for the file wiringpi-2.44.3-cp27-cp27mu-linux_armv7l.whl.

File metadata

File hashes

Hashes for wiringpi-2.44.3-cp27-cp27mu-linux_armv7l.whl
Algorithm Hash digest
SHA256 0279fc493af0c4baba408b3c07048f6678d4f70408bdb83623d16ecc5aeffc6c
MD5 884be5ef6a2a763095170b95bce47705
BLAKE2b-256 cc71b9671ca60cb1031699e0b370fd6f21710828543f3b336dac64ed3c88bdeb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page