RTOS体験シリーズ ⑧監視タスクと強制停止 今回は、ESP32とRTOSを使って、「Queueによるタスク間通信」 を実際に体験します。前回は、Queueを使ってInputTaskからFadeTaskへ命令を渡し、タスク同士を疎結合につなぐ構造を体験しました。今回は、その構造にMonitorTaskを追加し、FadeTaskが正常に動き続けているかをHeartbeat(生存確認)で監視します。そして、一定時間Heartbeatの更新が止まった場合は異常と判断し、LED制御を安全側へ停止させるフェイルセーフの基本構造を作っていきます。 この動画のポイント・MonitorTaskを使った監視処理の基本・Heartbeatによるタスクの生存確認・異常検知から強制停止までの流れ・強制停止中は解除コマンド以外を無視する考え方・Queueと共有状態の役割の違い・RTOSで安全に止めるための設計の入口RTOSでは、タスクを動かすことだけでなく、タスクが止まったときにどう検知し、どう安全に止めるかも重要になります。今回は、監視専用のタスクを追加し、異常を検知して強制停止する流れを、実際のコードと動作確認を通して体験していきます。 サンプルプログラム サンプルプログラムをダウンロードしてください。 ダウンロード 参考サイト・文献など ◆VSCodeのドキュメントhttps://code.visualstudio.com/docs◆ESP32-WROOM-32https://documentation.espressif.com/esp32-wroom-32_datasheet_en.pdf◆前回動画⑦Queueによるタスク間通信 https://youtu.be/FUZEBY7qwKE※これらの公式サイトは予告なく変更される場合があります。ご了承ください。