LoginSignup
4
3

More than 1 year has passed since last update.

WiringPi 2.70をRaspberry Pi OS(Bullseye)にインストールとLチカ、Busterにも

Last updated at Posted at 2023-03-31

はじめに

 WiringPiは自営ICTコンサルタントのG.Henderson氏によって作成されたRaspberry Pi用のGPIO インタフェースライブラリで、GNU LGPLv3 というフリーソフトウェアライセンスとして公開されています。フリーソフトウェアラインセスとは、無料で使用できますが不具合が発生した場合は(基本的に)ユーザーの自己責任となるのですが、G.Henderson氏への問合せのemailがあまりに多く、本業に支障を来したためWiringPiのバージョン2.52で公開を停止する旨がWiringPiのWebページにポストされました。なお、2023年3月30日時点ではそのポストは削除されています。WiringPi2.52はBullseyeの32bitOSでは動作するのですが、64bitOSではインストール時にエラーが発生して使用できません。
 その後、contributorsによってGitHubにWiringPiのUnofficial Mirror/Forkサイトが立ち上がり、G.Henderson氏のWiringPiの開発を継承する主旨が明記されています。UnofficialとしているのはG.Henderson氏個人に迷惑をかけいない配慮にも思えます。(contributorsの中にG.Henderson氏の名前があります。)また、Discordチャットアプリを使用してWiringPiのコミュニティが形成されて、意見や相談の受け皿になっています。
image.png
https://github.com/WiringPi/WiringPi
 今回、WiringPi2.70を64bit版OS Bullseyeにインストールして、取り敢えずLチカで動作確認できたので報告します。32bit版のOSでも同じ手続きで動作確認できました。

使用したもの

・Raspberry Pi 4B
・Raspberry Pi OS(Bullseye) 32bitまたは64bit リリース2023-02-21
・microSDカード 容量16~64GB、Class10。
・microSDカードリーダー 
・Lチカ用電子部品一式
ImagerでSDカードにOSをセットアップする方法は下記を参照してください。記事は1年以上が経過していますが操作方法は同じで、メニューからBullseye OSを選択してください。
https://qiita.com/tamamori/items/da96cc3352159be12423

WiringPiのインストールの方法

 LXTerminal(ターミナル)を起動して、GitHubからダウンロードしてインストールします。あらかじめ、Raspberry Piをインターネットに接続して、リソースをダウンロードできるようにします。

//GitHubからダウンロードします。
$ git clone https://github.com/WiringPi/WiringPi.git
//WiringPiのディレクトリが作成されたことを確認します。
$ dir
Bookshelf  MyApp     ダウンロード  ドキュメント  音楽  公開
Desktop    WiringPi  テンプレート  ビデオ	 画像
//作成されたWiringPiのディレクトリに移動。WiringPiのWが小文字のときがありました。
$ cd WiringPi
//ソースコードをビルドします。途中ワーニングが数カ所表示されますが、All Doneになります。
$ ./build
//バージョンを確認します。
$ gpio -v
gpio version: 2.70

アンインストールの方法

WiringPiをアンインストールする場合は次の手順です。

$ cd WiringPi
$ ./build uninstall

Lチカの回路図

 ブレッドボード等に下記のLチカの回路を組み立てます[1]。ここではGPIO23を使用します。
image.png

Lチカのソースコード

ホームディレクトリに適当なディレクトリを作成して移動し、Lチカのソースコードを作成して保存します[1]。

List4-1_Led01.c
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
#define LED0 23				
int main (void){
	wiringPiSetupGpio();			
	pinMode(LED0, OUTPUT);		
	for(;;){						
		digitalWrite(LED0,HIGH);	
		delay(500);				
		digitalWrite(LED0, LOW);	
		delay(500);
	}
	return EXIT_SUCCESS;
}

コンパイルと実行

$ gcc -Wall -o List4-1_Led01 List4-1_Led01.c -lwiringPi -O0
$ ./List4-1_Led01
//実行の終了はctrlとCを同時に押します。

image.png

おわりに

 今回はLチカしか確認していませんが、不明があればWiringPiのDiscordチャンネルをご利用ください。
For support, comments, questions, etc please join the WiringPi Discord channel: https://discord.gg/SM4WUVG
image.png

補足:旧OS BusterにWiringPi 2.70をインストールする場合

Bullseyeの一つ前のバージョンであるBusterにも、WiringPi2.70をインストールできます。BusterにはあらかじめWiringPi2.50が含まれていることがあるので、古いWiringPiをアンインストールする必要があります。なお、WiringPiがインストールされているかどうか確認する方法は、ターミナルから「$ gpio -v」と入力して、WiringPiのバージョンが表示されたらインストールされています。また、gpioコマンドが無効の表示ならインストールされていません。下記の手続きで、古いWiringPiをアンインストールしてから、WiringPi2.70をGitHubからダウンロードしてインストールしてください[2]。

WiringPi 2.5x アンインストール
//purgeコマンドは、パッケージとそのパッケージの環境設定をすべて削除
$ sudo apt purge wiringpi -y
//ハッシュテーブルに記憶しているパス情報を消去
$ hash -r

Reference

[1] 菊池達也,"C言語ではじめるRaspberry Pi徹底入門",技術評論社,pp.68-72,(Apr.2020)
[2] Download and Install,http://wiringpi.com/download-and-install/

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3