第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 月号
© Copyright 2024 ExpyDoc