WiringPi を使えるようにする
ラズパイで電子工作をするには、GPIOを制御するアプリが必要です。
ラズパイに標準でセットされている WiringPi を使うのが一般的です。
以前 WiringPi を使おうとしたときに、うまく動作せずにOSをダウングレードしました。
今回は、せっかくOSを再セットアップしたので、現在のバージョンのままで動作する方法を調べてみたいと思います。
OS と カーネル のバージョンを調べる
WiringPi を使えるようにするにあたって、現在の環境を確認しておきます。
まだインストールしていませんが、WiringPi を確認します。
$ gpio -v
bash: gpio: コマンドが見つかりません
まだ WiringPiはインストールしていないので、当然こうなりますね。
Raspbian(OS) のバージョンを調べるには
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
OSは、Raspbian 11 bullseye になっています。
カーネルのバージョンを調べるには
$ uname -a
Linux raspberrypi 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux
Ver 5.15と新しい。
Gitをインストールする
$ sudo apt-get install git
WiringPiをインストールするには
$ git clone https://github.com/WiringPi/WiringPi.git
$ cd /wiringPi
$ ./build
コンパイルされて、gpioユーティリティがインストールされます。
$ gpio -v
gpio version: 2.70
Copyright (c) 2012-2018 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warrantyRaspberry Pi Details:
Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Sony
* Device tree is enabled.
*--> Raspberry Pi 3 Model B Rev 1.2
* This Raspberry Pi supports user-level GPIO access.
これで、GPIOを制御する環境が出来上がりました。
GPIO の動作について
ラズパイのGPIOピンを制御するには、ラズパイの仮想ファイルに値を読み書きしてON/OFFを制御します。
例えば、GPIO 4番ピンだと、下記のようなファイルに 0 や 1 を書き込みます。
/sys/class/gpio/gpio4/value
この処理を行うためのツールが、WiringPi です。
WiringPi は開発停止→ pigpio で制御
なんと、WiringPiというライブラリは 2019年から開発が停止していて、この方法は非推奨のようです。
以前、WiringPi が動作せずにOSをダウングレードしたのは、これが原因のようです。
代わりのツールは pigpio を使うのがよさそうです。
今はまだ不慣れなので、本を見ながらGPIOの制御を学んでいきます。
2016年頃の方法とは、かなり変わってきているようですね。
大変そうです。