前回Node-REDから、Raspberry PiのGPIO端子を出力として操作してみました。今回は入力として使用してみます。前回同様、外部のボードとはフォトカプラで絶縁しています。入力イベント「ボタンを押した」を捉まえるために昔やった記憶のあるfilterノードに御出馬お願い。その裏で前回の出力回路を微妙に修正も。
ブロックを積みながら(70) Node-RED、rpi-gpio out ノード
今回からRaspberry Pi上でNode-REDを走らせているときに使えるノードをいくつか実験して行きたいと思います。Raspberry Piの持つ拡張端子を直接操作していくものども。制約事項もままありますが、外部回路を接続できるので応用無限大?ホントか?
ブロックを積みながら(69) Node-RED、HTTP in / outノードその2
前回 HTTP in/outノードを試用してみましたがinとoutの間に何も処理を挟まなかったのでそれらしくありませんでした。今回はtemplateノード一つ挟んで、HTTPらしくGETして、POSTして、とやって見たいと思います。まあ、Node-REDで普通のWebサイトを作る気はないのですが、やれば出来る、と。
ブロックを積みながら(68) Node-RED、HTTP in / outノードその1
前回 TCP in / out ノードをやってみたので、今回は HTTP in / out です。2つを直接接続すれば一応ノードとしての動作確認はできるのですが実用になりません。やっぱり高水準です。in と out の間に処理を挟みたいです。それにリクエストを投げる側にも準備がいる、と。まあ改良した実験はまた今度と。
ブロックを積みながら(67) Node-RED、TCP in / outノード
前回は query送ってanswer受け取るスタイルのTCP requestノードを実験しました。今回は一方通行のTCP out ノードと、TCP in ノードを実験してみます。TCP out ノードで送信したパケットをそのままTCP in ノードで受け取れば実験できると。local host内で完結。お手軽。
ブロックを積みながら(66) Node-RED、TCP requestノード
前回はUDPパケットを対向機にECHOしてもらってUDP in/out の動作を見てみました。今回はTCP requestノードを使って 送信したTCPパケットを前回同様にECHOしてもらって動作確認したいと思います。TCPはハンドシェークが必要なので実際に流れるパケットの様子は複雑ですが、表向きは超簡単!ホントか?
ブロックを積みながら(65) Node-RED、UDPパケットの送受信ノード
Node-REDと先っぽのマイコンの間の通信はMQTTばかり使ってきました。しかしNode-REDの「パレット」には他のNetworkプロトコルのノードも並んでいます。httpなど上位レイヤーもあれば、TCP/UDPなど下位レイヤもあります。今回は下のレベルで「投げっぱなし」で「軽い」UDPを使ってみたいと思います。
ブロックを積みながら(64) Node-RED、外部プログラムの実行ができるexecノード
今回は execノード、出力が3個ある太っちょ(人のことは言えませんが)のノードです。外部プログラムを起動してその結果をとりこむことができるもの。テスト用の外部プログラムとしてはPythonのスクリプトを使用いたしました。標準出力、標準エラー出力、戻り値の3通りの方法で結果を受け取ることができます。
ブロックを積みながら(63) Node-RED、流量制限ができる、delayノード
今回の delay ノードは、本来到着した msg を一定時間遅延させて送り出すものです。しかしこの遅延機能を使ってメッセージの流量制限もできると。時間あたりのmsgの「流量」を決めると、それを超えるmsgはため込まれ流量制限の範囲で下流に流しだされます。フローの中のまさにダムみたいなもの?
ブロックを積みながら(62) Node-RED、時間経過で引き金を引く、triggerノード
今回はtriggerノードです。到来したメッセージに対して所定の遅延時間後に別なメッセージを送信することができるもの。人感センサが反応したら3分間だけ点灯するとか、所定時間内にメッセージが到来しなかった場合にタイムアウトを知らせるインターバルタイマ的な使用など、設定次第でいろいろな目的に使えそうなノードです。 “ブロックを積みながら(62) Node-RED、時間経過で引き金を引く、triggerノード” の続きを読む
ブロックを積みながら(61) Node-RED、変化の有無でフィルタするfilterノード
今回はfilterノードです。filterというとついローパスフィルタとか考えてしまう年寄りですが、このノードは違います。データに関してLPFをかけたりする機能は前々回のsmoothノードが持っていました。今回のfilterノードは、条件に当てはまる msg だけを通過させたり、通過させなかったりするもの。
ブロックを積みながら(60) Node-RED、乱数生成器、randomノード
前回は一種のフィルタともいえるsmoothノードでした。つい「調子」にのって別投稿にてsmoothノードのフィルタの特性を伝達関数から考察したりもしてしました。今回は乱数生成、randomノードです。乱数生成は伝達関数以上に奥深くて、そこに命を懸けている人も居るとか居ないとか。知らんけど。ここは深みにハマらぬよう「さらっと」行きたいです。
ブロックを積みながら(59) Node-RED、統計?信号処理? smoothノード
前回は「何もしない」けれど「書けることが多い」commentノードでした。今回は、設定できることは少ない割に奥が深そうな(あまり沼にハマりたくない)smoothノードです。苦手の統計やらデジタル信号処理(もどきですが)も登場。まあ、使ってみている内に慣れる?慣れない?
ブロックを積みながら(58) Node-RED、コメントノードって何者?
風雲急を告げているのに、ブロックを積んでいるのも何だかな~と思うのですが、この年寄りに出来ることも無いと。。。しかし、思い出すに、大昔、旧東独の半導体屋に言われた一言、「お前ら日本人はロシア人を理解できんだろ」と。正確に言えば「ロシアの半導体屋」という文脈だと思いますが。