yutaponのブログ

javascript界隈の興味あるネタを備忘録的に残しておく場所

MacでRaspberry PiにNode.jsをインストールする

Raspberry Piが届いたので早速Node.jsを入れてみました。

Raspberry Piとは

Raspberry Pi - Wikipedia
簡単に言うと、すごく小さいLinux系PCです。
PCなのに$35と安価で、メインとしては使いにくいですが
ちょっとしたタスクを任せるには適しています。

前回、MacのNode.jsとArduino間をUSBケーブルでつないで
シリアル通信しましたが、今度はRasberry PiにNode.jsを入れて
Arduinoとシリアル通信しようと思います。

その準備として、Raspberry PiにNode.jsを入れるまでを説明します。

Raspberry Piを買う

Raspberry PiにはmodelAとmodelBがあって、それぞれ$25, $35と価格差があります。
違いはインターフェースの数で、modelAにはEthernetがついてないのでmodelBを買いました。

modelBはAmazonで買うと4300円くらいですが、
正規のオンラインショップで注文すると3300円+送料460円で買えます。
(クレジットカード払い)

プロセッサ/マイクロコントローラ開発キット | プロセッサ/マイクロコントローラ開発キット – 半導体開発キット のオンライン販売| RSコンポーネンツ
 
これでボードは手に入るのですが、Raspberry Piを起動するためには
他にもいろいろと必要になります。
以下必要なものです。

  • 4GB以上のSDカード(OSを焼くときに必要)
  • microUSBケーブル(電源供給用)
  • Ethernetケーブル(ネットワーク接続用)
  • HDMIケーブル(初期設定時に必要)
  • HDMI入力のあるディスプレイ(初期設定時に必要)
  • USB接続のマウス(GUI操作したい人用。今回は使いません)

家の中探したら一通り合ったのでよかったですが、
ない人は準備しておきましょう。


SDにOSを焼く

Raspberry Pi用のOSが準備されているので好きなのを選んでダウンロードしておきましょう。
Downloads | Raspberry Pi

NOOBSってOSが勧められてます。起動時にOSを選べるんだとか。
そういう使い方はしないのでRaspbianを選びました。

Debian系のRaspbianかFedora系のPidoraを選ぶことが多い気がします。
Raspbianといえば数式処理ソフトのMathematicaが無償でバンドルされることになって話題になりましたね。
Mathematica - Wikipedia


SDにOSイメージを焼く方法はこちらを参考にしました。
RaspberryPi - MacでRaspberry PiにOSを入れるまでのやることリスト - Qiita

この通りやっていけばとりあえず大丈夫でした。
ddコマンドでOSをSDに焼くのに5分〜10分くらい待機するんですが、
コマンドを叩いた後なんの出力もされないのでじっと待ちましょう。


Raspbianを起動する

Raspberry Piは電源を入れる=起動なので、
電源ケーブルを繋ぐまえに周辺機器を接続しておきます。

ディスプレイとキーボードとLANケーブルとOS焼いたSDを繋いだら
電源ケーブルを繋ぎましょう。

黒い画面にパラパラと文字がでて、何か設定できそうな画面がでてきます。
この設定は後から変更できるので、とりあえずタブキー押してFinishを選びます。

ログイン待ちのプロンプトが表示されたら

  • id: pi
  • password: raspberry

でログインします。

GUIで操作したければログイン後に

$ startx

と、X Windowを立ちあげればUbuntuみたいに操作できます。

とりあえずログインできたらIPだけ確認しておきましょう。

$ ifconfig

私の環境では192.168.0.5がふられてました。
後々固定IPにするとして次に進みます。


MacからRaspberry PiにSSH接続する

Raspberry Piにたくさんケーブルをつけていると邪魔なので、
LAN経由でSSH接続して操作することにします。

iTermとかからSSH接続します。

$ ssh pi@192.168.0.5
pi@192.168.0.5's password:

...

pi@raspberrypi ~ $

パスワードを入力して無事SSH接続出来ました。
ここらへんは後々公開鍵認証にするとして、次に進みます。

とりあえずもろもろのアップデートをしておきます。

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get upgrade

結構時間かかりますがじっと待ちます。


Raspberry PiにNode.jsを入れる

こちらを参考に進めました。ほぼこの通りにやって問題無いです。
Raspberry PiでNode.jsを動かす - Qiita [キータ]

変更点といえばNode.jsのv0.10.xの最新を入れてみたくらいでしょうか。

nvmコマンドが使えるようになったら

$ nvm ls-remote

で利用可能なNode.jsのバージョンを確認して、好きなバージョンを入れましょう。

現時点で安定版の最新がv0.10.24だったので

$ nvm install v0.10.24

でインストールします。
ダウンロードしてビルドが完了するのに2時間くらいかかるので
根気強く待ちます。

ビルドが完了してプロンプトが表示されたら

$ nvm use 0.10

と、npmコマンドとかnodeコマンドが使えるようにします。

このままだとログアウトするたびにnvmコマンドとかnodeコマンドが
使えなくなるので、.bashrcの一番後ろに以下を追記します。

source ~/.nvm/nvm.sh
nvm use 0.10

追記するときにvimが入ってなかったので入れておきました。

$ sudo apt-get install vim

最後にNode.jsのバージョンを確認してインストールできたのを確認します。

$ node -v
v0.10.24




おわりに

Node.jsが動くので前回のプログラムも動くはずなんですがどうなんでしょう。
次はRaspberry PiからArduinoを制御するのをやりたいですね。

ちなみに今回は4GBのSDカードを使っています。
他に使い道がなかったのでこれにしちゃいましたが、
apt-get installするたびに容量が気になります・・。

ここまでの作業でどのくらいの容量を使っているかというと、
こんな感じでした。

pi@raspberrypi ~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          3.6G  2.1G  1.4G  60% /
/dev/root       3.6G  2.1G  1.4G  60% /
devtmpfs        212M     0  212M   0% /dev
tmpfs            44M  232K   44M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            88M     0   88M   0% /run/shm
/dev/mmcblk0p1   56M   19M   38M  34% /boot

あと1.4GBしか残ってない・・。
4GBで十分かもですが、8GBくらいのSD使うと容量気にせず使えそうです。