WiringPiはPi2として最新化されているが、Python対応はメンテが止まったように
見えて困っていた。
次のUpdateによるインストールで、4.4系や4.9系のPython,Python3 共に対応できた
のでまとめておく。
1)Raspbianの、この時点の最新バイナリをダウンロードしインストールする。
https://downloads.raspberrypi.org/raspbian_latest
2)4.9系にUPしたい人は、次を実施する。
sudo rpi-update
sudo reboot
3)sudo apt-get update;sudo apt-get upgrade -y
4)sudo apt-get install -y python-dev python-setuptools swig
5)WiringPiのPython wrapper をダウンロードする。
git clone https://github.com/Gadgetoid/WiringPi2-Python.git
cd WiringPi2-Python
6)WiringPi部分を最新化する。
wget -O wiring.tar.gz https://git.drogon.net/?p=wiringPi;a=snapshot;h=96344ff7125182989f98d3be8d111952a8f74e15;sf=tgz
(?とp=は空けないこと)
tar xzf *.gz
cp -r wiringPi*/* WiringPi
7)setup.py の Extension の途中に次の行を追加
extra_link_args=[‘-lrt’,’-lcrypt’],
8)不要ファイルの削除
WiringPi/devLib 配下の不要な piFaceOld.c を削除
9)wiringpi.i の398行目の修正
PyString_FromStringAndSize( ⇒ PyUnicode_FromStringAndSize(
10)./build.sh で最終インストール
build.sh はPython とPyhton3 を同時にインストールできるように編集
swig2.0 -python -threads wiringpi.i sudo python setup.py build install sudo python3 setup.py build install sudo python test.py sudo python3 test.py


PWM関連は、sudo python , sudo python3 で起動します。
# -*- coding: utf-8 -*- import wiringpi2 PWM_PIN = 18 # GPIOの18番ピン DUTY = 0 # Duty比の値(0から1024) wiringpi2.wiringPiSetupGpio() #winringPiの初期設定 # PWM出力として18番pinを設定 wiringpi2.pinMode(PWM_PIN, wiringpi2.GPIO.PWM_OUTPUT) #「Balanced」→「mark:space」Modeに変更 wiringpi2.pwmSetMode(wiringpi2.GPIO.PWM_MODE_MS) # Clockを50Hzにする。18750/周波数=375 wiringpi2.pwmSetClock(375) try: while True: for DUTY in range(0, 1025, 1): #フェードイン wiringpi2.pwmWrite(PWM_PIN, DUTY) wiringpi2.delay(10) #0.01sec wiringpi2.delay(500) #0.5sec for DUTY in range(1024, 1, -1): #フェードアウト wiringpi2.pwmWrite(PWM_PIN, DUTY) wiringpi2.delay(10) wiringpi2.delay(500) except KeyboardInterrupt: pass finally: wiringpi2.pwmWrite(PWM_PIN, 0) # LEDを消灯