2013年8月2日金曜日

Raspberry Pi と Node.js でLチカ

 AmazonからInterface 9月号が届いたので、前回の続きを試して見ることにします。Interface 9月号の特集の6章にRaspberry Piでの記事があり、やはり、node.jsでのIO制御の記事でしたが、Interfaceの記事ではv0.10.12をインストールしていたので、前回、v0.8.11をインストールしたんですが、v0.10.12に変えることにしました。バージョンアップの方法がわからないので、とりあえず、既存の node_modules フォルダを適当な名前にリネームした後、

   wget http://nodejs.org/dist/v0.10.12/node-v0.10.12.tar.gz
   tar -zxf node-v0.10.12.tar.gz
   cd node-v0.10.12
   ./configure
   make
   sudo make install

として、上書きしてしまいました。

   node -v

で v0.10.12 と表示されるので、多分大丈夫?でしょう。

 npmで追加パッケージをインストール。

   npm install connect
   npm install socket.io
   npm install websocket.io
   npm install express

 前回、WebSocketと思って socket.io をインストールしたんですが、これは間違いで、socket.io と websocket.io は別です。WebSocketはwebsocket.ioを入れないといけなかったみたい。今回は両方入れときます。

 記事にしたがって、チュートリアル的に進めていって、とりあえず、Lチカまでは成功。node.jsのサーバサイドJavaScriptでgpio操作を書いたシェルスクリプトを実行する形でブラウザ→Lチカと連携するという内容でした。実際のソース等は雑誌の内容になってしまうので載せられませんので、雑誌を見るか、あるいは、こちらのブログ等が参考になるのではないでしょうか。Google+の電子工作コミュで教えてもらったんですが、色々興味深い内容です。自分もこれからこちらのブログを参考にさせて頂いて勉強しようかと思っています。

 ところで、node.jsなんかだと、node-inspectorとかGUIデバッガがWebブラウザ(デバッグ対象のRaspberry Piをサーバにして)で利用できる仕組みがあったりします。あるいは、Cloud9というIDEなんかもあったりします。こういうような仕組みでRaspberry Piの開発を外部のブラウザでできたらいいのにな、と思ったんですが、調べてみたところ、ちょっと気になるものを発見。Ada姉さんのところで、adafruit WebIDEというものがベータ版として公開されています。こちらは、Pythonの開発をRaspberry Pi上で動かしているサーバに対して、外部PCからブラウザ上で行えるIDE環境のようです。さすが、Ada姉さん。こちらも面白そう。