Skip to content

Instantly share code, notes, and snippets.

@lanefu
Last active July 31, 2024 22:22
Show Gist options
  • Save lanefu/f16a67195c9fa35c466c6b50cdaeadea to your computer and use it in GitHub Desktop.
Save lanefu/f16a67195c9fa35c466c6b50cdaeadea to your computer and use it in GitHub Desktop.
How to get wiring Pi Python libraries on Orange PI with armbian

Overview

Use my fork of the Wiring-Pi Python library which checks out the WiringOP fork of the WiringPi library as a submodule to build everything. yes that's a little confusing

The WiringPI library is the original C library that RaspGPIO is somewhat based on. WiringPi was built to replicate arduino GPIO functions

In Raspberry Pi Land there are 2 normal python paths for GPIO. One is Raspi.GPIO and the other is WiringPI

Known Success

I built this on an Orange Pi One running Armbian Jessie

Pieces

WiringOP C library

WiringOP is a fork of the Banana Pi fork of the WiringPI Library

https://github.com/zhaolei/WiringOP

WiringPi-Python Library

WiringPi-Python is python binding to the C library. The github release uses a submodule and checks out the WiringPi library directly. My fork updates the submodule ot the wiringOP library, and removes a few incompatible includes that keeps the python library from building

https://github.com/lanefu/WiringPi-Python-OP

Install

Build / Install Commands

# install build requirements
sudo apt-get install python-dev python-setuptools swig -y

# download my fork of the wiringpy-python build that contains submodile to wiringOP library
git clone --recursive https://github.com/lanefu/WiringPi-Python-OP.git

# build C and install both Wiring Pi C library and Python
cd WiringPi-Python-OP
cd WiringPi/
sudo ./build
cd ..
export CFLAGS="-lwiringPi -lwiringPiDev"
swig2.0 -python wiringpi.i
sudo python setup.py install

# enable gpio kernel module
sudo sed -i 's/\#gpio_sunxi/gpio_sunxi/g' /etc/modules
sudo modprobe gpio_sunxi
@abstract17
Copy link

Does it work for Orange Pi 2g-Iot board??

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment