今、今月の「日経 Linux」の記事で遊んでいたので、
忘れないように備忘録です。
詳しくは雑誌をご覧ください。(P.11)
「日経Linux」に載っていた Node-RED で Lチカ して遊ぶ
IoT アプリ開発ツールの「Node-RED」で、Raspberry Pi の GPIO を制御して遊んでみました。
Node-RED は Raspbian の最新バージョン「RASPBIAN JESSIE」にデフォルトで入っています。
メニューのプログラミングから「Node-RED」を起動します。
(私は Windows から VNC で Raspberry Pi にリモート接続しています。)
Node-RED が起動するので、
あとは Windows の Web ブラウザ でアプリ開発画面を開きます。
(http://ラズパイのIP:1880/)
ブラウザの左側ペインにはノードのアイコンがずらり。
プログラムはこのノードをドラック&ドロップすることで作成していきます。
(Web ベースのツールです。)
Raspberry Pi の GPIO を操作するために必要な「ノード」も最初から用意されています。
Lチカするために、GPIO を ON/OFF してみたいと思います。
- inject node
- function node
- rpi-gpio out node
- debug node
わたしはこの4つのノードを使いました。
(雑誌では debug node が無い3つのノードで説明されています。)
それぞれのノードの設定
ノードをダブルクリックして設定していきます。
(inject node)
Lチカのインターバルを1秒に設定します。
(function node)
「0」と「1」を交互に繰り返すプログラムを JavaScript で記述します。
(特に意味はありませんが、わたしは雑誌のコードは使いませんでした。)
(rpi-gpio out node)
LED は GPIO21(pin 40)に接続しました。
配線はよくある LED を取り付けるものなのでここでは省略します。
実行
ノードの設定ができたら、画面右上の「Deploy」ボタンをクリックします。
Lチカ成功です。
この Node-RED を使って効果的にプログラムを作成するには、
まず、画面左側にあるノードが何をするものなのか・・・これをキチンと知る必要があります。
この分類分けされたノードの動作さえ把握できれば、
あとは目的とするプログラムをイメージしながらノードを配置して、
必要に応じて関数に JavaScript でコードを記述するだけ。
画面上には関係付けられたノードが並ぶだけなので、
フローチャートを見るようにプログラムの全体像も把握できます。
ドラック&ドロップしながら GPIO も制御できるので、
特に難しさを感じることなく直感的な操作だけで、動きのあるプログラムが作成できるようになります。
ということで、今後のためにも学ぶ価値は十分にありそうです。
この Node-RED でハムらしいプログラムが作れたら・・・
・・・でも、何もアイデアが浮かばない。。。