0%

Rapsberry PiにNode.jsをインストールしてCylon.jsでLチカする

Raspberry Piにapt-getからNode.jsをインストールすると古いバージョンになります。ARMでNode.jsをソースからビルドするのは大変(Error compiling v0.10.30 on Raspberry Pi Model B)なのでビルド済みのバイナリからインストールします。node-armのサイトではv0.10.36の最新バージョンまで公開されていますが、今回はNode.jsからarm-piのバイナリをダウンロードして使います。

Node.jsのインストール

Node.jsに公開されているarm-piはWhy no more arm-pi binary release at http://nodejs.org/dist/ ?にissueがあるように手動で公開しているようです。v0.10.28が最新でした。ビルド済みのバイナリをダウンロードして/opt/nodeにインストールします。

$ wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz
$ tar zxvf node-v0.10.28-linux-arm-pi.tar.gz
$ sudo mv node-v0.10.28-linux-arm-pi /opt/node

環境変数PATHにNode.jsを追加します。

$ vi /home/pi/.bashrc
export PATH=/opt/node/bin:$PATH
$ source ~/.bashrc

バージョンを確認します。

$ node -v
v0.10.28
$ npm -v
1.4.9

sudoでnpmコマンドが実行できるようにシムリンクを作成します。

$ sudo ln -s /opt/node/bin/node /usr/bin/node
$ sudo ln -s /opt/node/bin/npm /usr/bin/npm

Cylon.jsでLチカ

まずはプロジェクトを作成します。

$ mkdir -p ~/node_apps/mqtt-led
$ cd !$

package.jsonに、Raspberry Piアダプタのcylon-raspiを追加します。

~/node_apps/mqtt-led/package.json
{
"name": "mqtt-led",
"version": "0.0.1",
"private": true,
"dependencies": {
"cylon-raspi": "0.15.0"
},
"scripts": {"start": "node app.js"}
}

npm installします。

$ npm install

Cylon.jsのRaspberry Piのページにあるサンプルを実行します。

~/node_apps/mqtt-led/app.js
var Cylon = require("cylon");

Cylon.robot({
connections: {
raspi: { adaptor: 'raspi' }
},

devices: {
led: { driver: 'led', pin: 11 }
},

work: function(my) {
every((1).second(), my.led.toggle);
}
}).start();

npm startをroot権限で実行するとLチカが始まります。

$ sudo npm start