お絵描きサーフィン・プログラミ ング・ツールNode−RED

第2章
ツイッター投稿! メール! ブラウザに置いた ラピッド
ミニアイコンが世界中のコンピュータを操る 電子工作
Part 1
ペタペタ貼って一丁あがり!
お絵描きサーフィン・プログラミ
ング・ツール Node−RED
桑野 雅彦
コンピュータ自由自在! IBM 製ハイパー・
プログラミング・ツール Node−REDのしくみ
void abcmsg()
{
…
}
int abc(int a, int b)
{
if(a<0) {a= -a;;abcmsg()}
b+=a;
return(b);
}
main()
{
add_abs(3,4);
}
● 入出力をもつ独立ノードを並べてメッセージを伝
えていく
第 1 章の図 1 に示すように,Node−RED は用意され
たノードと呼ばれるモジュール
(ソーセージみたいな
アイコン)を線でつないでアプリケーション(フローと
呼ぶ)を作ります.ノードの中身はテキスト・ファイ
ルなので,手を加えてカスタマイズできます.
Node−RED 全体の処理の流れが 1 枚の絵として見
ることができます
(図 1)
.どこから得られたデータが
どこで加工されて,どこに流れていくのかが一目でわ
かり,いくつもの経路を通るような場合でも,ノード
間の関連など,全体像を把握しやすいです.
各ノードは,独立した入力と出力をもっていて,ノ
ード間でデータ(メッセージ)を受け渡しします.この
造りを「メッセージ・パッシング」と呼びます.
Node−RED はさまざまなノードを備えており,次
(a)通常のプログラミング言語
a=-1
Masahiko Kuwano
abcmsg()
a<0?
b+=a;
(b)Node-RED
の三つに分類できます.
図 1 お絵描きサーフィン・プログラミング・ツール Node−
RED の接続例
(1)入力ノード(Input)
三つの機能は独立しており同時に動作する.ノードの入力に複数の線を
接続しても OK.ループも OK
入力ノード
(Injectionノード)
(1)スイッチ入力で
LEDをON/OFF
(2)アナログ入力で
LEDの輝度を調
整
中間ノード
(Functionノード)
出力ノード
(Injectionノード)
GPIO入力
GPIO出力
10ビット→8ビット
アナログ入力
レンジ変換
PWM出力
並列に動作する
1秒ディレイ
(3)1秒間隔で
LEDを点滅
‘1’
を出力
反転
GPIO出力
入力が複数あったり,ループしていてもいい
図 2 Node−RED はグラフィカルなことに加えて処理全体が 1 枚の絵で見渡せるのがすばらしい
60
2016 年 6 月号