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

システム開発エンジニアの西田五郎が運営しております。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

執筆者:

関連記事

Node.jsでRaspberryPiのGPIOを使う(その2)ブラウザからの操作

Node.jsでRaspberryPiのGPIOを使うの2回目です。前回はGPIOのデバイスドライバをNode.jsのファイル操作を使って操作しました。今回はこれを以下の記事で作成したWebサーバ的な …

Raspberry PiでAvahi を使ってホスト名でアクセスする

Raspberry PiでAvahiを使ってホスト名でのアクセスを可能にする方法についてです。ホスト名でのアクセスとは192.168.1.10といったIPアドレスではなく、raspberrypi.lo …

Groveコネクタとi2cハブでセンサを接続する

Groveコネクタとi2cハブを使ってi2cセンサを接続してみました。こうすることによって接続を間違えたり、見た目が悪くなったりしないように出来ると思います。

SkyWayでRaspberry Piの遠隔操作(その2)SkyWayからの操作

前回の続きです。全体的にはSkyWayを利用してRaspberry Piの遠隔操作をしてみようという内容です。 前回はRaspberry Pi側でのブラウザ(JavaScript)からMQTT ove …

Raspberry Piでタッチアプリ開発(その3)Kivyでレイアウト・ボタン作成

Raspberry Piでタッチアプリ開発の3回目です。前回はKivyの導入について書きました。今回は具体的なレイアウトとボタンを配置してみます。以下のレイアウトについて順番に書きます。Kivyでのレ …