node-red経由でrpi2b + relayをOn/Offする。

 葉月半ばからの猛暑は結構堪えてイマイチ気力が沸かないのでnode-red+rpi小ネタで誤魔化してみる。Dashboardで表示は出来たので今度は入力の基本の基本要素であるスイッチから。

1.ハードウェア構成:

 rpi2b + GROVE Base HAT + GROVE relay(GPIO16使用)

2.ソフトウェア:

 rpi2b上のnode-redでDashboard上のスイッチオブジェクトからGROVEリレーをON/Offする将に基本的構成。

f:id:aki_iic:20210905145819p:plain

rpi2b+grove HAT+grove relay

 私のような初心者にとって有り難い事にnode-redのgpioオブジェクトは物理ピンとGPIO名が図で解りやすく表示されるので間違いが少ないのが助かる。ポートの初期化設定(今回は0で初期化)も忘れずに行っておく。見た感じリレーがバタつく様子は見られないので有効に機能していると期待。

f:id:aki_iic:20210905150306p:plain

node-red gpio 設定

 フローとオブジェクトのプロパティだけでコードを書かずに済むのは初心者にとっては有り難いが総掛かり工数pythonでgpio弄るのと大差無いような気がしないでもないがそれを全てブラウザから半ば抽象化されたハードウェア資源操作を行える点にnode-redのご利益があるのだろう。

3.動作画面:

f:id:aki_iic:20210905150759p:plain

node-red スイッチオブジェクト

 書いてて気恥ずかしいが画面真ん中のリレー(GPIO16)なるラベルのスライダでリレーをOn/Offする。(私にとっては)面倒臭いGUI画面云々を劇的に解消してくれるnode-redは非常に有り難い。使いこなしとしてハードウェア寄りのちまちました制御はCなりpythonで書いてnode-red本領のフローは適材適所で組み合わせる(られる)自由度がとてもありがたい。どこぞの処理系の如くこの言語やフレームワークでないと受け付けない系とは異なるOSSのおおらかさというか寛容な価値観に共感する。

4.その他:

 今回は金物制御故モノの写真が無いとイマイチと思ったので以下に示す。

f:id:aki_iic:20210905151818j:plain

rpi2b+grove HAT+pHAT+grove relay+mpc9808温度センサ

 rpi2bはwifi持たないのでUSB接続のWifiドングルを挿している。rpi2bの上にSeed製GROVE Base HATが刺さっていてその上がpHATである。Base HAT(Seeed製)はrpizeroの時に示したHATとコネクタ数と形状(zero用とrpi2b/3b/4b/3a)以外は同じでサブマイコンはSTM32である(が供給問題でi2c addressが0x04と0x08に分化した模様。これも武漢肺炎効果で引き篭もり需要増によるゲーム機器半導体増産の影響か?)は異なるがソフト的には(i2c addressの件は別にして)同じと見做せるだろう。今回はi2cにmcp9808温度センサ、D16コネクタにGROVEリレー(写真右の赤いLEDが点灯してるリレー小基盤)が接続されている。

 それにしても半田付けが必須であった電子工作業界も昨今では組み立てパソコンの如く(私は組み立てを自作と呼ばない主義)繋ぐだけで後はプログラムレスなフローを書いて目的達成出来る善き時代なのだろう。その分より高度なアプリケーションに挑戦すべきなのだろうが今は二歩目のブラウザからのOn/Off制御からといふ事で。