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

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

*

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

      2015/03/03

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サーバ的なプログラムを作ってみます。


 - Node.js, Raspberry Pi

AdSense

AdSense

  関連記事

Raspberry PiでIoT(温度・湿度・気圧データ編 その4)アラートメール送信

Raspberry PiでIoT 温度・湿度・気圧データ編の4回目です。前回まで …

ASP.NET Web APIでデータ蓄積(その7)Raspbery Piからの温度データ蓄積

ASP.NET Web APIでデータ蓄積の7回目です。前回までで少なくとも温度 …

Raspberry PiでIoT(MQTTで遠隔操作編 その2)MQTT Brokerの構築とPythonでのpub/sub

Raspberry PiでIoT MQTTで遠隔操作編の2回目です。2台のRas …

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

Raspberry PiでC言語を使ったLEDの点灯、消灯(いわいるLチカ)を試 …

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

Node.jsでRaspberryPiのGPIOを使うの2回目です。前回はGPI …

Node.jsでRaspberryPiのGPIOを使う(その1)デバイスドライバでLED

Node.jsでRaspberryPiのGPIOを使ってみます。今回はデバイスド …

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

Raspberry PiでIoT MQTTで遠隔操作編の3回目です。2台のRas …

Raspberry PiでのNode.jsの導入(その2)Webサーバ的なプログラム

Raspberry PiでのNode.jsの導入の2回目です。前回はインストール …

Raspberry PiのPL2303内蔵コンソールケーブルのWindows8.1の対応について

Raspberry PiのコンソールケーブルでProlific社のUSBシリアル …

Raspberry Pi 3でのコンソールケーブル利用と初期設定

Raspberry Pi 3 でコンソールケーブルを利用する方法と初期設定につい …