テクノロジー Raspberry pi

ド素人がnode-redで遊んでみた

ド素人がnode-redで遊んでみた

前回からだいぶ時間が経ってしまったけど、ツイッターのフォロワーさんにお勧めされたNode-RED、初めてのビジュアルプログラミングというやつに挑戦してみる。殴り書きメモなので相変わらず役に立つ感じの記事にはならないよ!

Node-RED セットアップ

インストール

ラズパイの Wi-Fi が死ぬほど不安定でインストールに死ぬほど時間がかかったけど、最初は公式のインストールの仕方みたいなRunning on Raspberry Piを読む。現在の Node のバージョンが 10 で対応しておらず、--node16のフラッグを付け足した。どうやらラズパイに元々入ってるっぽい?まあとりあえず動いたのでヨシ。

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) --node16

実行

インストールできたので、さっさと始めてみようということで同じページに書かれた次のコマンドを叩く。 テストのためならnode-red-pi --max-old-space-size=256でも良いんだけど、これだと Terminal 閉じたときにプロセスが殺されてしまうのでサービス開始。ついでに enable しとくことで再起動したときもサービスを勝手に開始してくれる。

node-red-start
sudo systemctl enable nodered.service

image

これでhttp://localhost:1880に行くとかなりそれっぽいのが表示されるようになった。localhost の部分をローカルアドレスに変えて(http://192.168.1.xxx:1880)にアクセスしてます。いやあブラウザベースで動くって凄いな。

LED を光らせる

光るだけのやつ

image

  1. 左のパレットから common > inject を Flow に置く。Payload を 0 にする。
  2. 左のパレットから Raspberry Pi > rpi - gpio out を Flow に置く。PIN を選択して名前を LED に変更する。
  3. inject と GPI の 2 つを線でつなぐ。
  4. 右上の Deploy(赤いボタン)をクリックする。

以上で、LED が光る!特に説明見なくても直感的に動かせる感じがビジュアルプログラミングっぽい! 一部参考にしたサイト

dashboard を使って UI を作る

  1. 右上のハンバーガーメニューから Manage palette > Palette > Install でnode-red-dashboardをインストールする。
  2. 右上のダッシュボードアイコンから Layout > Tabs & Links に Tab と Group を適当に作る。
  3. 左のパレットから dashboard > button / slider 等を Flow に置く。
  4. button / slider と GPIO の 2 つを線でつなぐ。
  5. 右上の Deploy(赤いボタン)をクリックする。
  6. http://localhost:1880/ui へ行く。

Node-RED 画面 image

UI ページ image

オンオフが逆になってたり微妙な挙動ではあるけど一応直感的に動く!何も細かい設定してないのにすごい。

一部参考にしたサイト

感想

始める前にインターネット接続に時間がかかって正直 node-red へのモチベがだだ下がりしてしまったので思ったより遊べなかったけど、モジュールもかなりたくさんあるしなんでもできそうという感想が湧いた。ビジュアルプログラミングだから当たり前だけどコーディング無しで出来てしまうので、無駄にコードを書くことに楽しみを感じるタイプの人間にはつまらなく感じてしまう。細かいことをやるには多少コードを書くんだろうけど、未来のスマートホームで細かい設定を書くならやっぱり最初から書きたいなあと思ってしまった。初のビジュアルプログラミング、正直ほとんど分からないまま適当に動かしたら動いた感しかないけど、その手軽さも含めてめちゃくちゃ感動した。スマートホームの構想は良いけどまずは要件定義から頑張ろうね、わたし。