ということで、何をするにしても学びながらという形になります。
さてさて、本日は「WebIOPi」から導入いたしましょう。
WebIOPiは、まさにRaspberry Piらしいソフトといえます。
パソコンやスマホからブラウザ越しにRPiのGPIOを制御できるという機能を提供してくれます。
いろいろなことができそうですね。
この、「できそう」というところがおもしろさであり、難しさなのだなあと感じています。
機能のテストとしては、よく「Lチカ」と呼ばれるLEDの点滅などを行ったりしますが、生活の役には立ちませんわねえ。それ自体がおもしろいという現象でもないし。
使い方、応用が伴わないと「芸」にはならない訳です。
そういいつつ、まずは使えるようにならないと始まりません。文句を言わずに、導入しましょう。
WebIOPiはソースプログラムをダウンロードして、コンパイルしなければなりません。
作業は、基本的に「Raspberry Piで遊ぼう!」(ラトルズ刊)の内容に沿って進めました。
まずはソースプログラムをダウンロードします。
「~遊ぼう!」では、
からダウンロードするように記載されていますが、
- 2014年4月12日現在のバージョンは、「0.7.0」になっており、
- ダウンロードサイトは「sourceforge」に変わっています。
よって、ダウンロードのやり方は、
という形になります。
で、ダウンロードした圧縮ファイルを解凍します。
$ tar xvfz WebIOPi-0.7.0.tar.gz
解凍すると、「WebIOPi-0.7.0」というディレクトリが作られますので、そこに移動します。
$ cd WebIOPi-0.7.0
続けて、セットアップスクリプトを実行してインストールを行います。
$ sudo ./setup.sh
WebIOPiを起動するには、
$ sudo /etc/init.d/webiopi start
RPiの起動時に、自動的にWebIOPiを起動するには、
$ sudo update-rc.d webiopi defaults
とします。
Windowsでいえば、「スタートアップ」に登録するような感じですね。
$ hostname -I
と打ち込むと、RPiのローカル・アドレスが表示されますので、PCからはブラウザにそのアドレスを打ち込むことで、アクセスができます。
PCからRPiに接続すると、RPiのGPIOピンを「IN」⇔「OUT」に切り替えたり、「ON」と「OFF」を切り替えたりすることができます。
しかし、リアルタイムに手作業で切り替えるだけでは実験の領域を出ません。
実用に堪える機能にするには、自動で切り替えるプログラムを組むことになります。
そのために「REST API」という機能が用意されており、JavaScriptから制御ができるようになっています。
JavaScriptを利用すれば、PCからでもスマホからでも同じやり方でRPiを制御することが可能になります。
便利そうですね。
わがRas2-D2プロジェクトに当てはめると、スマホからRas2の走行を制御したり、赤外線リモコン機能を使うということができそうです。
なるほどねえ。
これはすべて個人のお勉強である。