2

モードの助けを借りてループするコードがありdsleepます。dsleep終了するたびに、init.luaがロードされ、何かを実行してスリープ状態に戻ります。

ここで、リセット ピンをトリガーするボタンを ESP8266 に実装したいと考えています。プッシュすると、システムが「セットアップ モード」に入り、AP がセットアップを実行できるようになります (コードのその部分は問題ありません)。

私の問題は次のとおりです。現在の init が手動でトリガーされた (その後、セットアップ モードに移行する) か、または通常の再起動によってトリガーされたかを確認するにはどうすればよいdsleepですか?

これを行うには2つの方法があるはずだと思います:

  1. プログラムで:何らかの方法で、gpio15 トリガーによって変更されたメタグローバル変数をdsleep...の最後に保存します。
  2. 電子的に:リセットボタンを押したときに1つのピンの状態を変更するために何かをハックする

何かアドバイス?

4

3 に答える 3

2

ESP.getResetInfoPtr()を使用したArduino IDEで(ハックなしで)可能であることを私は知っています。男はここでそれを使用しました

nodemcuファームウェアで有効になっているとは思いません。

于 2015-11-14T17:58:38.337 に答える
1

関数を使用して、再起動の理由を取得できnode.bootreason()ます。

code, reasonサンプル コードは次のとおりです (追加情報が必要ない場合は、後の変数を省略できます。

code, reason, exccause, epc1, epc2, epc3, excvaddr, depc = node.bootreason()
于 2016-01-30T21:12:20.557 に答える