水瓶座列車

どこまで行けるか、とりあえず発車します。

Raspberry Pi (ラズパイ) でgpio readallが失敗する時の対処方法

f:id:aquarius999:20201102230146p:plain

 

RaspberryPi 4B(以下ラズパイ4B)を購入しましたので、

GPIOピン割り当てを確認したいと思い、gpio readallというコマンドを打ちました。

ところが、

「Oops  ‐  unable to determine board type…  model:  17」

とエラーが出て確認できなかったのです。 

f:id:aquarius999:20201102230342p:plain

 

gpioコマンドがラズパイ4Bを認識していないようです。

 

早速ですがエラーの原因は、WiringPiライブラリが古いからでした。

何故かというと、ラズパイ4Bを購入した際にプリインストールしてあるSDカードを

アップデートせずにそのまま使ってコマンドを打ったからだと思います。

なので、WiringPiライブラリをアップデートすればエラーが出なくなりました。 

 

WiringPi以外のライブラリも古いはずなので、最初に 

$ sudo apt-get update
$ sudo apt-get upgrade

でソフトウェアアップデートしてみたのですが、これではダメでした。

そもそもWiringPiは、apt-getでは更新できないようです。

 

本題のWiringPiのアップデートのやり方は、WiringPiのサイトにもありますが、

$ cd /tmp
$ wget https://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb

を実行するとWiringPiが更新され、gpio readallが実行できるようになります。

簡単に説明すると、/tmpにwgetコマンドでwiringpi-latest.debファイルをダウンロードしてきて、

dpkgコマンドでWiringPiを更新しています。まあ、そのままですね。

ちなみにファイルのダウンロードは、/tmpでなくても大丈夫です。

 

f:id:aquarius999:20201102230506p:plain


更新前のgpioコマンドのバージョンは、2.50でしたが、

更新後バージョンが2.52にアップデートされラズパイ4Bが認識されるようになり、

gpio readallが表示されるようになりました。

 

この記事ではラズパイ4Bでしたが、

ラズパイ3B+でもプリインストールされているものを使用していてエラーが出る場合は、

WiringPiライブラリのアップデートを行えばエラーが解消されると思います。

 

 

<関連・おすすめ記事>

Raspberry Pi (ラズパイ)の購入後すぐにやっておきたい設定を解説 - 水瓶座列車

Raspberry Pi(ラズパイ)のOSをバックアップ・リストアする方法 - 水瓶座列車

組み込み知識の「割り込み」について簡単解説 - 水瓶座列車

組み込み知識の「GPIO」について簡単解説 - 水瓶座列車

Raspberry Pi 3B+ のGPIOピン割り当ての解説 - 水瓶座列車

RaspberryPi(ラズパイ)でカメラを使ってストリーミング配信する手順 - 水瓶座列車

RaspberryPi 3B+でLEDの点灯・消灯・点滅のやり方 - 水瓶座列車

LCD1602(I2C)を制御する方法を解析調査した結果まとめ - 水瓶座列車

Raspberry Pi (ラズパイ)で役に立つ書籍のおすすめランキングベスト5 - 水瓶座列車