ここでは「Ubuntu 20.04 LTS」に「WiringPi」をインストールして、GPIOピンを使えるようにする方法を紹介します。
この記事を読むことで
UbuntuにWiringPiをインストールする方法
Ubuntu内のPythonでWiringPi使えるようにする方法
WiringPiのインストールで苦戦した箇所
を知ることができます。
Raspberry Pi 4で GPIO制御 がしたい!
という方はぜひご覧ください。
それでは早速、始めていきましょう。
Ubuntu20.04 にWiringPiをインストールする
WiringPi 2.50をインストールする
まずはデフォルトでインストールできるWiringPi 2.50をインストールしていきます。
$ sudo apt-get install wiringpi
$ sudo apt install python3-rpi.gpio
インストールが終わったら、取り敢えずバージョンと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
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へバージョンアップする必要がある。 とのこと。
そのため、上記リンクに示されているコマンドを実行していきます。
でカレントディレクトリを /tmp へ移動し
wgetコマンドよりURLを指定して
.debパッケージをインストールします。
上手くできれば
でWiring Pi のバージョンが2.52となっていることが確認できます。
WiringPiのバージョンが2.52になっていれば
で見慣れたGPIOの表が表示されます。
ここまでできれば、WiringPiをPythonで使えるようにするだけです。
Wiring Pi インストール時のエラーハンドリング
上記で、WiringPiをUbuntuへインストールする手順を紹介しましたが、インストール中にエラーが生じることもありました。
なので、そのエラーハンドリングとして私なりの対処方法をメモとして残しておきます。
Ubuntuにwiringpiをインストールする方の力になれれば、幸いです。
(私はUbuntuにwiringpiをインストールするのに半日もかかってしまったので💦)
アーキテクチャのエラー
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.
というアーキテクチャのエラーが発生することがあります。
これは
・システムのアーキテクチャ(arm64)
が一致していないため、生じるエラー
になります。
従って、アーキテクチャを一致させるため、必要なアーキテクチャを追加していきます。
標準アーキテクチャの表示は
arm64
で確認することができ、「arm64」と分かります。
続いて、パッケージと同じアーキテクチャ「armhf」を追加します。
追加したアーキテクチャの表示は
armhf
で確認することができます。
あとはアップデートとアップグレードで更新をかけます。
$ sudo apt-get update
$ sudo apt-get upgrade
このタイミングで
で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 インストール時に、必要のないディレクトリが増えてしまったら
でディレクトリを削除しましょう。
WiringPiをPythonで使えるようにする
上記でWiringPi 2.52をインストールできたら、Pythonでインポートして使えるようにします。
pip3でwiringpiをインストールする
git cloneとかでもできるらしいのですが、私はpip installが慣れているので
でPythonパッケージをpipでインストールできるようにします。
pipでインストールできるようになったら、
にある通り
でwiringpiをインストールしましょう。
インストールできたら、準備OKです。
Python3コマンドで確認
コマンドに
と打ち込み、Python3のスクリプトを表示します。
と打ち込み、インポートできていればOKです。
スクリプトを終了する場合は
をクリックします。
UbuntuにwiringpiをインストールしてGPIOを使えるようにする記事が少ないため、時間がかかるかもしれませんが、この記事が参考になれば幸いです。
その他、参考にしたサイト
Qiita:Raspberry Pi & Ubuntu18.04でGPIOを使う
お疲れ様でした。