Raspberry PiでNode.jsを動かす

Raspberry Piとは

本家はココを参照。Wikipediaの方がわかりやすいかも。簡単に言えばARM11搭載の小型コンピュータで、主に教育向けとなっています。価格は$35で3000円ちょっとで買える手のひらPCと言った感じです。OSはDebianをカスタマイズしたものとなっています。今回はこのボードにNode.jsを載せてexpressのひな形を動かしてみました。

f:id:tomo_watanabe:20130103021854j:plain

インストール

インストールはここを参考にしました。2013/1/3現在最新のイメージは2012-12-16-wheezy-raspbian.zipとなっています。これをダウンロードして解凍し、ddコマンドなどでSDカードに書き込みます。初回起動時にキーボードとHDMI出力でモニタを接続し、SDカードの拡張とsshの有効化は忘れないで行なっておきます。起動完了してログインができるようになったら、sshでログインして進めて行きましょう。

環境構築手順

環境を構築する手順ですが、以下のように進めていきます

  1. gitのインストール
  2. nvm (Node Version Manager)のインストール
  3. Node.jsのインストール(v0.8.16)
  4. npm(Node Package Manager)のインストール
  5. expressのインストール

1. gitのインストール

$ sudo apt-get install git-core

2. nvmのインストール

gitが使えるようになったので、nvmをインストールします。インストール後にsourceコマンドでnvmを有効にします。

$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ source ~/.nvm/nvm.sh

3. Node.jsのインストール

nvmが使えるようになったので、Node.jsをインストールします。今回はv0.8.16をインストールします。(v0.8.15はビルドでエラーが出ました)

$ nvm install v0.8.16

ビルドにおよそ2時間以上掛かりますので、休憩するなりしましょう(^^;

ビルドが終ったらちゃんとインストールできたか確認しておきましょう。下記のようにv0.8.16が選択されていればOKです。

$ nvm ls
    v0.8.16
current:      v0.8.16

4. npmのインストール

$ sudo apt-get install npm

5. expressのインストール

アプリケーションフレームワークを-gオプションでグローバルインストールします

$ sudo npm install express -g

これで、環境構築は終わりです。

expressサンプルアプリを動かす

ではさっそくサンプルのひな形を動かします。今回は-eオプションでテンプレートエンジンにEJSを指定しています。

$ express -e sample

   create : sample
   create : sample/package.json
   create : sample/app.js
   create : sample/public
   create : sample/public/javascripts
   create : sample/public/images
   create : sample/public/stylesheets
   create : sample/public/stylesheets/style.css
   create : sample/routes
   create : sample/routes/index.js
   create : sample/routes/user.js
   create : sample/views
   create : sample/views/index.ejs

   install dependencies:
     $ cd sample && npm install

   run the app:
     $ node app

$ cd sample && npm install

さて、あとは実行するだけです。ifconfigで予めRaspberryPIのIPアドレスを調べておいて下さい。

$ node app.js

これで、ブラウザから"RaspberryPIのIP"の3000ポートでアクセスして、下記の画面が表示されればOKです。

f:id:tomo_watanabe:20130103020445p:plain

まとめ

いつものように扱うのが面倒な組込みボードかと思いきや、Raspberry Piは普通のPCでした。最初に使う時は、起動したときにマウスとキーボードを繋いでログイン後に$ startx でX Windowが普通に起動して「おおっ!」となりました。この性能の小型ボードが3000円程度で入手できるとは・・・凄い時代になったものです(^^; 学習用キットとしても優秀な出来だと思います。Node.jsを動かすのも特別なことはなく、以前Ubuntuにインストールした時とほぼ同じ手順でできました。

次回は、この延長でSocket.IOを動かしてみたいと思います。