Raspberry Pi+PHPでLチカする(環境構築編)

前回は、Lチカするための準備(というかRaspberry Piの準備)をしました。

今回は、PHPでGPIOをいじれるようになるまでを設定したいと思います。

WiringPiのインストール

Linuxで汎用的にGPIOをイジれる方法として、一番手っ取り早いのが、デバイスファイルに値をリダイレクトする方法。例えば

ここみたいな方法。

ただ、これは最高に面倒なので、普通はWiringPiってのを使います。

普通、マイコンとかでI/Oをイジるためには、CPU内のレジスタに値を書き込む必要があります。これをガリガリ書いても良いのですが、それはやっぱり面倒だと言う人のために、このWiringPiってのがあるわけです。

Gitからクローンしてビルド・インストールする

WiringPiはaptに無いので、GitからCloneしてゴニョゴニョする必要があります。まずはGit本体と必要なライブラリを

apt-get install libi2c-dev git-core

でインストールします。

その後、適当なディレクトリで

git clone git://git.drogon.net/wiringPi

できたディレクトリに移動して

./build

最初にsudoのパスワード聞かれる以外は、ほっといたら終わります。昔MPlayerのビルドに苦労しまくったのが嘘みたいに、最近のビルドは簡単です。

WiringPi-PHPのインストール

PHPには、サーバーのシェルコマンドを実行できるexec関数があり、これでWringPiのコマンドを実行すれば、一応「PHPでGPIOを叩く」という目的は達成できます。

ただ、これではあまりにも簡単すぎるので、今回はWringPiのPHPラッパーである、WiringPi-PHPをインストールしたいと思います。

これを使用すれば、PHP内でWiringPi関連の関数を使用することができます。

早速インストール!と行きたかったのですが、なんだかmakeすると大量のエラーが・・・。

色々と調べてみると、どうやらPHP7ではうまく動かないらしいです。

PHP5をインストールすれば良いのですが、すでにサポート切れのバージョンを使っても将来性がありません。

どうもSwig周りの仕様がだいぶ変更されたらしく、自力ではどうにもならないかなと。

GUIを手っ取り早く作りたかっただけなので、とりあえずPHPのラッパーは諦めて、他の方法で適当に実装することにします。

最悪、WiringPiのコマンドを直接PHPで叩く事になるかもしれません。それか、Cで書いたモジュール的な小さいプログラムをコンパイルして、それをPHPから叩いて、戻り値を使って何かするか・・・。

まとめ

WiringPi-PHPはインストールできませんでしたが、とりあえずWiringPiを使って、CかコマンドラインからGPIOを叩く準備はできました。

次回以降では、いよいよLチカするプログラムを書いていこうと思います。

せっかくなので、ボタンを押したらLEDのON/OFFが変わるプログラムでも書こうかな。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください