• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

есть ли возможность включить ESP8266 если на gpio2 "0"

atratr

New member
возможно сильно нубский вопрос, собственно в теме 90 % вопроса, известно, что для нормальной загрузки esp8266-01 нужно что б на gpio2 был "1" в момент включения. Хотел снимать информацию с одного провода (то есть gpio2 определен как вход), на этом проводе - то ноль то один, редко меняются. Если esp8266 уже включена и этот источник сигнала подключить к gpio2, то все передается куда мне нужно и работает. Как сделать так, что если esp8266 выключена, например отключали свет, и потом она включается и на этом проводе ноль, соответственно на gpio2 - ноль и esp8266 не грузится в нормальном режиме. Как подключить провод с неизвестным сигналом на вход GPIO2 таким образом что бы esp8266 грузилась после пропадания напряжения в нормальном режиме? Или быть может можно использовать другой GPIO? но если использовать нулевой тогда esp8266 загрузится в режиме прошивки. То есть, надо как то решить вопрос, что бы источник сигнала, подключался к ESP после того как она стартанет, но без участия человека.
 

aZholtikov

Active member
Подозреваю что плата ESP-01?

Если да - вместо GPIO2 используйте GPIO1 (TX) или GPIO3 (RX). Правда вывода в Serial не будет...
 

aZholtikov

Active member
If your circuit uses TX (GPIO1) as an output and RX (GPIO3) as an input then all you need to do is not call Serial.begin( ) as this is the default setting for GPIO3.

If you need to use GPIO1 as an input or GPIO3 as an output, then you only need to call the appropriate pinMode( ) either INPUT, INPUT_PULLUP or OUTPUT. This example sketch, ESP-01S_tx_input.ino, uses pinMode(1,INPUT) to turn the Blue led on/off via GPIO2.
Remember the ESP8266 ALWAYS outputs a start up message on GPIO1, so for that short time GPIO1 is ALWAYS an output. So be sure to add a series 330R resistor between GPIO1 and whatever output is driving that input to prevent shorting things out during the startup message.

Setting GPIO3 (RX) as an OUTPUT is NOT recommended if you can avoid it because it is easy to short out when next re-programming.
Note carefully: If you are using GPIO3 (RX) as an output, add a small resistor say 330R in series to prevent accidentally shorting it out when you attach your programming leads.
 

atratr

New member
Подозреваю что плата ESP-01?

Если да - вместо GPIO2 используйте GPIO1 (TX) или GPIO3 (RX). Правда вывода в Serial не будет...
сделал gpio1 input-ом, если на нем до старта висит "ноль" то после подачи питания на ESP-01 она не стартует в нормальном режиме. Если как и с GPIO2 сначала подать питание, потом на GPIO1 надеть провод с сигналом - тогда все работает. 10 раз проверил. на Тх сигнал через резистор подключен 330 ом
 

aZholtikov

Active member
Странно... У меня на NodeMCU работает. Возможно проблемы в общей схемотехнике. Ждем помощь сообщества.
 

atratr

New member
Странно... У меня на NodeMCU работает. Возможно проблемы в общей схемотехнике. Ждем помощь сообщества.
у меня на esp-01 идет три провода: питание и сигнальный на gpio1. Может вам известно какие потенциалы принудительно надо подать на остальные незадействованные выводы колодки? Если гуглить то по сути везде должен быть "1" кроме вывода gnd и Rx, но опять же не работает если на GPIO1 "0" до подачи питания. Какие то развязки нужны.
 

atratr

New member
в общем заработало только если "входом" сделать gpio3, тогда работает после пропадания напряжения питания и его подачи, остальные gpio работают только если сначала загрузить esp-01 и только потом подключить сам вывод. Может кому поможет) Подключение так и осталось трехпроводным, на остальные выводы (5 штук) никаких потенциалов не подтягивал.
 
Сверху Снизу