Raspberry Piとは
本家はココを参照。Wikipediaの方がわかりやすいかも。簡単に言えばARM11搭載の小型コンピュータで、主に教育向けとなっています。価格は$35で3000円ちょっとで買える手のひらPCと言った感じです。OSはDebianをカスタマイズしたものとなっています。今回はこのボードにNode.jsを載せてexpressのひな形を動かしてみました。
インストール
インストールはここを参考にしました。2013/1/3現在最新のイメージは2012-12-16-wheezy-raspbian.zipとなっています。これをダウンロードして解凍し、ddコマンドなどでSDカードに書き込みます。初回起動時にキーボードとHDMI出力でモニタを接続し、SDカードの拡張とsshの有効化は忘れないで行なっておきます。起動完了してログインができるようになったら、sshでログインして進めて行きましょう。
環境構築手順
環境を構築する手順ですが、以下のように進めていきます
- gitのインストール
- nvm (Node Version Manager)のインストール
- Node.jsのインストール(v0.8.16)
- npm(Node Package Manager)のインストール
- 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です。
###まとめ###
いつものように扱うのが面倒な組込みボードかと思いきや、Raspberry Piは普通のPCでした。最初に使う時は、起動したときにマウスとキーボードを繋いでログイン後に$ startx でX Windowが普通に起動して「おおっ!」となりました。この性能の小型ボードが3000円程度で入手できるとは・・・凄い時代になったものです(^^; 学習用キットとしても優秀な出来だと思います。Node.jsを動かすのも特別なことはなく、以前Ubuntuにインストールした時とほぼ同じ手順でできました。