LoginSignup
29

More than 5 years have passed since last update.

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

Posted at

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29