Node-RED on Intel Edison
IoT/M2Mに有用なOSSであるNode-RED(個人的見解)を先月末に日本でも発売されたIntel Edison上で動かしてみます。
※Node-REDについては[enebular][Node-RED][IoT][Treasure Data] Node-REDで簡単アプリケーション開発とか[enebular][Node-RED][Salesforce][box][S3] Node-REDでSalesforceデータをCSV化してboxとS3へ保存を参照してください(宣伝)
まず、Intel EdisonのセットアップについてはIntel Edisonのセットアップを見てやりました。
ハマりどころはマイクロUSBケーブルが2本いるってとこですかね(MacBook ProはUSBポートが両側に別れてて苦労したw)で、こんな状態に…

まあ、それは冗談としてLinux慣れてる人はハマらずいけると思います。
次はNode-REDなんですが、Intel Edisonには最初からnode.js入ってるので普通にNode-REDを動かすだけです。
もちろんNode-REDリポジトリからcloneして動かしたって良いですが、今回はついでなので別のexpressアプリにNode-REDを読み込んで動かす方法を書いておきます。
# node -v v0.10.28 # mkdir node-red # cd node-red # npm install express node-red``` あとは最小構成でNode-REDを動かすためのexpressアプリを書きます。
vi app.js
var http = require(‘http’); var express = require(“express”); var RED = require(“node-red”);
// Create an Express app var app = express();
// Add a simple route for static content served from ‘public’ app.use(“/”,express.static(“public”));
// Create a server var server = http.createServer(app);
// Create the settings object - see default settings.js file for other options var settings = { httpAdminRoot:“/red”, httpNodeRoot: “/api”, userDir:“/home/nol/.nodered/”, functionGlobalContext: { } // enables global context };
// Initialise the runtime with a server and settings RED.init(server,settings);
// Serve the editor UI from /red app.use(settings.httpAdminRoot,RED.httpAdmin);
// Serve the http nodes UI from /api app.use(settings.httpNodeRoot,RED.httpNode);
server.listen(8000);
// Start the runtime RED.start();```
起動してみます。 ``` # node app.js
Welcome to Node-RED
12 Nov 08:54:51 - [red] Version: 0.9.1-nocolors 12 Nov 08:54:51 - [red] Loading palette nodes 12 Nov 08:54:55 - —————————————— 12 Nov 08:54:55 - [red] Failed to register 8 node types 12 Nov 08:54:55 - [red] Run with -v for details 12 Nov 08:54:55 - —————————————— 12 Nov 08:54:55 - [red] Flows file not found : flows_node-red-edison.json```
だいぶモッサリしてますが…起動しました。ポート8000で起動したのでブラウザからはhttp://<edisonのipアドレス>:8000/redでアクセスできます。

Workspaceが表示されました!