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

  • 33
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

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