株式会社インデペンデンスシステムズ横浜

システム開発エンジニアの西田五郎が運営しております。Raspberry Pi や Arduino その他新規開発案件のご依頼をお待ちしております。

Node.js Raspberry Pi

Raspberry PiでのNode.jsの導入(その1)インストールと動作確認

投稿日:2015年2月28日 更新日:

Node.jsとは、Node.js 日本ユーザグループのサイトから引用させて頂きますと、「Node.jsは高速でスケーラブルなネットワークアプリケーションを 簡単に構築するためにChrome の JavaScript 実行環境 上に構築されたプラットフォームです。」とあります。サーバサイドのJavaScriptの代名詞とも言えるかと思います。

このNode.jsをRaspberry Piで導入して使ってみます。Web系でサーバサイドということでは伝統的にはApache等のHTTPサーバを導入してということになるかと思いますが、Raspberry Piの性能(ここではModel B+です)を考えると動作が軽い方が適しているので Node.jsを使ってみることにしました。今回はインストールと動作確認です。

nodebrewでのインストール
Node.jsのインストールにはいろいろな方法があるようです。またバージョンアップが頻繁に行われているためなのかバージョン管理の方法も複数あるようです。ここでは簡単と思われたnodebrewというバージョン管理ツールを使いました。その方法です。

nodebrew自体のインストール
以下のGitHubサイトの通りです。
$ curl -L git.io/nodebrew | perl – setup
以下はTeraTermでのスクリーンショットです。以降、同様にTeraTermでのスクリーンショットです。
0001
パスの追加の指示があるので追加します。ここでは、.bashrcの最後に追記して、.bashrcの再読み込みを実行しました。
0002
0003

以上でnodebrew自体のインストールは完了です。確認の意味で nodebrew ls-remoteと実行しますと以下のようにnode.jsのバージョンの一覧が表示されます。
0005

node.jsのインストール
次にnode.jsのインストールです。まずインストールの方法ですが、バイナリインストールとビルドインストールがあります。バイナリインストールの方が速いですが、バージョンによってはRaspberry Pi用のバイナリファイルがない場合があるようです。バージョンに制約があって仕方がない場合はビルドインストールを使い、制約がない場合はバイナリファイルが存在するバージョンをインストールするという方法が現実的とも思います。(※ここではビルドは1時間以上経過しても完了しなかったのでやめました。)

ここでは以下のようにインストールしました。
$ nodebrew install-bainary 0.11.0

以下のスクリーンショットでは、v0.11.16をインストールしようとして見つからなかったのでv0.11.0で実行しています。(※その間のバージョンは試していないです。)
0003

インストールが完了してもまだnode.jsは使えません。(※スクリーンショットの状態です。)node.jsのバージョンを以下のように設定します。
$ nodebrew use 0.11.0
0008
以上でnode.jsのインストールも完了です。

これで以下のスクリーンショットの状態のように、node -vでバージョンが確認出来ます。これでnode.jsが使えます。
0004

node.jsの動作確認
やはりHelloWorld的なスクリプトを実行してみます。Node.js 日本ユーザグループのサイトから引用させて頂きます。

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

これをexample.jsに保存して、node exampleと実行します。
0009

ここではそのままlocalhost上での実行となっているのでリモートデスクトップから以下のように確認出来ました。
0012

今回はここまでとします。次回はもう少しWebサーバ的なプログラムを作ってみます。


AdSense

AdSense

-Node.js, Raspberry Pi

執筆者:

関連記事

Raspberry Piでセンサネットワーク稼働試験(基本編)構成・課題等

Raspberry Piでセンサネットワークを構築して実際に稼働してみます。基本編としてRaspberry Piにセンサを直接接続する構成です。その構成で安定して稼働させるにはどういった課題があるか書 …

Raspberry PiでIoT(MQTTで遠隔操作編 その3)Raspberry PiのGPIOとHeroku連動Sub編

Raspberry PiでIoT MQTTで遠隔操作編の3回目です。2台のRaspberry Piでインターネット経由でGPIOを操作するというテーマで書いています。前回はHerokuでMQTT Br …

温度センサADT7410(その1)i2C通信とは

温度センサのADT7410を使ってみます。ADT7410はアナログ・デバイセズ社の製品ですが、実際には以下の秋月さんのモジュールを使います。 ADT7410使用 高精度・高分解能 I2C・16Bit …

Kivyでの画面遷移(Screen Managerの使い方)について

Raspberry Piの環境でKivyを使っています。今回は画面遷移についてです。その画面遷移のためにScreen Managerというwidgetを使ってみます。 今現在のRaspberry Pi …

Raspberry PiでC言語版Lチカを試す(その2)レジスタを操作する

Raspberry PiでC言語を使ったLEDの点灯、消灯(いわいるLチカ)を試してみました。今回は2回目です。前回デバイスドライバを利用する方法を書きました。今回はレジスタを直接操作する方法を使いま …