1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Node-RED使用箇所の解説 : Node-REDとクラウドを用いたセンシングデータのAR可視化サンプル

Last updated at Posted at 2020-07-18

#Node-RED使用箇所の解説
Node-REDとクラウドを用いたセンシングデータのAR可視化サンプル で扱っているサンプルについて解説します。

Node-REDでは、ノード(箱上のブロック)をつなげて出来たプログラムを「フロー」と言います。また各ノードをダブルクリックすることで、各ノードの編集画面が開きます。

image.png

① IBM IoT

「ibmiot in」ノードを使用しています。仮想センサーを使用している場合は、デバイスIDを入れるだけです。実物のセンサーを使用している場合は、「Authentication」などを変更する必要があります。

ibmiot in ノード編集.png

② Insert Sensor data to Flow variable

「change」ノードを使用。フロー変数を使用し、①で取得したセンシングデータをフロー変数「temp」に代入します。
image.png

③ Flow variable

「function」ノードを使用。フロー変数「temp」の値を、「Debug: Flow variable」に渡します。
image.png

④ Debug: Flow variable

「Debug」ノードを使用。フロー変数「temp」の値を、Node-REDのデバッグタブで表示します。
image.png

⑤ [get]/aframe

「http in」ノードを使用。AR表示の際に利用するAR表示用URLについて定義します。
image.png

Node-REDのURLのうち、mybluemix.netの手前の/(スラッシュ)までを削除し、末尾に上図のようにURLに記述した、/aframeを追加します。
たとえば、https://node-red-xxxx.mybluemix.net/aframe といったようになるはずです。xxxx の部分は各自で異なりますのでご注意ください。この/aframeで終わるURLに、PCやスマートフォンのWebブラウザからアクセスすることで、Webブラウザ経由でカメラがARマーカーを認識し、ARコンテンツを表示することができます。

⑥ Get Flow variable

「function」ノードを使用。フロー変数「temp」の値を取り出し、次の「switch」に渡します。
image.png

⑦ switch

「switch」ノードを使用。「Get Flow variable」から受け取ったフロー変数「temp」の値に対して、30℃以上と29℃以下で、処理を分ける定義を行います。
image.png

この設定により、30℃以上なら、「Set Color: over 30 degrees Celsius」へ、29℃以下なら「Set Color: under 29 degrees Celsius」に処理が引き継がれます。

⑧ Set Color: over 30 degrees Celsius

「function」ノードを使用。30℃以上の場合、ARとして表示するコンテンツは、立方体を縦に3つ積み重ねたものに、下から、黄色、オレンジ色、赤色を表示します。
ここでは、次の「A-Frame」に引き渡す色コードを呼び出しています。
image.png

⑨ Set Color: under 20 degrees Celsius

「function」ノードを使用。29℃以下の場合、ARとして表示するコンテンツは、立方体を縦に3つ積み重ねたものに、下から、黄色、オレンジ色、グレー系の色を表示します。
ここでは、次の「A-Frame」に引き渡す色コードを呼び出しています。
image.png

⑩ A-Frame

「template」ノードを使用。前の処理で指定した色を用いて、ARコンテンツとして、VR/ARフレームワークの「A-Frame」を用いて生成しています。
image.png

A-FrameにおけるARの実装については、詳しくは下記をご確認ください。
https://aframe.io/blog/arjs/

⑪ http

「http response」ノードを使用。「[get]/aframe」で「http in」ノードを使用していますので、「http in」ノード使用時にペアで必要になる「http response」ノードを配置しています。
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?