ブロックを積みながら(79) Node-RED、watchノードでファイルを監視

watchEC
Joseph Halfmoon

今回は watch ノードです。watchといっても腕時計ではありませんよ。指定したファイルを監視してくれるノードです。Node-REDの「外側で」起こった変更を捕捉するのには便利な機能じゃないかと思います。捕捉できたところで次にどうするのかはまた別の話ですが。

“ブロックを積みながら(79) Node-RED、watchノードでファイルを監視” の続きを読む

ブロックを積みながら(78) Node-RED、batchノードでmsg列をひとからげ

batchTimeFlow
Joseph Halfmoon

今回は batch ノードです。なにか「バッチ処理」をしてくれるノードかと思いきや「バッチ処理」しやすいようにmsg列をグループ化してくれるもの。topicとpartsの属性を付け加えてくれます。それをjoinノードに渡せばparts属性の順番で、グループに属するmsg群を一個のmsgにまとめることができます。 “ブロックを積みながら(78) Node-RED、batchノードでmsg列をひとからげ” の続きを読む

ブロックを積みながら(77) Node-RED、sortノードで流れてくるmsgをソート

flowEC
Joseph Halfmoon

今回はsortノードです。ベタで何の工夫もないソートの例題やってみました。数値配列をsplitしmsg列を sort ノードに送り込み、payloadの数値をキーにして昇順ソート、出力されたmsg列をjoinノードで配列(勿論ソート済の)に戻すというもの。言葉で書くとメンドウですが、ノードをつなげていくだけ、お楽。

“ブロックを積みながら(77) Node-RED、sortノードで流れてくるmsgをソート” の続きを読む

ブロックを積みながら(76) Node-RED、rangeノードで数値範囲を変換

DisplayInteger41
Joseph Halfmoon

今回は rangeノードです。シンプル機能のノードです。ある範囲内の数値を別な範囲に変換するだけです。変換といっても入力範囲の最大を出力範囲の最大、入力範囲の最小を出力範囲の最小にマップするだけの「線形」な変換のみです。難しい変換はできません。範囲外だったらサチらせるとか、ラップさせるとかできるので、ま、十分か。

“ブロックを積みながら(76) Node-RED、rangeノードで数値範囲を変換” の続きを読む

ブロックを積みながら(75) Node-RED、completeノードで「ちょい足し」

complete
Joseph Halfmoon

今回の completeノードは出力ポート無のフロー終端の完了後に何かを始めるためのノードです。ノード間に「配線」がないのにアクションとるノードには、エラーをキャッチするcatchノード、ステータスを取得するstatusノードなどもありますが completeノードは特定のノードに寄生するので、ちょい足しに便利かと。

“ブロックを積みながら(75) Node-RED、completeノードで「ちょい足し」” の続きを読む

ブロックを積みながら(74) Node-RED、rpi-gpioをDashboard接続

DASHBOARD_0
Joseph Halfmoon

前回、ラズパイに接続したIO ExpanderをNode-REDダッシュボードから制御できるようにしました。今回は以前に rpi-gpio in/out ノードを使ってNode-REDのフローから直接操作できるようにしてあった LEDとプッシュスイッチをダッシュボードに接続してみます。でも回路をずるしてるんだ、これが。

“ブロックを積みながら(74) Node-RED、rpi-gpioをDashboard接続” の続きを読む

ブロックを積みながら(73) Node-RED、Execした結果をDashboardに表示

GetPortB
Joseph Halfmoon

別シリーズでラズパイにMCP23017 IO Expanderを取り付け、8ビットのDIPスイッチの値を読み取るPythonスクリプトを作りました。しかし、暑さにかまけてPython書いて中断、Node-REDダッシュボードから制御する部分を後回しっと。残り作業は純然たるNode-REDの作業なのでこちらでやります。

“ブロックを積みながら(73) Node-RED、Execした結果をDashboardに表示” の続きを読む

ブロックを積みながら(72) Node-RED、websocket in/out ノード

websocketEC
Joseph Halfmoon

今回はNode-REDのWebSocket-in/out ノードの試用です。世の動きに鈍い年寄りにはWebSocketは最近の流行?いや双方向でモダンなWebアプリケーションには必須のプロトコルだと。今回は最低線のフローをNode-RED上に実装、Pythonスクリプトとの間で通信できることを確認してみました。

“ブロックを積みながら(72) Node-RED、websocket in/out ノード” の続きを読む

ブロックを積みながら(71) Node-RED、rpi-gpio in ノード

RaspberryPiINOUT_IFcircuit
Joseph Halfmoon

前回Node-REDから、Raspberry PiのGPIO端子を出力として操作してみました。今回は入力として使用してみます。前回同様、外部のボードとはフォトカプラで絶縁しています。入力イベント「ボタンを押した」を捉まえるために昔やった記憶のあるfilterノードに御出馬お願い。その裏で前回の出力回路を微妙に修正も。

“ブロックを積みながら(71) Node-RED、rpi-gpio in ノード” の続きを読む

ブロックを積みながら(70) Node-RED、rpi-gpio out ノード

RpiOUT_B0
Joseph Halfmoon

今回からRaspberry Pi上でNode-REDを走らせているときに使えるノードをいくつか実験して行きたいと思います。Raspberry Piの持つ拡張端子を直接操作していくものども。制約事項もままありますが、外部回路を接続できるので応用無限大?ホントか?

“ブロックを積みながら(70) Node-RED、rpi-gpio out ノード” の続きを読む

ブロックを積みながら(69) Node-RED、HTTP in / outノードその2

ThreeStepFlow
Joseph Halfmoon

前回 HTTP in/outノードを試用してみましたがinとoutの間に何も処理を挟まなかったのでそれらしくありませんでした。今回はtemplateノード一つ挟んで、HTTPらしくGETして、POSTして、とやって見たいと思います。まあ、Node-REDで普通のWebサイトを作る気はないのですが、やれば出来る、と。

“ブロックを積みながら(69) Node-RED、HTTP in / outノードその2” の続きを読む

ブロックを積みながら(68) Node-RED、HTTP in / outノードその1

httpinoutEC
Joseph Halfmoon

前回 TCP in / out ノードをやってみたので、今回は HTTP in / out です。2つを直接接続すれば一応ノードとしての動作確認はできるのですが実用になりません。やっぱり高水準です。in と out の間に処理を挟みたいです。それにリクエストを投げる側にも準備がいる、と。まあ改良した実験はまた今度と。

“ブロックを積みながら(68) Node-RED、HTTP in / outノードその1” の続きを読む

ブロックを積みながら(67) Node-RED、TCP in / outノード

TCPinout
Joseph Halfmoon

前回は query送ってanswer受け取るスタイルのTCP requestノードを実験しました。今回は一方通行のTCP out ノードと、TCP in ノードを実験してみます。TCP out ノードで送信したパケットをそのままTCP in ノードで受け取れば実験できると。local host内で完結。お手軽。

“ブロックを積みながら(67) Node-RED、TCP in / outノード” の続きを読む

ブロックを積みながら(66) Node-RED、TCP requestノード

tcpEC
Joseph Halfmoon

前回はUDPパケットを対向機にECHOしてもらってUDP in/out の動作を見てみました。今回はTCP requestノードを使って 送信したTCPパケットを前回同様にECHOしてもらって動作確認したいと思います。TCPはハンドシェークが必要なので実際に流れるパケットの様子は複雑ですが、表向きは超簡単!ホントか?

“ブロックを積みながら(66) Node-RED、TCP requestノード” の続きを読む