Orange Pi zero pythonでGPIO制御

コマンドラインで制御

$ git clone https://github.com/xpertsavenue/WiringOP-Zero.git
$ cd WiringOP-Zero/
$ chmod +x ./build
$ sudo ./build

これでコマンドラインからGPIOが制御できるようになります
“Banana Pro”の表記が気になりますが…

$ gpio -v
gpio version: 2.20
Copyright (c) 2012-2014 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Banana Pro Details:
 Type: Banana Pro, Revision: 1.2, Memory: 1024MB, Maker: LeMaker

GPIOの状態を読み出してみると、

$ gpio readall
 +-----+-----+----------+------+--Orange Pi Zero--+---+------+---------+-----+--+
 | H2+ | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | H2+ |
 +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
 |     |     |     3.3v |      |   |  1 || 2  |   |      | 5v       |     |     |
 |  12 |   8 |    SDA.0 | ALT5 | 0 |  3 || 4  |   |      | 5V       |     |     |
 |  11 |   9 |    SCL.0 | ALT5 | 0 |  5 || 6  |   |      | 0v       |     |     |
 |   6 |   7 |   GPIO.7 | ALT3 | 1 |  7 || 8  | 0 | ALT5 | TxD3     | 15  | 198 |
 |     |     |       0v |      |   |  9 || 10 | 0 | ALT5 | RxD3     | 16  | 199 |
 |   1 |   0 |     RxD2 |  OUT | 1 | 11 || 12 | 0 | ALT3 | GPIO.1   | 1   | 7   |
 |   0 |   2 |     TxD2 |  OUT | 1 | 13 || 14 |   |      | 0v       |     |     |
 |   3 |   3 |     CTS2 |  OUT | 1 | 15 || 16 | 0 | ALT4 | GPIO.4   | 4   | 19  |
 |     |     |     3.3v |      |   | 17 || 18 | 0 | ALT4 | GPIO.5   | 5   | 18  |
 |  15 |  12 |     MOSI | ALT5 | 0 | 19 || 20 |   |      | 0v       |     |     |
 |  16 |  13 |     MISO | ALT5 | 0 | 21 || 22 | 0 | ALT3 | RTS2     | 6   | 2   |
 |  14 |  14 |     SCLK | ALT5 | 0 | 23 || 24 | 0 | ALT5 | CE0      | 10  | 13  |
 |     |     |       0v |      |   | 25 || 26 | 1 | OUT  | GPIO.11  | 11  | 10  |
 +-----+-----+----------+------+---+---LEDs---+---+------+----------+-----+-----+
 |  17 |  30 | STAT-LED |  OUT | 0 | 27 || 28 |   |      | PWR-LED  |     |     |
 +-----+-----+----------+------+---+-----+----+---+------+----------+-----+-----+
 | H2+ | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | H2+ |
 +-----+-----+----------+------+--Orange Pi Zero--+---+------+---------+-----+--+

30がボード上のステータスLEDに該当しているので、以下のコマンドでON/OFFできます

$ gpio write 30 on
$ gpio write 30 off

Pythonで制御

WiringPi-Python-OPのインストール

さすがにコマンドラインから触るわけには行かないので、pythonで制御できるようにします
Orenge Piに対応したWiringPi-Python-OPがリリースされているので、これをインストールします

インストールはここに記載のとおりです

$ sudo apt-get install python-dev python-setuptools swig2.0

$ git clone --recursive https://github.com/lanefu/WiringPi-Python-OP.git
$ cd WiringPi-Python-OP

$ swig2.0 -python wiringpi.i

$ sudo python setup.py install

で、動作テスト用のコードはこちら↓
11番pin(gpio readallのwpiが0のポート)を0.5秒間隔でON/OFFします

import wiringpi
from time import sleep

LED = 0
OUTPUT = 1
HIGH = 1
LOW = 0

if __name__ == '__main__':
    wiringpi.wiringPiSetup()
    wiringpi.pinMode(LED, OUTPUT)
    while True:
        wiringpi.digitalWrite(LED, HIGH)
        sleep(0.5)
        wiringpi.digitalWrite(LED, LOW)
        sleep(0.5)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする