グローブパイの超音波距離センサーを使ってアプリケーションを作成してみましょう。グローブパイの超音波距離センサは、超音波がワーク(対象物)に反射し戻ってくるまでの時間を測定し、それを距離に換算して出力します。

超音波距離センサの装着

ラズベリーパイには、グローブパイボードが装着されているものとします。装着がまだの場合は、「グローブパイのラズパイへの装着」のページを参照し、正しく装着してください。グローブパイボードのコネクタに超音波距離センサーを装着します。以下の写真は、

  • 超音波距離センサをD2デジタル入力コネクタ

に接続した様子です。デジタル入出力コネクタ(Dn n: 2〜8)のどこに接続しても構いません。上記の接続は、 [GrovePi距離センサ]ノードのデフォルト設定で使用するコネクタです。

[GrovePi距離センサ]ノード

パレットのiaCloud devicesカテゴリーにある、[GrovePi距離センサ]ノードをワークスペースにドラッグストア&ドロップします。配置した[GrovePi距離センサ]をダブルクリックしてプロパティ編集ウインドウを開いてください。プロパティ編集ウインドウには、

  • グローブパイの設定
  • ia-cloudオブジェクトの設定タブ
    • オブジェクトの編集
    • データ項目の編集

があります。

グローブパイセンサノードの設定では、グローブパイを制御するNode-REDの設定ノードの作成(選択)と超音波距離センサを接続するグローブパイの入力コネクタの選択がありますので、以下の画像を参考にして設定ください。グローブパイを制御するNode-REDの設定ノードは、複数存在するとエラーとなることがあります。一度どこかで作成したらその後全てのグローブパイセンサノードで同一のものを使うようにしてください。デジタル入力コネクタには、ボタンを接続したデジタル入力コネクタを選択します。デフォルトではD2です。

オブジェクト設定タブでは、ia-cloudオブジェクトのプロパティを設定します。オブジェクト設定は、

  • 定期収集の実行周期(一定時間毎に計測距離を出力する周期。ここでは10秒。)
  • 非同期収集の有無(計測距離が変化した時にそれを出力をする設定。ここでは非選択。)
  • オブジェクトキー(出力するia-cloudオブジェクトにつける固有のキー)
  • オブジェクトの説明(このオブジェクトの説明)

を設定・入力します。オブジェクトキーは、データ項目の設定にあるデータ名称と一緒に、クラウド上でデータの識別に使われるキー文字列です。任意の文字列が設定できますが、「ia-cloudのデータ構造について」のページを参考に設定してください。

データ項目の設定タブでは、計測距離データを出力する際のデータ名称と単位を設定します。

  • データ名称(同じia-cloudオブジェクト内に複数のデータがある場合、それを識別する名前)
  • 単位(計測したデータの単位。この距離センサは計測値をcmで出力するため、デフォルトでcmが設定されます。)
  • 上下限値の制限(計測データの範囲を制限します。)
    • 下限値
    • 上限値

以下の画像に設定例を示します。この例では、50cm以上の計測値を制限をつけ50cmとして出力します。

[GrovePiボタン]ノードの後ろに[debug]ノードを接続るすと、距離データの出力を確認できます。デバッグウインドウのデバッグ出力は、折り畳まれています。▶︎をクリックすると(▼にかわり)で内容が展開でき、出力の状態が確認できます。

距離データのメータ表示

グローブパイ距離センサの出力をメーや表示してみましょう。まず、[GrovePi距離センサ]ノードの出力から、距離データを取り出すため、[データ抽出]ノードを使います。[データ抽出]ノードの抽出データ名称には、先ほど[GrovePi距離センサ]ノードの「データ名称」プロパティに設定した、「距離計測値」を使用します。

[データ抽出]ノードは標準的なダッシュボードノードに直接メッセージを繋ぐことができます。メータ表示をする標準のダッシュボードノードは[gauge]ノードです。このノードは[dashboard]カテゴリーにありますが、探すのが大変ですので、ノードパレットの上部にある検索ウインドウに、「gau」と入力してください。すると、たくさんのノードから「gau」に関連したノードが表示されます。今回は標準のダッシュボードノードから[gauge]ノードと、ia-cloudのダッシュボードノードから[バーグラフ]が表示されます。標準のダッシュボードノードから[gauge]ノードを使います。以下の画像のように配置・接続し、プロパティ設定を行います。[gauge]ノードのプロパティの詳細は、ダッシュボードの作成の入門編で学びますので、ここでは「Range」の「max」値を、「50」に設定する以外は、デフォルトのままで結構です。

「デプロイ」ボタンを押すとメータ表示がダッシュボードに現れます。ダッシュボードを表示するため、サイドバーでダッシュボードウインドウを表示し、ダッシュボード切り替えボタンを押します。

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]ノードを接続するとこれが確認できます。