ブラウザから、ラズベリーパイのGPIOを操作できる「WebIOPi」を試してみた!
以前から試そうと思って、なかなか出来ていなかった「WebIOPi」をようやく触ってみたのでログ代わりに残しておきます。
「WebIOPi」を使うと、PCやスマホのブラウザからラズベリーパイのGPIOを簡単に操作することが出来るようになり、画面のUIなども自作できるので非常に便利かと思います。
今回は、ひとまずLEDの点灯までトライしてみたいと思います!
準備すること!
ブラウザから、ラズベリーパイのLED点灯までをやりたいので、まずは以下のような構成でトライしようと思います。
・ラズベリーパイ(B+)
・ブレッドボード
・ジャンパーワイヤ2本(オス・メス)
・抵抗(220Ω)
・LED
私のラズベリーパイは、Wi-FiでMacbookと連携しているのですが、基本的にラズベリーパイのコンソール画面で作業できれば、どんな環境でも問題ありません。
(参考)
MacbookとラズベリーパイをWi-Fiで接続する方法|うえぶまなぶ
あとは、「LED点灯」できるように回路を組んでおきます。
※今回は、GPIO25番を出力にしてます。
「WebIOPi」の事前準備!
それでは、早速「WebIOPi」をラズベリーパイにインストールして使ってみます。
最初に、公式の「ダウンロードページ」にある最新版のリンクを取得しておきます。
その後、ラズベリーパイのコンソール画面で、「wget」コマンドと先ほどコピーしたリンクを貼りつけて実行します。
$ wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz/download
※URLはバージョンアップによって変わるので、コピーしたリンクを使ってください
すると、「download」という圧縮ファイルが生成されるので解凍します。
$ tar xvzf download
そして、WebIOPiのフォルダに入り、「setup.sh」を実行します!
$ cd WebIOPi-0.7.1/
$ sudo ./setup.sh
途中で「Do you want to access WebIOPi over Internet? [y/n]」という確認メッセージが表示されますが「n」でパスして問題ありません。
これは「Weaved」という別のWebサービスと連携するために用意されているので、今回は実行する必要はありません。
(※あとからでも実行は可能です…)
ここまでくれば、とりあえず「WebIOPi」を使うための準備はOKです!
ブラウザから「GPIO」を操作してみよう!
早速、起動してみましょう!
$ sudo /etc/init.d/webiopi start
これだけで、ブラウザからラズベリーパイにアクセスできるようになります。
アクセス方法は、PCかスマホのブラウザで【ラズベリーパイのIPアドレス】と「ポート番号」を指定すればOKです!
http://IPアドレス:8000
例: http://192.168.0.4:8000
※ポート番号は、デフォルトで「8000」になっています。
初回のアクセスだけ認証が必要で、デフォルトは以下の通り。
user: webiopi
password: raspberry
これで、以下の画面が表示されていれば成功なので、「GPIO Header」をクリックしてみましょう。
すると、「GPIO」のGUIが表示されます。
そこで、「LED点灯」を行うために、「GPIO25番」のピンを「OUT」にし、ピン番号をクリックして「オレンジ色」にしてみましょう!
いかがでしょう?
これで、ブラウザからラズベリーパイのLEDが点灯できるようになりました!
(※LEDの消灯は、再度「22」のオレンジ色をクリックします)
最後に、終了する場合は「WebIOPi」を止めておきましょう。
$ sudo /etc/init.d/webiopi stop
これで、ブラウザからのアクセスは出来なくなります。
まとめ
とりあえず、ブラウザからラズベリーパイを動かせそうな段階まで来たので、近いうちに「画面UI」などを作って操作してみたいと思います。
さまざまなライブラリが公開されていますが、公式サイトにもJavaScriptライブラリなどが用意されているようです。
(参考)
「WebIOPi」公式サイト
「ラズベリーパイ活用記事まとめ」