web-dev-qa-db-ja.com

継続的なリセットなしでesp8266を深い睡眠から目覚めさせる方法

Esp8266を使用してIRからwifiへのブリッジを構築しています。基本的に、私はIRリモコン内のesp8266に接続されたIRレシーバーを構築して、受信したIRリモートキーをwifi経由でサーバーに転送します。 Wemos D1Miniを使用しています。

私はすでにIRデコードとネットワーク転送の部分を機能させていますが、常にオンになっているため、特に99%の時間、ボタンが押されていないことを考えると、多くのバッテリーを使用します。

一定時間ボタンを押さないとぐっすり眠って欲しいです。

IRレシーバーをRSTピンに接続すると、espが深いスリープからウェイクアップする可能性がありますが、問題は、IRが入り続けると、espが何度もリセットされ続け、espが使用できなくなることです。継続的にリセットされているため、実際にIRコマンドをデコードします。

RSTを介してespをディープスリープからウェイクアップするために必要ですが、プログラムで再びディープスリープに送信するまで、それ以上のRSTアクティベーションを無視します。

私が本当に必要としているのは、ディープスリープに入るまでそれ以上のリセットを無視できるように適切なgpio割り込みですが、AFAIKesp8266はディープスリープからのgpio割り込みウェイクをサポートしていません。

もう一度スリープすることを通知するまで、リセットを1回だけ発行するには、ある種のリセット可能なワンショットトリガーが必要です。

これをどのように実装できるかわかりませんか?誰かアイデアはありますか? esp8266をリセットするためだけに別の外部マイクロコントローラーを使用する必要はなく、リモコン内部のスペースも狭いため、多くの外部部品を使用する必要はありません。

4
localhost

電子機器スタックに関するこの投稿 いくつかの追加パーツを使用してワンショットボタンを実行する方法について説明します。ただし、スペース的には、別のマイクロコントローラーを使用するよりも大きくなるため、OPはMCUを使用することにしました。マイクロは、追加の部品を最小限に抑え、スペースを最小限に抑えます。

1
leetibbett