エージェント実行環境でのフローの実行
このチュートリアルでは「Raspberry PiのCPU温度が規定値を越えたらメール通知を行うフローを作成し、デバイスにデプロイする」ということを実施します。(所要時間30分)
Table of Contents
事前準備
- メール送信を行うため、googleアカウントを用意してください。
- アカウント→セキュリティ→アプリパスワードからアプリパスワードを発行します。
- 発行されたアプリパスワードはフロー作成時に使用します。
アプリパスワードの発行について、詳細な手順についてはenebular blog メール・ノードを使おうをご参照ください。
フローの完成図
最終的に完成するフローは以下の図の通りです。
デバイス温度取得と値の判定
まずはinjectノード、execノードをエディターにドラッグ&ドロップします。execノードをダブルクリックしてプロパティを開き、コマンド欄に vcgencmd measure_temp
と入力します。execノードは機能カテゴリのノードです。
injectノードのプロパティを開き、自動繰り返し機能をONにします。繰り返し
欄右側のドロップダウンリストから指定した時間間隔
を選択してください。繰り返しの時間間隔は、秒・分・時間の3つの単位から選んで設定できます。
CPU温度は temp=○.○'C
の文字列で取得されるため、changeノードを用いて余分な文字を取り除きます。changeノードをexecノードから繋げ、changeノードのプロパティを開き、以下の手順で編集してください。
- ドロップダウンリストから
値の置換
を選びます。 - 検索する文字列のセルに
temp=
と入力します。置換後の文字列セルは空欄のままにします。 追加
ボタンをクリックし、ルールを追加します。- ルールを追加できたら、同様に
値の置換
を選び、'C
を検索する文字列に設定します。これでpayloadに入る値が数字のみになりました。
続いて温度が規定値を超えたかを判定するため、changeノードからswitchノードを繋げます。
switchノードのプロパティを開き、ドロップダウンリストから>=
を選択し、入力欄には 43.0
を入力します。payloadに入った値が43℃以上になった時、このswitchノードに繋がる処理が実行されます。
続いてメール送信時の文面を設定するため、switchノードにchangeノードを繋ぎます。
メール送信設定
メールの文面に使われるのはpayloadの値です。changeノードのプロパティでpayloadの値を変更できます。「CPU温度が43℃を超えました」と入力しましょう。
文面を設定できたら、changeノードにemailノードを繋ぎます。emailノードは ソーシャル
カテゴリに格納されています。
emailノードのプロパティを開き、送信設定を行います。
送信先
、ユーザID
には自分のgmailアドレスを、パスワード
には発行したアプリパスワードを入力します。これでフローの完成です。
デバイスへのフローのデプロイと実行
プロジェクトメニューから エージェント実行環境
を開き、画面右の デプロイ
ボタンを押下します。
先ほど作成したフローを選択し、デプロイボタンを押下します。
デプロイが成功すると、 デプロイ履歴
にデプロイの状態が表示されます。
フローのデプロイが成功すると、エージェント実行環境でフローの実行が開始します。
CPU温度が43℃以上になるとメールが送信されるので、フローがメール送信に成功しているか、メールボックスを確認してください。
Well Done!
デバイスにフローをデプロイし、動作させることができるようになりました。
開発のヒント
PC上でフローの編集やデプロイを実施するソフトウェアであるenebular editorを用いると、ネットワークで接続したデバイス上のフローを直接編集できます。詳細はenebular editorをご覧ください。