エージェント実行環境でのフローの実行

このチュートリアルでは「Raspberry PiのCPU温度が規定値を越えたらメール通知を行うフローを作成し、デバイスにデプロイする」ということを実施します。(所要時間30分)

Table of Contents

  1. 事前準備
  2. フローの完成図
  3. デバイス温度取得と値の判定
  4. メール送信設定
  5. デバイスへのフローのデプロイと実行
  6. 開発のヒント

事前準備

  1. メール送信を行うため、googleアカウントを用意してください。
  2. アカウント→セキュリティ→アプリパスワードからアプリパスワードを発行します。
  3. 発行されたアプリパスワードはフロー作成時に使用します。

アプリパスワードの発行について、詳細な手順についてはenebular blog メール・ノードを使おうをご参照ください。

フローの完成図

最終的に完成するフローは以下の図の通りです。 completeFlow

デバイス温度取得と値の判定

まずはinjectノード、execノードをエディターにドラッグ&ドロップします。execノードをダブルクリックしてプロパティを開き、コマンド欄に vcgencmd measure_temp と入力します。execノードは機能カテゴリのノードです。

commandInput

injectノードのプロパティを開き、自動繰り返し機能をONにします。繰り返し欄右側のドロップダウンリストから指定した時間間隔を選択してください。繰り返しの時間間隔は、秒・分・時間の3つの単位から選んで設定できます。

repetition

CPU温度は temp=○.○'C の文字列で取得されるため、changeノードを用いて余分な文字を取り除きます。changeノードをexecノードから繋げ、changeノードのプロパティを開き、以下の手順で編集してください。

  1. ドロップダウンリストから 値の置換 を選びます。
  2. 検索する文字列のセルに temp= と入力します。置換後の文字列セルは空欄のままにします。
  3. 追加 ボタンをクリックし、ルールを追加します。
  4. ルールを追加できたら、同様に 値の置換 を選び、 'C を検索する文字列に設定します。これでpayloadに入る値が数字のみになりました。

changePayload

続いて温度が規定値を超えたかを判定するため、changeノードからswitchノードを繋げます。

switchByTemp

switchノードのプロパティを開き、ドロップダウンリストから>=を選択し、入力欄には 43.0 を入力します。payloadに入った値が43℃以上になった時、このswitchノードに繋がる処理が実行されます。 続いてメール送信時の文面を設定するため、switchノードにchangeノードを繋ぎます。

emailText

メール送信設定

メールの文面に使われるのはpayloadの値です。changeノードのプロパティでpayloadの値を変更できます。「CPU温度が43℃を超えました」と入力しましょう。 文面を設定できたら、changeノードにemailノードを繋ぎます。emailノードは ソーシャル カテゴリに格納されています。

emailNode

emailノードのプロパティを開き、送信設定を行います。 emailSetting

送信先ユーザID には自分のgmailアドレスを、パスワード には発行したアプリパスワードを入力します。これでフローの完成です。

デバイスへのフローのデプロイと実行

プロジェクトメニューから エージェント実行環境 を開き、画面右の デプロイ ボタンを押下します。

deployMenu

先ほど作成したフローを選択し、デプロイボタンを押下します。

deployFlow

デプロイが成功すると、 デプロイ履歴 にデプロイの状態が表示されます。

フローのデプロイが成功すると、エージェント実行環境でフローの実行が開始します。

deployComplete

CPU温度が43℃以上になるとメールが送信されるので、フローがメール送信に成功しているか、メールボックスを確認してください。

Well Done!

デバイスにフローをデプロイし、動作させることができるようになりました。

開発のヒント

PC上でフローの編集やデプロイを実施するソフトウェアであるenebular editorを用いると、ネットワークで接続したデバイス上のフローを直接編集できます。詳細はenebular editorをご覧ください。

results matching ""

    No results matching ""