ブロックを積みながら(85) Node-RED、自作モジュールのロード

moduleTest
Joseph Halfmoon

前回はfunctionノードの中で、require(‘os’)的な操作をする方法を練習。これでNode-REDの中から node.js の各種パッケージが使えるようになり嬉しいです。でも「出来合い」のモジュールだけじゃあな。自前のも使いたい、ということで今回は自前モジュールも同じ方法で使えることを確かめました。 “ブロックを積みながら(85) Node-RED、自作モジュールのロード” の続きを読む

ブロックを積みながら(84) Node-RED、追加モジュールのロード

settingsJsORG
Joseph Halfmoon

前回までで手元のNode-RED環境のパレットにあるノードをひとわたり触れたことになりました。これからはも少し「掘ったり」「新たなノードを追加」したりしてみたいと思います。まずは何でもできる function ノード、も少し詳しくなりたいです。今回はrequire(‘xxx’)的に外部モジュールを呼び出したいです。

“ブロックを積みながら(84) Node-RED、追加モジュールのロード” の続きを読む

ブロックを積みながら(83) Node-RED、Rpi-keyboardノードでキー入力

RpiKB_EC
Joseph Halfmoon

前回マウスであったので、今回はキーボードです。ラズパイのUSBコネクタにUSBキーボードを取り付けたときに使える Rpi-keyboard ノードです。ノードの設定は不要、使い方は簡単ですが、キースキャンコードの解釈は簡単なような、でも何処をみたらいいんだろうか、トホホな感じがいたします。

“ブロックを積みながら(83) Node-RED、Rpi-keyboardノードでキー入力” の続きを読む

ブロックを積みながら(82) Node-RED、Rpi-Mouseノードでクリックを検出

amazonBasicsMouse
Joseph Halfmoon

このNode-REDの練習シリーズはラズパイ3機をNode-REDサーバとして使っております。それでラズパイ特有のNode-REDノードが使えると。以前に、ラズパイGPIOを直接操作できるノードをやりました。今回は、ラズパイUSBに接続したマウスの読み取りができるノードです。Rpi-Mouseノード。

“ブロックを積みながら(82) Node-RED、Rpi-Mouseノードでクリックを検出” の続きを読む

ブロックを積みながら(81) Node-RED、yamlノードでオブジェクトと相互変換

yamlNode
Joseph Halfmoon

昨日は「第4回目接種」でありまして倦怠感あり、何もやる気が起きませぬ。気を取り直して予定の yaml ノードをやっつけてしまう所存。やっつけなので、内容は?、まあ、いつものことですかね。

“ブロックを積みながら(81) Node-RED、yamlノードでオブジェクトと相互変換” の続きを読む

ブロックを積みながら(80) Node-RED、jsonノードで文字列とオブジェクト相互変換

jsonNode
Joseph Halfmoon

今回はjsonノードです。文字列とNode-REDの主要データ構造であるJSONオブジェクトを相互変換できるもの。実用的には変換時にSchemaによるバリデーションを行えることが重要かと。でもね、面倒臭いのよSchema。今日のところは自分で自分にデータを投げつけているだけなので省略。いいのか、そういうことで。

“ブロックを積みながら(80) Node-RED、jsonノードで文字列とオブジェクト相互変換” の続きを読む

ブロックを積みながら(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 ノード” の続きを読む