Node-RED on Intel Edison

Posted by joeartsea on 2014-11-12

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)で、こんな状態に…

ed

まあ、それは冗談としてLinux慣れてる人はハマらずいけると思います。

次はNode-REDなんですが、Intel Edisonには最初からnode.js入ってるので普通にNode-REDを動かすだけです。

もちろんNode-REDリポジトリからcloneして動かしたって良いですが、今回はついでなので別のexpressアプリにNode-REDを読み込んで動かす方法を書いておきます。

1
2
3
4
5
# node -v
v0.10.28
# mkdir node-red
# cd node-red
# npm install express node-red

あとは最小構成でNode-REDを動かすためのexpressアプリを書きます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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();

起動してみます。

1
2
3
4
5
6
7
8
9
10
11
12
# 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でアクセスできます。

red

Workspaceが表示されました!