chakokuのブログ(rev4)

日々のごった煮ブログです

Pi ZeroでNode-REDを動かしてみる

ひとまず、コマンドを打ってみる

# node-red
-su: node-red: command not found
# dpkg --list | grep node

パッケージも入っていないと。(OSは、Raspbian GNU/Linux 8 (jessie))

# apt-get install nodered

再度実行、ちょっとエラーが出たけど起動した

# node-red

Welcome to Node-RED
===================

6 Aug 07:58:45 - [info] Node-RED version: v0.14.5
6 Aug 07:58:45 - [info] Node.js  version: v0.10.29
6 Aug 07:58:45 - [info] Linux 4.1.18+ arm LE
6 Aug 07:58:45 - [info] Loading palette nodes
6 Aug 07:59:06 - [warn] ------------------------------------------------------
6 Aug 07:59:06 - [warn] [sensehat] Error: Can't find Sense HAT python libraries. Run sudo apt-get install sense-hat
6 Aug 07:59:06 - [warn] ------------------------------------------------------
6 Aug 07:59:06 - [info] Settings file  : /root/.node-red/settings.js
6 Aug 07:59:06 - [info] User directory : /root/.node-red
6 Aug 07:59:06 - [info] Flows file     : /root/.node-red/flows_raspberrypi.json
6 Aug 07:59:06 - [info] Creating new flow file
6 Aug 07:59:06 - [info] Starting flows
6 Aug 07:59:06 - [info] Started flows
6 Aug 07:59:06 - [info] Server now running at http://127.0.0.1:1880/

1880でListenしているようなので、PCブラウザから繋いでみる。PiZeroはWifiで繋いでいて、IPが192.168.10.90なので、PCからはhttp://192.168.10.90:1880で接続。なおPCは有線のLANと無線LANの両方の経路を持たせてある。
左の画面がPi Zeroの1880にPCブラウザから接続した画面。Node-REDはブロックを繋ぐことで簡単にアプリが組めるテストベンチのようなものと理解していますが、利用者はブラウザを用意するだけで、組み込みプログラミングの(PG+検証+実行)がしてしまうアーキが秀逸と思いました。トラ技の特集のように、手軽なラズパイ上でサクッと試作できるので、組み込み入門にもいいのではないかと。

組込み界のHelloWorldはLチカだけど、、いきなりNode-RED + PiでIOアクセスするのはワケわからんので、、クリックするとメールが飛ぶサンプルを作ってみた。
左がそのダイアグラム?で、入力はInject、出力はDebugとemail。emailはgoolgeアカウントでID/PWDを指定した。一回目はエラーになって原因を調べたら、Googleアカウント側の承認レベルを下げる必要があるのであった。その旨Gmailに届いているのでメールに従ってレベルを下げる。再度Injectをクリックするとメールが配信された。

PCブラウザ→NodeRed on Pi Zero→Gmail のフローで届いたメール

Return-Path: <***@gmail.com>
Received: from [127.0.0.1] (xx-xx-xx-xx)
        by smtp.gmail.com with ESMTPSA id 15sm30438172pfz.36.2016.08.05.16.48.45
        for <***@gmail.com>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Fri, 05 Aug 2016 16:48:46 -0700 (PDT)
Content-Type: text/plain
From: ***@gmail.com
To: ***@gmail.com
Subject: Message from Node-RED
X-Mailer: nodemailer (1.11.0; +http://www.nodemailer.com;
 SMTP/1.1.0[client:1.3.8])
Content-Transfer-Encoding: 7bit
Date: Fri, 05 Aug 2016 23:48:43 +0000
Message-Id: <1470440925621-385055fd-84401911-5a1dac95@gmail.com>
MIME-Version: 1.0

1470440923792

パッケージインストールとか特集のトラ技(2016/6)見ながらやっているとはいえ、一時間ぐらいで、システム導入して、クリックするとメールポストするシステム(しかも組み込み上で!!)が動いてしまうというのはやはりNode-RED恐るべし!!