armbianでは行き詰ったgpioアクセスのためのpythonライブラリのビルドにFriendlycoreで再チャレンジする。
GPIOアクセス準備
pythonバージョンの確認
$ python -V
Python 2.7.12
$ python3 -V
Python 3.5.2
パッケージ一覧の更新
$ sudo apt update
Pipインストール
$ sudo apt install python3-pip
WiringNPインストール
$ git clone https://github.com/friendlyarm/WiringNP
$ cd WiringNP/
$ chmod 755 build
$ sudo ./build
詳細不明だがbuildにてwarningがかなり発生している
WiringNP動作確認
$ gpio readall
1行目に「NanoPi-NEO」の文字列があり、以降にGPIOピンの表が表示されればOK
$ gpio mode 0 out
$ gpio write 0 1
gpioコマンドのピン指定はwPi番号で行う
上の例ではGPIOA0(ピンヘッダ11番)を出力モードに設定し、Hを出力する例
Lを出力する場合は以下のようにする
$ gpio write 0 0
ピンヘッダ11番ピンにプローブを接続し、オシロで確認
RPi.GPIO_NPインストール
$ sudo apt install python3-dev
$ git clone https://github.com/friendlyarm/RPi.GPIO_NP
$ cd RPi.GPIO_NP
$ sudo python3 setup.py install
RPi.GPIO_NPの動作確認
公式wikiを参考にpythonコードを実行
$ vi gpio_pa0.py
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
PIN_NUM = 11
GPIO.setmode(GPIO.BOARD)
GPIO.setup(PIN_NUM,GPIO.OUT)
while True:
GPIO.output(PIN_NUM,True)
time.sleep(1)
GPIO.output(PIN_NUM,False)
time.sleep(1)
$ sudo python3 gpio_pa0.py
pythonコードのPIN_NUMはphysical番号(gpio readallコマンドで出てくる表の)を指定する。
オシロでH->L交互に出力されることを確認
Ctrl+Cで終了