グローブパイの温湿度センサを使ってアプリケーションを作成してみましょう。グローブパイの温湿度センサは、環境温度と湿度を測定し、それらの値から算出した熱指数(Heat Index)と共に出力します。
温湿度センサの装着
ラズベリーパイには、グローブパイボードが装着されているものとします。装着がまだの場合は、「グローブパイのラズパイへの装着」のページを参照し、正しく装着してください。グローブパイボードのコネクタに温湿度を装着します。以下の写真は、
- 温湿度センサをD4デジタル入力コネクタ
に接続した様子です。デジタル入出力コネクタ(Dn n: 2〜8)のどこに接続しても構いません。上記の接続は、 [GrovePi温湿度センサ]ノードのデフォルト設定で使用するコネクタです。
[GrovePi温湿度センサ]ノード
パレットのiaCloud devicesカテゴリーにある、[GrovePi温湿度センサ]ノードをワークスペースにドラッグストア&ドロップします。配置した[GrovePi温湿度センサ]をダブルクリックしてプロパティ編集ウインドウを開いてください。プロパティ編集ウインドウには、
- グローブパイの設定
- ia-cloudオブジェクトの設定タブ
- オブジェクトの編集
- データ項目の編集
があります。
グローブパイセンサノードの設定では、グローブパイを制御するNode-REDの設定ノードの作成(選択)と温湿度センサを接続するグローブパイの入力コネクタの選択がありますので、以下の画像を参考にして設定ください。グローブパイを制御するNode-REDの設定ノードは、複数存在するとエラーとなることがあります。一度どこかで作成したらその後全てのグローブパイセンサノードで同一のものを使うようにしてください。デジタル入力コネクタには、ボタンを接続したデジタル入力コネクタを選択します。デフォルトではD4です。
オブジェクト設定タブでは、ia-cloudオブジェクトのプロパティを設定します。オブジェクト設定は、
- 定期収集の実行周期(一定時間毎に計測距離を出力する周期。ここでは10秒。)
- 非同期収集の有無(温湿度データが変化した時にそれを出力をする設定。ここでは非選択。)
- オブジェクトキー(出力するia-cloudオブジェクトにつける固有のキー)
- オブジェクトの説明(このオブジェクトの説明)
を設定・入力します。オブジェクトキーは、データ項目の設定にあるデータ名称と一緒に、クラウド上でデータの識別に使われるキー文字列です。任意の文字列が設定できますが、「ia-cloudのデータ構造について」のページを参考に設定してください。
データ項目の設定タブでは、温度・湿度・熱指数の各データ名称と単位(熱指数にはありません)を設定しますが、全てデフォルトもままでも結構です。
- 温度
- データ名称(同じia-cloudオブジェクト内に複数のデータがある場合、それを識別する名前。デフォルトは「温度」)
- 単位(℃がデフォルトです。)
- 湿度
- データ名称(同じia-cloudオブジェクト内に複数のデータがある場合、それを識別する名前。デフォルトは「湿度」)
- 単位(%がデフォルトです。)
- 熱指数
- データ名称(同じia-cloudオブジェクト内に複数のデータがある場合、それを識別する名前。デフォルトは「熱指数」)
以下の画像に設定例を示します。この例では、全てデフォルトのままです。
[GrovePiボタン]ノードの後ろに[debug]ノードを接続るすと、距離データの出力を確認できます。デバッグウインドウのデバッグ出力は、折り畳まれています。▶︎をクリックすると(▼にかわり)で内容が展開でき、出力の状態が確認できます。
距離データのメータ表示
グローブパイ距離センサの出力をメーや表示してみましょう。まず、[GrovePi温湿度センサ]ノードの出力から、温度・湿度・熱指数の角データを取り出すため、[データ抽出]ノードを使います。[データ抽出]ノードの抽出データ名称には、先ほど[GrovePi温湿度センサ]ノードの温度データと湿度データの「データ名称」プロパティに設定したデータ名称を使用します。抽出するデータは二つになりますので、追加ボタンで抽出データを追加して設定してください。[データ抽出]ノードの出力ポートが一つ増えて二つになります。
[データ抽出]ノードは標準的なダッシュボードノードに直接メッセージを繋ぐことができます。グラフ表示をする標準のダッシュボードノードは[chart]ノードです。このノードは[dashboard]カテゴリーにありますが、探すのが大変ですので、ノードパレットの上部にある検索ウインドウに、「chart」と入力してください。すると、たくさんのノードから「chart」に関連したノードが表示されます。今回は標準のダッシュボードノードから[chart]ノード、ia-cloudのダッシュボードノードから[バーグラフ]が表示されます。標準のダッシュボードノードから[chart]ノードを使います。
[データ抽出]ノードの二つの出力ポートを両方とも[chart]ノードの入力に繋ぎます。以下の画像のように配置・接続し、プロパティ設定を行います。[chart]ノードのプロパティの詳細は、ダッシュボードの作成の入門編で学びますので、ここでは、「Legend」プロパティを。「show」にする以外すべてデフォルトのままで結構です。
「デプロイ」ボタンを押すとメータ表示がダッシュボードに現れます。ダッシュボードを表示するため、サイドバーでダッシュボードウインドウを表示し、ダッシュボード切り替えボタンを押します。
ia-cloudサービスへデータ格納
同様にia-cloud接続ノードを使い、ia-cloudサービスへのデータ格納を行います。ラズパイ CPU状態データ取得の章と同様に[ia-cloud接続]ノードを使います。ラズパイ CPU状態データ取得の章の動画を参考にしてください。[ia-cloud接続]ノードで使用する「接続先CCS」には、ラズパイ CPU状態データ取得の章で追加した設定ノード「CCS接続設定」をそのまま使用しましょう。もし既に削除していたり、最初からのフロー作成の場合は、接続先URLと、ユーザID・パスワードを設定して新しく設定ノードを作ります。また、ia-cloudサービス(CCS)にia-cloudオブジェクトを格納するデータ元を明示するため、[データソースのユニークキー]プロパティを設定する必要があります。任意の名称を指定できますが、ia-cloudサービス(CCS)の接続先URL内でユニークでなければなりません。
設定を終了後、[デプロイ]ボタンを押すと、[ia-cloud接続]ノードはia-cloudサービスへ接続要求を送り接続が確立すると、ノードのしたのステータス表示が[接続済み]に変わります。また、[GrovePi温湿度センサ]ノードからia-cloudオブジェクトが入力されるたびに、ia-cloudサービスへデータの格納を行いまう。この時、ノード下のステータス表示は、[要求中…]から[要求完了]を表示します。[ia-cloud接続]ノードの出力メッセージには、ia-cloudサービス(CCS)レスポンスメッセージが出力されるため、[debug]ノードを接続するとこれが確認できます。