--- description: Node-REDが起動したときに、フローを走らせるにはどうしたらよいのだろう? image: https://i.gyazo.com/c36258d3347f05b34eb7902409113e6e.png tags: RaspberryPi, Node-RED lang: ja-jp --- # RaspberryPiでNode-RED (起動時実行編) Node-REDが起動したときに、フローを走らせるにはどうしたらよいのだろう? ## injectノードを使う injectノードに、起動時にトリガーを発生させる設定があります。 ![](https://i.gyazo.com/c36258d3347f05b34eb7902409113e6e.png) これで、Node-REDが起動して、0.1秒後にinjectノードのトリガーが発生し、このフローが実行されます。 試しに、Node-REDが起動したときに、Mattermostに「Node-REDが起動しました!」とメッセージを送信するフローを作成しました。 ![](https://i.gyazo.com/caaef12badd2d217e1ffae25b7543439.png) ビルドすると、再起動するようですぐにMattermostにメッセージが送られました。 RaspberryPiを再起動した時にも、メッセージが送られてくることを確認しました。 ### 定期的に実行 injectノードの設定に、「繰り返し」という設定があります。 ここを設定すると、Node-REDが起動後に指定した設定で繰り返し実行ができそうです。 **繰り返し**の設定項目 - **なし** 起動したときに1回だけ実行。 - **指定した時間間隔** 指定した時間ごとに実行。 (例:1分ごと、30秒ごと、24時間ごと) - **指定した時間間隔、日時** 指定曜日の決められた時間の範囲の中で、設定時間(分)ごとに実行。 (例:月、水、金の、10:00~15:30の間に、5分毎に実行) - **指定した日時** 指定曜日の指定時間に実行。 (例:月~金の、12:05に実行) ## rpi gpio in ノードを使う RaspberryPiのGPIOの入力PINの状態変化をトリガーにする、「rpi gpio in」ノードを使うこともできそうです。 ![](https://i.gyazo.com/28cb659d585a6f86a5b1414e1f3a4241.png) 「Read initial state of pin on deploy/restart?」にチェックを入れると、Node-RED起動時に、指定のGPIOピンを読み込みトリガーが発生します。 前述の、injectノードより早く実行されるようです。 injectノードは、起動後0.1秒後に実行するように設定してあったためかもしれません。