AmazonでInterfaceの9月号を買おうと思って、表紙を見たら、HTML5でIO~みたいなことが書いてありました。さっそくポチったのですが、明日以降雑誌が届く前に、関連しそうなところを予習してみようと思います。今回は、ネットなどでなんか聞いたことがある「Node.js」というWebサーバ?をRaspberry Piで試してみようと思います。
 まず、ここを参考に Node.js をインストール。もっと新しいバージョンが入手できそうですが、実績(安全)を見て、サイトの通りのバージョンを選択しました。
   wget http://nodejs.org/dist/v0.8.11/node-v0.8.11.tar.gz
   tar -zxf node-v0.8.11.tar.gz
   cd node-v0.8.11
   ./configure
   make
   sudo make install
で、インストール。make には少し時間がかかります。
   node -v
で、バージョン確認して、インストール成功を確認。
   npm -v
で、パッケージマネージャもバージョン確認。
 ネットで「node.js入門」とかで検索すると、ほぼ同じサンプルが頻繁に見つかります。例によって node版Hello Worldです。helloworld.jsというファイル名で以下を作成。
   var sys = require('sys');
   var http = require('http');
   var server = http.createServer(function (request, response) {
       response.writeHead(200, {'Content-Type': 'text/plain'});
       response.write('Hello World!!\n');
       response.end();
   }).listen(8124);
   sys.log('Server running at http://127.0.0.1:8124/');
 nodeを起動して、
   node helloworld.js
Raspberry Piローカルからなら、
   http://localhost(または、127.0.0.1):8124/
他PCからなら
   http://Raspberry Piのアドレス:8124/
で、
となることを確認。
つづいて、入門サイトなどにも載っている connect と WebSocket と expressフレームワークは最低限使いそうなのでインストール。
   npm install connect
   npm install socket.io
   npm install express
いくつかのサイトを参考にしつつ、 express のスケルトンを適当に生成してみる。
   node node_modules/express/bin/express exptest
   cd exptest
   npm install
依存ファイルがインストールされて、
   node app.js 
とすると、「Express server listening on port 3000」と表示されるので、
   http://localhost (あるいはRaspberry Piのアドレス):3000/
へアクセスすると
 こんな感じで一応動作を確認。色々な方が公開してくれている情報があった(感謝!)ので、それらを断片的に拾い集めてきて、どうにか動作はさせられました。
 続きは、AmazonからInterfaceが届いてから。おそらく、WebからのLチカの方法とかが書かれていると思うので、それを参考にして、「nodeでLチカ」を試してみたいと思います。


 
"npm install socket.io"ではなく、WebSocketをインストールするなら"npm install websocket.io"でした。間違いです。
返信削除