• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

На ESP-01s не запускается скетч (из COM4 ничего не видно)

iGureev

New member
Имеется ESP-01S в паре с DHT22 (брал для мониторинга погоды за бортом и дома для narodmon.ru) :
Wifi-ESP8266-DHT11-DHT22.jpg_640x640.png
и готовый программатор на основе CH340G :
USB-3-3-ESP8266-Wi-Fi-CH340G-USB-TTL.pngUSB-3-3-ESP8266-Wi-Fi-CH340G-USB-TTL (1).png

Подключил ESP-01S к программатору, установил под 7ку дровишки на программатор и подключил к компу.
Arduino IDE 1.8.15 увидела COM4, но ничего с него я так и не увидел (перебрал 9600, 57600, 115200, 256000, 921600).

Подружил IDE с esp8266: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Для установки выбрал esp8266 Community версии 2.5.0
Программатор не определяется, но скетч заливается со следующим настройками:
Безымянный 3.png
Попытался залить скетч (на скрине показана удачная сборка, перед загрузкой):
Безымянный 4.png
Но светодиод не замигал.
Скачал рекомендованную прошивку ESP-01s: https://wiki.aprbrother.com/en/Firmware_For_ESP8266.html#v1-1-1 (файл ai-thinker-0.9.5.2.bin)
Залил с помощью Nodemcu Firmware Programmer (NFP) с настройками:
  • Baudrate: 115200
  • Flash size: 1MByte
  • Flash speed: 40 MHz
  • SPI Mode: DIO
Ничего не изменилось - в COM4 ничего не вижу, скетч залитый через Arduino IDE или NFP не отрабатывает - светодиод не мигает.

Подскажите, что я делаю не так?
 

iGureev

New member
Хм, вчера пробовал, но с последней версией SDK 3.0.2 - не завелось :(
А сегодня, с указанной в посте версией 2.5.0 и указанными параметрами светодиод замигал! 🤪 Ура!
Безымянный 5.png
А я уже стал думать, что или плата бракованная или я её своими экспериментами спалил...
Спасибо!

Теперь попробую прошить скетч сбора данных для народного мониторинга.
Кстати, правильно ли у меня указаны параметры на скриншоте?
И как увидеть вывод в serial порт, если это возможно через указанный программатор (нужно переключатель ставить в uart или prog)?

Какую версию SDK лучше использовать?
 

esp340

Active member
И как увидеть вывод в serial порт, если это возможно через указанный программатор (нужно переключатель ставить в uart или prog)?
Чтобы что-то увидеть - нужно сначала что-то отправить. Без этого модуль плюется только при старте отладочной информацией на скорости 74880. И все.
Кстати, правильно ли у меня указаны параметры на скриншоте?
Можно и так, но лучше "no SPIFFS", если вам, конечно, не нужна файловая система.
Какую версию SDK лучше использовать?
Пользуюсь 2.7.4. Не жалуюсь. С 3-й были проблемы, пока не спешу переходить.
 

iGureev

New member
Прошил ESP-01s с датчиком DHT22 - данные в narodmon пошли. :)(y)
Хотя температура выше, чем у других датчиков в городе - не понятно в чем причина: то потому что коробка в датчиком на улице плохо вентилируется, то потому что он висит сразу за окном балкона, где, возможно, нагревается.

Ну и в Serial я так ничего не вижу...
Иногда через какое-то время данные начинают идти, когда программатор в режиме UART, но почему не всегда, и не с самого начала, а через рандомную задержку - непонятно :(
 

iGureev

New member
Что бы не плодить темы, спрошу здесь)

Как я уже сказал, у меня имеется ESP-01s + DHT22.
Кроме того, у меня имеются (с интерфейсом I2C):
  • PCF8563 Real Time Clock RTC
  • RadSens (от climateguard)
И где-то валяются (с интерфейсом UART):
  • Nova PM SDS011 (датчик пыли)
  • CO2 MH-Z19B
В описании ESP-01s сказано, что он поддерживает оба эти интерфейса - I2C и UART, помимо собственного протокола DHT22...
Но контактов как-то маловато на платы, а с пайкой я пока дела не имел что бы лесть сразу к такому мелкому чипу ((

Подскажите что из перечисленного можно подключить одновременно с DHT22 и как это может выглядеть, хотя бы для макетки?
Просто я не понимаю, как переключаться между протоколами для последовательной работы со всеми датчиками...
 

iGureev

New member
Подключить DHT22 одновременно RadSense мне ещё удалось, и даже прицепить DS18B20 на оставшийся свободный пин, аналогично схеме:
esp_sensors2.jpg и есть надежда, что и такая схема заведется: 7c0f0ae4a1f3b59fcb736389e56a8160.png

Правда как прицепить больше устройств на I2C я не понял из схемы:
2014110111B_.jpg
Просто непонятно, что там делает конденсатор...
Да и если у RadSense есть подтяжка pull-up, то нужно ли её делать для устройств у которых её нет, или хватит той что у RadSense?..

А вот UART видимо в этом случае становится недоступен - не нашел способа как отключить устройства, что бы достучаться до UART...
Пинов выведено слишком мало, а подлазить с паяльником к такому мелкому чипу я не рискну ((
Нужен либо второй ESP-01, либо ESP-03/07 - которых у меня нет, но видимо придётся взять.

Помимо того как подключить больше устройство к I2C (я про необходимость pull-up) остался актуальным вопрос нормальной отладки через Serial...
Если я подключу устройства как показано на этих схемах, то уже в любом случае не смогу читать из serial, верно?
А вообще как мне с данной платы получить вывод serial, имея указанный в первом посте программатор?
 

iGureev

New member
Да, замечательная штука) Но когда она ещё с алика приедет, а хочется уже сейчас.
И есть спортивный интерес на самом маленьком из ESP что-то хорошее сделать, а не только проектики на час собирать.

PS Неужели ни кто не пользовался тем же программатором? Или у всех Serial порт работает без дополнительных телодвижений?
 

iGureev

New member
Заливаться заливается, но как я не пытался увидеть вывод Serial - он начинает ловить в Arduino IDE только спустя несколько секунд, а то и вообще не принимается, и я не могу понять причину.
 

esp340

Active member
вывод Serial - он начинает ловить в Arduino IDE только спустя несколько секунд, а то и вообще не принимается, и я не могу понять причину.
Чтобы понять причину - неплохо было увидеть ваш скетч. А то, знаете ли, хрустальные шары сдали на техобслуживание, к зиме готовимся.
 

iGureev

New member
Да простейший же скетч не работает:
int count = 0;

void setup() {
Serial.begin( 9600 );
while ( !Serial ) {}

Serial.println( "start" );
}

void loop() {
Serial.println( "loop " + String( ++count ) );
}

Я ничего не вижу в мониторе порта, пока не изменю скорость - тогда вывод появляется... в начале мусор, т.к. скорость не та, а после выбора правильной скорости идут данные
Но это уже loop, а из setup я, получается, не вижу вывода совсем...

У меня есть сенсор SDS011 с uard интерфейсом - с него так же не получается считать данные, а если подключить к компу или Arduino Nano v3 то данные считываются...
Пробовал на разные ESP-01s - результат один, глюк с мониторингом порта и невозможность считать данные с сенсора.
 

esp340

Active member
ничего не вижу в мониторе порта, пока не изменю скорость - тогда вывод появляется... в начале мусор, т.к. скорость не та,
т.е. вы открываете arduino ide, запускаете монитор порта с выбранной скоростью 9600, подключаете ESP, жмете reset и у вас постоянно идут кракозябры пока вы еще раз не переключите скорость в мониторе, я правильно понял?
из setup я, получается, не вижу вывода совсем...
а чего вы ждете из setup кроме "start"?
И зачем у вас прописана строка ?
while ( !Serial ) {}
 

iGureev

New member
т.е. вы открываете arduino ide, запускаете монитор порта с выбранной скоростью 9600, подключаете ESP, жмете reset и у вас постоянно идут кракозябры пока вы еще раз не переключите скорость в мониторе, я правильно понял?
На программаторе нет кнопки reset, как и на ESP-01 - поэтому, я переключаю программатор в режим UART и перевтыкаю его в USB, вместо reset.
Если можно обойтись без этого, то подскажите как?
Кроме ESP-01 у меня есть Arduino Nano v3 и Arduino Uno, но с ними я ещё не игрался, так как только на этих выходных пришли посылки.

а чего вы ждете из setup кроме "start"?
В данном скетче этот код для теста, а в дальнейшем мне хотелось бы использовать это для отладки.

И зачем у вас прописана строка ?
while ( !Serial ) {}
Где-то на форуме так советовали ждать подключения по Serial, т.е. подключение клиента для считывания из Serial.
Я уже много чего перепробовал, что бы нормально что-то увидеть из setup, даже такие бредовые предложения - пока всё грустно.
 

esp340

Active member
нет кнопки reset, как и на ESP-01
reset выведен на разъем модуля. Подпаяйте туда кнопку или просто проводок и замыкайте его на gnd после перевода адаптера в режим uart.
Ну, или просто сначала подключаете адаптер без вставленного esp, запускаете монитор, а потом вставляете еспэшку
 

esp340

Active member
Вариант №2
нет кнопки reset, как и на ESP-01
у вас на первом фото модуль с dht22 на котором есть кнопка reset. Берете 3 проводка, припаиваете их к Rx, Tx, GND и после прошивки собираете бутерброд, эти проводки втыкаете в соответствующие гнезда на разъеме переходника usb-uart. И у вас уже есть кнопка.
 

CodeNameHawk

Moderator
Команда форума
Попробуйте поправить так:
Код:
void setup() {
Serial.begin( 115200 );
while ( !Serial );

Serial.println( "start" );
}
и не забудьте выставить частоту 115200, это не обязательно, но есп на ней нормально работает.
 

esp340

Active member
Попробуйте поправить так:
думаю что дело не в скорости, а в адаптере. Точнее его переключателе режима - прошивка/uart. Еще в arduino ide есть такая особенность что если закрыть/открыть окно монитора порта, модуль уходит в сброс(по крайней мере ардуино точно, за есп не скажу, не помню). И когда ТС переключает скорость(или что он там делает) модуль перезагружается и начинает уже нормально работать.
 

CodeNameHawk

Moderator
Команда форума
думаю что дело не в скорости, а в адаптере
Для начала нужен скетч без ошибок. После while ( !Serial ) {} нет ;

В ардуино так работает.
Запускается монитор порта, выставляется нужная скорость.
Не закрывая монитор, заливается скетч.

Но проще поставить прогу HTERM, в ней есть кнопка Rst, которая делает ресет есп и не надо ничего паять.
 
Сверху Снизу