Raspberry Piと電子工作

はんだ付けをしないで電子工作を学びたい。

Raspberry Pi 3 で電子工作の環境を作る

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 -warranty

Raspberry 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年頃の方法とは、かなり変わってきているようですね。

大変そうです。