こんにちは! けい(Twitter)です。
今回は、Raspberry PiにNode-REDをインストールして、Lチカまでの導入の方法を解説していきたいと思います。
目次
Node-REDとは
オープンソースソフトウェア
さかのぼること2013年、IBM社の「英国ハーズリー研究所」で開発されました。
IoTの一部としてハードウェアデバイス、API、オンラインサービスを相互に接続するための開発ツールを目的として作られました。
その後2016年、IBMはオープンソースとして「JS Foundation」に移管されました。
日本の企業ではIoTのプラットフォーム「Lumada」の開発に取り組んでいる日立製作所が積極的に開発に取り組んでいます。
特徴
Node-REDの特徴として以下の事が挙げられます。
- コーディング未経験者でも、開発が容易
- PC・タブレット・スマホのブラウザ上で開発可能
- IoT、Webサービスが簡単に開発可能
ハードウェアとソフトウェアを簡単に繋げるための架け橋としてNode-REDはとても簡単で強力なツールとなっています。
現在では、本格的なプロセス制御や産業機器制御などの工場内でのロボットの制御や、プログラミング教育現場での使用用途として拡大しています。
つまり、教育から産業用途まで幅広く使用できるツールとなっています。
Raspberry Pi OSにNode-REDをインストールする
今回のラズパイの環境は、Raspberry Pi OS(Raspbian Buster 10)です。
2つのインストール方法をご紹介していきます。
- コマンドでインストールする方法
- マウス操作してインストールする方法
①コマンドでインストールする方法
こちらの方法はssh接続でインストールできるので、普段からssh接続で利用している方向けのインストール方法です。
Node-RED公式サイトに、コマンドが用意されています。
この記事執筆時は、Raspbian Busterがサポートされているようです。
次のコマンドをターミナルで実行します。
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
これでインストール完了です。(めちゃ簡単)
②マウス操作してインストールする方法
こちらの方法は、普段からラズパイをマウスで操作している方向けのインストール方法です。
ラズパイの画面で「設定」→「Recommended Software」の順にクリック。
続いて、検索窓で「node」を入力し、チェックを入れ「Apply」をクリック。
これでインストールが完了です。
Lチカの回路を組む
今回使用した物
ラズパイ4を使用しましたが、ラズパイzeroのような安価なモデルでも十分に動作します。
LチカするためのLED
LEDに大電流が流れないようにするための抵抗
配線に必要なブレッドボードとジャンパワイヤー
回路図
せっかくなので、2種類のLEDをLチカしてみます。
抵抗は300Ω前後のものを使用します。
赤色LEDはGPIO20、青色LEDはGPIO21に接続します。
Lチカしてみる
Node-REDを起動する
ラズパイのターミナルで次のコマンドを実行して、Node-REDを立ち上げます。
node-red-start
すると下の画像のように沢山の情報が出力され、最後の行に「サーバはhttp://xxxで実行中です」という結果が表示されます。
この時に表示される、一番初めの部分の「http://xxx:1880」の部分がNode-REDのサーバーのドメインになります。
xxxの部分は、ラズパイのIPアドレスです。
私の場合は、ラズパイのIPアドレスが「192.168.1.102」です。
Node-REDはブラウザ上で開発をするので、PCやタブレッドなどでChromeを開きます。
Chromeで先ほどの赤枠の部分を入力すれば、ブラウザ上でNode-REDの画面になります。
Node-REDのフローを作成する
それでは、Node-REDでLチカのフローを組んでみましょう。
今回使うフローは以下の3つです。
入力値を与えることができる
指定した時間でオンとオフを切り替えられる
ラズパイのgpioの出力値を与えることができる
まず、injectノードを①ドラッグアンドドロップし、②ダブルクリックし、③プロパティに入力します。
出力値は”1″とし、2秒間の繰り返しをします。
次に、同様にtriggerノードのプロパティに入力します。
1秒の待機とします。
次に、rpi-gpio-outノードも同様にプロパティに入力します。
gpio20を選択し、名前を「赤色LED」とします。
これで赤色LEDのノードの準備は整ったので、次はこれらをコピペして青色LEDのノードを作ります。
rpi-gpio-outのノードをダブルクリックして、gpio21を選択し名前を「青色LED」とします。
あとはこれらを線でつなげば、フローの完成です。
右上の「デプロイ」をクリックすれば動作が開始します。