注目キーワード
  1. Photoshop
  2. Python
  3. Raspberry Pi
  4. Arduino

ubuntu20.04LTSにWiringPiをインストールしてGPIOピンを使えるようにする

ここでは「Ubuntu 20.04 LTS」に「WiringPi」をインストールして、GPIOピンを使えるようにする方法を紹介します。

 

この記事を読むことで

UbuntuにWiringPiをインストールする方法

Ubuntu内のPythonでWiringPi使えるようにする方法

WiringPiのインストールで苦戦した箇所

を知ることができます。

 

taku
Ubuntu 20.04をインストールした
Raspberry Pi 4で GPIO制御 がしたい!

という方はぜひご覧ください。

 

それでは早速、始めていきましょう。

 

Ubuntu20.04 にWiringPiをインストールする

 

WiringPi 2.50をインストールする

まずはデフォルトでインストールできるWiringPi 2.50をインストールしていきます。

$ sudo apt-get install wiringpi

$ sudo apt install python3-rpi.gpio

 

ubuntu_wiringpi_01

 

インストールが終わったら、取り敢えずバージョンとGPIOが使えるか確認してみましょう。

 

GPIOが使えるかの確認

$ sudo gpio readall

Oops – unable to determine board type… model: 17

 

GPIOのバージョン確認

$ gpio -v

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

 

ubuntu_wiringpi_02

 

GPIOのバージョンが2.50では、GPIOが使えないことが分かります。

まず、ここが一つ目の沼ですね。

 

WiringPi 2.52へアップデートする

先ほど、GPIOのバージョンが2.50では使えないことを確認しました。

 

これは

Wiring Pi GPIO Interface library for the Raspberry Pi : Gordon

のWiring Pi を作成した本人のサイトによると、Raspberry Pi 4 Model BでWiring Pi 2.50は対応しておらず、Wiring Pi 2.52へバージョンアップする必要がある。 とのこと。

そのため、上記リンクに示されているコマンドを実行していきます。

 

$ cd /tmp

でカレントディレクトリを /tmp へ移動し

 

$ wget https://project-downloads.drogon.net/wiringpi-latest.deb

wgetコマンドよりURLを指定して

 

$ sudo dpkg -i wiringpi-latest.deb

.debパッケージをインストールします。

 

ubuntu_wiringpi_04

 

上手くできれば

$ gpio -v

でWiring Pi のバージョンが2.52となっていることが確認できます。

 

ubuntu_wiringpi_06

 

WiringPiのバージョンが2.52になっていれば

$ sudo gpio readall

で見慣れたGPIOの表が表示されます。

 

ubuntu_wiringpi_07

 

ここまでできれば、WiringPiをPythonで使えるようにするだけです。

 

Wiring Pi インストール時のエラーハンドリング

上記で、WiringPiをUbuntuへインストールする手順を紹介しましたが、インストール中にエラーが生じることもありました。

なので、そのエラーハンドリングとして私なりの対処方法をメモとして残しておきます。

 

Ubuntuにwiringpiをインストールする方の力になれれば、幸いです。

(私はUbuntuにwiringpiをインストールするのに半日もかかってしまったので💦)

 

アーキテクチャのエラー

(Reading database … 101234 files and directories currently installed.)
Preparing to unpack wiringpi-latest.deb …
Unpacking wiringpi:armhf (2.52) over (2.50-0ubuntu1) …
dpkg: dependency problems prevent configuration of wiringpi:armhf:
wiringpi:armhf depends on libc6.

というアーキテクチャのエラーが発生することがあります。

 

ubuntu_wiringpi_03

 

これは

・パッケージのアーキテクチャ(armhf)
・システムのアーキテクチャ(arm64)
が一致していないため、生じるエラー

になります。

 

従って、アーキテクチャを一致させるため、必要なアーキテクチャを追加していきます。

 

標準アーキテクチャの表示は

$ sudo dpkg –print-architecture
arm64

で確認することができ、「arm64」と分かります。

 

続いて、パッケージと同じアーキテクチャ「armhf」を追加します。

$ sudo dpkg –add-architecture armhf

 

追加したアーキテクチャの表示は

$ sudo dpkg –print-foreign-architectures
armhf

で確認することができます。

 

あとはアップデートとアップグレードで更新をかけます。

$ sudo apt-get update

$ sudo apt-get upgrade

 

このタイミングで

$ gpio -v

でWiring Pi のバージョンを再度確認しておき、wiringpi 2.50なら、latest.debをインストールし直してみます。

 

また、gpio -v等で、wiringpiのパッケージがなくなっていたら、インストールし直してください。

 

この辺りがまだ私も勉強不足で、理解していないのですが、上手くいくとlatest.debのインストールが通り、WiringPi 2.52がインストールされます。

(Ubuntu 20.04をインストールしたRaspberry Pi 4を2つ使って再現性を試したのですが、どちらもあるタイミングでWiringPi 2.52になっていました)

詳しい方は是非ご教授お願い致します。

 

※ WiringPi インストール時に、必要のないディレクトリが増えてしまったら

$ sudo rm -rf ディレクトリ名

でディレクトリを削除しましょう。

 

WiringPiをPythonで使えるようにする

上記でWiringPi 2.52をインストールできたら、Pythonでインポートして使えるようにします。

 

pip3でwiringpiをインストールする

git cloneとかでもできるらしいのですが、私はpip installが慣れているので

$ sudo apt install python3-pip

 

ubuntu_wiringpi_05

 

でPythonパッケージをpipでインストールできるようにします。

 

pipでインストールできるようになったら、

GitHub:WiringPi-Python

にある通り

$ pip3 install wiringpi

でwiringpiをインストールしましょう。

 

インストールできたら、準備OKです。

 

Python3コマンドで確認

コマンドに

$ python3

と打ち込み、Python3のスクリプトを表示します。

 

ubuntu_wiringpi_08

 

 import wiringpi

と打ち込み、インポートできていればOKです。

 

スクリプトを終了する場合は

Ctrl + d

をクリックします。

 

UbuntuにwiringpiをインストールしてGPIOを使えるようにする記事が少ないため、時間がかかるかもしれませんが、この記事が参考になれば幸いです。

 

その他、参考にしたサイト

Qiita:Raspberry Pi & Ubuntu18.04でGPIOを使う

 

 

お疲れ様でした。

ubuntu-wiringpi-raspi-thumbnail
学びに関する情報をチェック!