Node-REDが凄く楽しそうな感じ

2021年12月7日

先日ラズベリーパイをノードレッドで操作する初心者向けのイベントに参加しました。

ラズベリーパイは数年前書籍、「ラズベリーパイで学ぶ電子工作」を読んで触発され、色々と試してみていたのですが、今回は、ラズベリーパイプラスNode-REDというビジュアルプログラミングを使い操作を学ぶとのことで非常に興味があり、参加しました。下の様な線でつなげてプログラムを行います。

tplinkのスマートプラグHS105も購入しこのイベントでは使いませんでしたが、次にいろいろと取り組むのに非常に面白いアイテムとなりました。

ラズパイのことやLinuxの事はだいぶ忘れていましたが思い出しだしたいと思います。


まずは環境整備のため

ラズベリーパイゼロを他の早いパソコンや外出先からスマートホーンで使えるような設定をしようと思いました。そこでtplinkのスマートプラグHS105をラズベリーパイの電源onoffに使えばいいのではと思いそこからはじめることにしました。

raspberry pi zeroにスマートホーンからVNCでwifi接続でアクセスできるように設定しました。

次にraspberry pi zeroの電源のUSBケーブルをスマートプラグHS105に繋ぎ

スマホからraspberry pi zeroを起動できるようにしました。※スマートプラグHS105はスマホのKASAというアプリによってWIFI環境で電源をonoffできます

でWifi環境であるので、スマホからVNCを使いraspberry pi zeroにアクセスし電源をシャットダウンできました。スマートスイッチHS105でシャットダウンはできるのですが、元電源を切るのでは意味がないですね。

自宅ではすべてスマートフォンからラズパイの起動、シャットダウンをできるようになりました。

ラズパイができるのであればパソコンの起動とシャットダウンもできますね。

次にインターネット経由でraspberry pi zeroを起動しようと

ルーターAX20がtplink製でありtplink のtetherというルーター操作アプリを入れたのですがルーターの設定のみでした。

KASAでインターネット経由でraspberry pi zeroを起動できるかどうか試しましたらすんなりと起動しました。。ここまではよかったのですが

インターネット経由でVNCはスマホからraspberry pi zeroを操作できるのか?という疑問が

生じ試したのですが操作できない、ここでストップしましたが、昔の取り組みを思い出しました。

以前ラズベリーパイを試した時は外出先からはsoftetherというVPNソフトを使い

VPN接続をして自宅のパソコンにアクセスしたのですが、

やはり今回もルーターAX20にVPN接続をするかsoftetherを使うしかないのかと悩みました。

自宅は【Mobileルーター】→【Wifi6ルーターAX20】→【パソコンやラズパイ】となっており

今回は制御がpythonでなく、Node-redなので使いやすくなっているかもと感じております。

そして自分の以前のブログを読み直していて、softetherを使う際に、ローカルブリッジ(下の図のラズベリーパイ)をする際に物理LAN端子がラズベリーパイのボードにないと、うまくいかないということを思い出しました。解決策として、USB 接続などの有線 LAN アダプタを使うことをsoftetherのサイトには書いてあり勧めてました。USB 接続の有線 LAN アダプタは持ちあわせていたので1歩前進です。

設定の流れも思い出しました。

①softether severをラズパイゼロにインストール

②パソコン側softether managerをインストール *ラズパイゼロの設定がコマンドラインで煩雑な為Windows側から操作設定とのこと。

③softether managerでAZURE等の設定、SecureNATの設定など

④スマホ側にSSTP VPN Client アプリを入れる

これでネット越しにVNCが使えると思います。

スマホからwifiで操作できるスマート機器はネット越しに操作出来ます。

以下はイベント参加時のメモ書きですが修正追加していきます。

メモ:

ターミナルから node-red-start で Node-redを起動*メニューからのスタートも可

ラズベリーパイ側で、ターミナルから、if configで自分のIPアドレスを確認する、

別のパソコンから

そのIPアドレスプラスコロン1880でクロームウェブブラウザーからアクセス

192.168.0.※:1880

Node RED が立ち上がる

パソコンの vnc クライアントからのアクセスできる

node-redの使い方

左側のFunctionをドラッグアンドドロップしてデータを入れ完了を押しデプロイをする

inject  debug などを入れデプロイ

デバックのところでデータの確認

switch で28.8度より小さいか  28.5度以上かの条件分岐

change スマートスイッチにtoggleを送るとオンオフとなる

rpi gpio in でGPIO05-29をクリック

サンドイッチからライブラリーの追加

①node-red-contrib-grove-base-hat

②node-red-contirb-tplink

ここのページを参考にもう一度試してみようと思います。

rootに関して

→→ラズパイはデフォルト状態では root のパスワードが設定されていない。

$ sudo passwd root

上記コマンドで root のパスワードを設定した。

→→自分用ユーザーアカウント(※※※)を作り、 sudo コマンドを実行できるよう sudo 権限を付与。コマンド操作で行った。

$ sudo adduser ※※※

$ sudo gpasswd -a ※※※  sudo