土地形状スキャン017 [FriendlyCore編]NanoPiNEOのGPIOアクセスをpythonで行うため再挑戦

造成

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で終了

タイトルとURLをコピーしました