rst cause:2
означает, что процессор перезагружен из-за «Внешнего сброса или пробуждения из глубокого сна»
Если загружаемый код использует глубокий сон или если у вас есть что-либо, подключенное к ESP8266сбросить штифт, это будет первое место для поиска проблем.Возможно, линия сброса неожиданно удерживается на низком уровне.
Если нет, другой вероятной причиной является питание.ESP8266 может иногда потреблять удивительное количество тока и может вызвать падение напряжения, если блок питания не может справиться с этим.Это может привести к ошибочным сбоям, которые при перезапуске выдаются как * 1006. *
Если у вас есть оборудование для контроля напряжения и тока после обновления, я бы попробовал это - вы можете увидеть всплеск наток или провал напряжения.
Если нет, вы можете подключить его к источнику питания с более высоким током, например, к регулируемому источнику питания - попробуйте использовать напряжение не менее 3,3 В, 500 мА - вам может потребоваться больший ток в зависимости отна другом оборудовании, которое имеется в вашей схеме.
Также возможно, что добавление большого конденсатора (возможно, 470 мкФ или что-то подобное) между VCC и GND может сгладить питание, если это проблема.Я также видел предложения о дополнительном добавлении развязывающего конденсатора 0,1 мкФ к VCC и GND, максимально приближенному к ESP8266.
Еще одна возможность, другая - в ESP8266 есть ошибка, которая вызывает обновления OTA длясбой после последовательного обновления прошивки.Выполнение аппаратного сброса после последовательного обновления устраняет проблему.Я не думаю, что вы увидите rst cause:2
из-за этой проблемы, но есть небольшой шанс, что это вызывает у вас горе.Вы можете прочитать больше об этом в https://github.com/esp8266/Arduino/issues/2478
Вы можете найти больше информации о причинах сброса в ESP8266 Причины сброса и Распространенные причины фатальных исключений .